|
@@ -116,6 +116,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
private var sosList = ArrayList<SosItem>()
|
|
|
private var outCallList = ArrayList<String>()
|
|
|
+ private var nursingRooms = ArrayList<String>()
|
|
|
|
|
|
private var serverIp = ""
|
|
|
|
|
@@ -884,6 +885,15 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ "Q" -> {
|
|
|
+ //签到指令,类似护理功能
|
|
|
+ if (Constant.nursingSign) {
|
|
|
+ //SerialPortHelper.receivedQCheck(addr)
|
|
|
+ //如果该房间不在护理中则将门灯置为护理状态,否则退出护理状态并熄灭门灯
|
|
|
+ checkNursingRoom(addr)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
} else {
|
|
|
//这里实际上是执行了“E”指令
|
|
@@ -1031,6 +1041,24 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private fun checkNursingRoom(addr: String) {
|
|
|
+ //通过分机地址查找该房间的门灯设备
|
|
|
+ val doorLightAddr = getDoorLightAddr(addr)
|
|
|
+ if (nursingRooms.contains(doorLightAddr)) {
|
|
|
+ //关闭该门灯
|
|
|
+ if (!TextUtils.isEmpty(doorLightAddr)) {
|
|
|
+ SerialPortHelper.closeDoorLight(doorLightAddr)
|
|
|
+ nursingRooms.remove(doorLightAddr)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //点亮门灯
|
|
|
+ if (!TextUtils.isEmpty(doorLightAddr)) {
|
|
|
+ SerialPortHelper.openDoorLightGreen(doorLightAddr)
|
|
|
+ nursingRooms.add(doorLightAddr!!)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
//创建会话
|
|
|
/*private fun startSipCall(targetId: String): Boolean {
|
|
@@ -1137,7 +1165,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
if (TcpAction.SideAction.SOS_CALL == tcpModel.action) {
|
|
|
SerialPortHelper.openDoorLightRed(frameDevice.device.ethMac)
|
|
|
} else {
|
|
|
- if (Constant.colorLight) {
|
|
|
+ if (Constant.colorLight && !Constant.nursingSign) {
|
|
|
SerialPortHelper.openDoorLightGreen(frameDevice.device.ethMac)
|
|
|
} else {
|
|
|
SerialPortHelper.openDoorLightRed(frameDevice.device.ethMac)
|
|
@@ -1371,7 +1399,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
//开启门灯
|
|
|
val doorAddr = getDoorLightAddr(interactionVO.fromEthMac.toUpperCase(Locale.ROOT))
|
|
|
if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
- if (Constant.colorLight) {
|
|
|
+ if (Constant.colorLight && !Constant.nursingSign) {
|
|
|
SerialPortHelper.openDoorLightGreen(doorAddr)
|
|
|
} else {
|
|
|
SerialPortHelper.openDoorLightRed(doorAddr)
|