|
@@ -19,6 +19,7 @@ import com.google.gson.Gson
|
|
|
import com.wdkl.app.ncs.conversion_box.BuildConfig
|
|
|
import com.wdkl.app.ncs.conversion_box.R
|
|
|
import com.wdkl.app.ncs.conversion_box.bean.CallingItem
|
|
|
+import com.wdkl.app.ncs.conversion_box.bean.EventBean
|
|
|
import com.wdkl.app.ncs.conversion_box.bean.KeyFunc
|
|
|
import com.wdkl.app.ncs.conversion_box.bean.SosItem
|
|
|
import com.wdkl.app.ncs.conversion_box.databinding.MainActivityLayoutBinding
|
|
@@ -152,6 +153,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
private val keyFuncList = ArrayList<KeyFunc>()
|
|
|
private val nursingMap = HashMap<String, Int>()
|
|
|
+ private val eventList = ArrayList<EventBean>()
|
|
|
|
|
|
override fun getLayId(): Int {
|
|
|
return R.layout.main_activity_layout
|
|
@@ -1064,7 +1066,6 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
//进入护理
|
|
|
val nurseMac = addr.toUpperCase(Locale.ROOT)
|
|
|
- Log.e(TAG,"nursing map size: " + nursingMap.size)
|
|
|
nursingMap.put(nurseMac, -1)
|
|
|
sendNursing(addr)
|
|
|
}
|
|
@@ -1102,9 +1103,25 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
//清除所有事件
|
|
|
//退出护理
|
|
|
val mac = addr.toUpperCase(Locale.ROOT)
|
|
|
- if (nursingMap.containsKey(mac)) {
|
|
|
- nursingMap.remove(mac)
|
|
|
+ Log.e(TAG,"nursing map size: " + nursingMap.size + ", " + mac)
|
|
|
+ if (nursingMap.size > 0 && nursingMap.containsKey(mac)) {
|
|
|
sendNursingEnd(addr)
|
|
|
+ nursingMap.remove(mac)
|
|
|
+ }
|
|
|
+
|
|
|
+ Log.e(TAG,"event list size: " + eventList.size + ", " + mac)
|
|
|
+ if (eventList.size > 0) {
|
|
|
+ val iterator = eventList.iterator()
|
|
|
+ while (iterator.hasNext()) {
|
|
|
+ val it = iterator.next()
|
|
|
+ Log.e(TAG, "mac: " + it.mac + ", interactionDO: " + it.interactionVO)
|
|
|
+ if (addr.equals(it.mac, true) && it.interactionVO != null) {
|
|
|
+ val tcpModel = EventUtil.cancelEvent(it.interactionVO)
|
|
|
+ TcpClient.getInstance().sendMsg(tcpModel.toJson())
|
|
|
+
|
|
|
+ iterator.remove()
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1251,7 +1268,20 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
for (frameDevice in FrameHelper.frameDeviceList) {
|
|
|
if (frameDevice.device != null && uart.equals(frameDevice.device.ethMac, true)) {
|
|
|
val tcpModel = EventUtil.eventKeyClick(frameDevice.device.id, id)
|
|
|
- TcpClient.getInstance().sendTcp(tcpModel, false, null)
|
|
|
+ val transaction: TcpCallback = object : TcpCallback(tcpModel.tid, uart) {
|
|
|
+ override fun onSuccess(jsonObject: JSONObject, tcpModel: TcpModel) {
|
|
|
+ //事件发送成功,记录该事件数据
|
|
|
+ val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
|
+ val eventBean = EventBean(mac, interactionVO)
|
|
|
+ eventList.add(eventBean)
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onFailed(jsonObject: JSONObject) {
|
|
|
+ //
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ TcpClient.getInstance().sendTcp(tcpModel, false, transaction)
|
|
|
|
|
|
break
|
|
|
}
|
|
@@ -1293,7 +1323,10 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
val tcpModel = VoiceUtil.voiceCall(curDeviceId, RoleTypeEnum.NURSE.name)
|
|
|
val transaction: TcpCallback = object : TcpCallback(tcpModel.tid, uart) {
|
|
|
- override fun onSuccess(jsonObject: JSONObject) {
|
|
|
+ override fun onSuccess(
|
|
|
+ jsonObject: JSONObject,
|
|
|
+ tcpModel: TcpModel
|
|
|
+ ) {
|
|
|
if (Constant.CALL_STATE == Constant.CALL_STANDBY) {
|
|
|
Constant.CALL_STATE = Constant.CALL_OUTGOING
|
|
|
}
|
|
@@ -1378,7 +1411,10 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
val tcpModel = BlueCodeUtil.BlueCodeCall(frameDevice.device.id, frameDevice.frame.fullName)
|
|
|
val transaction: TcpCallback = object : TcpCallback(tcpModel.tid, uart) {
|
|
|
- override fun onSuccess(jsonObject: JSONObject) {
|
|
|
+ override fun onSuccess(
|
|
|
+ jsonObject: JSONObject,
|
|
|
+ tcpModel: TcpModel
|
|
|
+ ) {
|
|
|
//开启门灯
|
|
|
Log.d(TAG, "blue code call success, mac: $mac")
|
|
|
/*val doorAddr = getDoorLightAddrBySos(mac)
|
|
@@ -1401,7 +1437,10 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
val tcpModel = OtherUtil.SOSCall(frameDevice.device.id, 0)
|
|
|
val transaction: TcpCallback = object : TcpCallback(tcpModel.tid, uart) {
|
|
|
- override fun onSuccess(jsonObject: JSONObject) {
|
|
|
+ override fun onSuccess(
|
|
|
+ jsonObject: JSONObject,
|
|
|
+ tcpModel: TcpModel
|
|
|
+ ) {
|
|
|
//开启门灯
|
|
|
Log.d(TAG, "sos call success, mac: $mac")
|
|
|
val doorAddr = getDoorLightAddrBySos(mac)
|
|
@@ -2039,7 +2078,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
} else if (tcpModel.type == TcpType.SIDE) {
|
|
|
if (tcpModel.action == TcpAction.SideAction.NURSING) {
|
|
|
val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
|
- nursingMap.set(interactionVO.fromEthMac.toUpperCase(Locale.ROOT), interactionVO.id)
|
|
|
+ nursingMap.set(interactionVO.fromEthIp.toUpperCase(Locale.ROOT), interactionVO.id)
|
|
|
} else {
|
|
|
//门灯控制
|
|
|
controlDoorLight(tcpModel)
|