|
@@ -18,10 +18,7 @@ import com.enation.javashop.net.engine.model.NetState
|
|
import com.google.gson.Gson
|
|
import com.google.gson.Gson
|
|
import com.wdkl.app.ncs.conversion_box.BuildConfig
|
|
import com.wdkl.app.ncs.conversion_box.BuildConfig
|
|
import com.wdkl.app.ncs.conversion_box.R
|
|
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.bean.*
|
|
import com.wdkl.app.ncs.conversion_box.databinding.MainActivityLayoutBinding
|
|
import com.wdkl.app.ncs.conversion_box.databinding.MainActivityLayoutBinding
|
|
import com.wdkl.app.ncs.conversion_box.fragment.*
|
|
import com.wdkl.app.ncs.conversion_box.fragment.*
|
|
import com.wdkl.app.ncs.conversion_box.helper.*
|
|
import com.wdkl.app.ncs.conversion_box.helper.*
|
|
@@ -154,6 +151,8 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
private val keyFuncList = ArrayList<KeyFunc>()
|
|
private val keyFuncList = ArrayList<KeyFunc>()
|
|
private val nursingMap = HashMap<String, Int>()
|
|
private val nursingMap = HashMap<String, Int>()
|
|
private val eventList = ArrayList<EventBean>()
|
|
private val eventList = ArrayList<EventBean>()
|
|
|
|
+ //房间紧急呼叫集合
|
|
|
|
+ private val sosLampList = ArrayList<Int>()
|
|
|
|
|
|
override fun getLayId(): Int {
|
|
override fun getLayId(): Int {
|
|
return R.layout.main_activity_layout
|
|
return R.layout.main_activity_layout
|
|
@@ -963,9 +962,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
}
|
|
}
|
|
|
|
|
|
//关闭门灯
|
|
//关闭门灯
|
|
- val doorAddr = getDoorLightAddr(addr)
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(addr)
|
|
|
|
+ if (doorItem != null && !sosLampList.contains(doorItem.frameId) && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
}
|
|
}
|
|
|
|
|
|
removeCall(addr)
|
|
removeCall(addr)
|
|
@@ -1249,9 +1248,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
}
|
|
}
|
|
|
|
|
|
//打开门灯
|
|
//打开门灯
|
|
- val doorLightAddr = getDoorLightAddr(uart.toUpperCase(Locale.ROOT))
|
|
|
|
- if (!TextUtils.isEmpty(doorLightAddr)) {
|
|
|
|
- SerialPortHelper.openDoorLightSingleGreen(doorLightAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(uart.toUpperCase(Locale.ROOT))
|
|
|
|
+ if (doorItem != null && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.openDoorLightSingleGreen(doorItem.lampMac)
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
showMessage(R.string.net_error)
|
|
showMessage(R.string.net_error)
|
|
@@ -1278,9 +1277,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
}
|
|
}
|
|
|
|
|
|
//关闭门灯
|
|
//关闭门灯
|
|
- val doorLightAddr = getDoorLightAddr(uart.toUpperCase(Locale.ROOT))
|
|
|
|
- if (!TextUtils.isEmpty(doorLightAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorLightAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(uart.toUpperCase(Locale.ROOT))
|
|
|
|
+ if (doorItem != null && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1365,9 +1364,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
updateCallText(getString(R.string.call_standby))
|
|
updateCallText(getString(R.string.call_standby))
|
|
//关闭分机呼叫和门灯
|
|
//关闭分机呼叫和门灯
|
|
SerialPortHelper.closeSoundChannel(mac)
|
|
SerialPortHelper.closeSoundChannel(mac)
|
|
- val doorAddr = getDoorLightAddr(mac)
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(mac)
|
|
|
|
+ if (doorItem != null && !sosLampList.contains(doorItem.frameId) && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1426,9 +1425,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
SerialPortHelper.closeSoundChannel(uart)
|
|
SerialPortHelper.closeSoundChannel(uart)
|
|
//关闭门灯
|
|
//关闭门灯
|
|
- val doorAddr = getDoorLightAddr(uart.toUpperCase(Locale.ROOT))
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(uart.toUpperCase(Locale.ROOT))
|
|
|
|
+ if (doorItem != null && !sosLampList.contains(doorItem.frameId) && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1445,9 +1444,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
SerialPortHelper.closeSoundChannel(uart)
|
|
SerialPortHelper.closeSoundChannel(uart)
|
|
//关闭门灯
|
|
//关闭门灯
|
|
- val doorAddr = getDoorLightAddr(uart.toUpperCase(Locale.ROOT))
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(uart.toUpperCase(Locale.ROOT))
|
|
|
|
+ if (doorItem != null && !sosLampList.contains(doorItem.frameId) && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1509,7 +1508,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
) {
|
|
) {
|
|
//开启门灯
|
|
//开启门灯
|
|
Log.d(TAG, "sos call success, mac: $mac")
|
|
Log.d(TAG, "sos call success, mac: $mac")
|
|
- val doorAddr = getDoorLightAddrBySos(mac)
|
|
|
|
|
|
+ val doorAddr = getDoorLightAddrBySos(mac, true)
|
|
if (!TextUtils.isEmpty(doorAddr)) {
|
|
if (!TextUtils.isEmpty(doorAddr)) {
|
|
SerialPortHelper.openDoorLightRed(doorAddr)
|
|
SerialPortHelper.openDoorLightRed(doorAddr)
|
|
}
|
|
}
|
|
@@ -1537,7 +1536,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
//关闭紧急按钮
|
|
//关闭紧急按钮
|
|
SerialPortHelper.closeEmergency(uart)
|
|
SerialPortHelper.closeEmergency(uart)
|
|
//关闭门灯
|
|
//关闭门灯
|
|
- val doorAddr = getDoorLightAddrBySos(uart)
|
|
|
|
|
|
+ val doorAddr = getDoorLightAddrBySos(uart, false)
|
|
if (!TextUtils.isEmpty(doorAddr)) {
|
|
if (!TextUtils.isEmpty(doorAddr)) {
|
|
SerialPortHelper.closeDoorLight(doorAddr)
|
|
SerialPortHelper.closeDoorLight(doorAddr)
|
|
}
|
|
}
|
|
@@ -1546,25 +1545,28 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
private fun checkNursingRoom(addr: String) {
|
|
private fun checkNursingRoom(addr: String) {
|
|
//通过分机地址查找该房间的门灯设备
|
|
//通过分机地址查找该房间的门灯设备
|
|
- val doorLightAddr = getDoorLightAddr(addr.toUpperCase(Locale.ROOT))
|
|
|
|
- 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!!)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(addr.toUpperCase(Locale.ROOT))
|
|
|
|
+ if (doorItem != null) {
|
|
|
|
+ val doorLightAddr = doorItem.lampMac
|
|
|
|
+ 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 getDoorLightAddr(bedAddr: String) : String? {
|
|
|
|
|
|
+ private fun getDoorLightAddr(bedAddr: String) : DoorItem? {
|
|
//首先找到分机所在床位层级,然后通过该bed frame的父级id(即房间层级)找到对应room frame,获得门灯设备信息
|
|
//首先找到分机所在床位层级,然后通过该bed frame的父级id(即房间层级)找到对应room frame,获得门灯设备信息
|
|
if (!TextUtils.isEmpty(bedAddr) && FrameHelper.frameDeviceList.size > 0) {
|
|
if (!TextUtils.isEmpty(bedAddr) && FrameHelper.frameDeviceList.size > 0) {
|
|
var roomId = -1
|
|
var roomId = -1
|
|
@@ -1576,11 +1578,14 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
}
|
|
}
|
|
|
|
|
|
if (roomId != -1) {
|
|
if (roomId != -1) {
|
|
|
|
+ val doorItem = DoorItem()
|
|
for (frameDevice in FrameHelper.frameDeviceList) {
|
|
for (frameDevice in FrameHelper.frameDeviceList) {
|
|
if (frameDevice.frame != null && frameDevice.frame.id == roomId) {
|
|
if (frameDevice.frame != null && frameDevice.frame.id == roomId) {
|
|
if (frameDevice.device != null && frameDevice.device.deviceType == DeviceTypeEnum.SIMULATE_DOOR_LIGHT.value()) {
|
|
if (frameDevice.device != null && frameDevice.device.deviceType == DeviceTypeEnum.SIMULATE_DOOR_LIGHT.value()) {
|
|
//找到对应门灯设备
|
|
//找到对应门灯设备
|
|
- return frameDevice.device.ethMac
|
|
|
|
|
|
+ doorItem.lampMac = frameDevice.device.ethMac
|
|
|
|
+ doorItem.frameId = roomId
|
|
|
|
+ return doorItem
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1592,7 +1597,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
}
|
|
}
|
|
|
|
|
|
//通过紧急按钮地址查找门灯
|
|
//通过紧急按钮地址查找门灯
|
|
- private fun getDoorLightAddrBySos(sosAddr: String) : String? {
|
|
|
|
|
|
+ private fun getDoorLightAddrBySos(sosAddr: String, addLamp: Boolean) : String? {
|
|
//首先找到分机所在床位层级,然后通过该bed frame的父级id(即房间层级)找到对应room frame,获得门灯设备信息
|
|
//首先找到分机所在床位层级,然后通过该bed frame的父级id(即房间层级)找到对应room frame,获得门灯设备信息
|
|
if (!TextUtils.isEmpty(sosAddr) && FrameHelper.frameDeviceList.size > 0) {
|
|
if (!TextUtils.isEmpty(sosAddr) && FrameHelper.frameDeviceList.size > 0) {
|
|
var roomId = -1
|
|
var roomId = -1
|
|
@@ -1604,6 +1609,15 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
}
|
|
}
|
|
|
|
|
|
if (roomId != -1) {
|
|
if (roomId != -1) {
|
|
|
|
+ Log.e(TAG, "door frame id: $roomId, addLamp: $addLamp, sosLamp size: ${sosLampList.size}")
|
|
|
|
+ if (addLamp) {
|
|
|
|
+ sosLampList.add(roomId)
|
|
|
|
+ } else {
|
|
|
|
+ sosLampList.removeIf {
|
|
|
|
+ it == roomId
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
for (frameDevice in FrameHelper.frameDeviceList) {
|
|
for (frameDevice in FrameHelper.frameDeviceList) {
|
|
if (frameDevice.frame != null && frameDevice.frame.id == roomId) {
|
|
if (frameDevice.frame != null && frameDevice.frame.id == roomId) {
|
|
if (frameDevice.device != null && frameDevice.device.deviceType == DeviceTypeEnum.SIMULATE_DOOR_LIGHT.value()) {
|
|
if (frameDevice.device != null && frameDevice.device.deviceType == DeviceTypeEnum.SIMULATE_DOOR_LIGHT.value()) {
|
|
@@ -1637,9 +1651,15 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
Log.e(TAG, "turn on door light: " + frameDevice.device.ethMac)
|
|
Log.e(TAG, "turn on door light: " + frameDevice.device.ethMac)
|
|
if (TcpAction.SideAction.SOS_CALL == tcpModel.action) {
|
|
if (TcpAction.SideAction.SOS_CALL == tcpModel.action) {
|
|
SerialPortHelper.openDoorLightRed(frameDevice.device.ethMac)
|
|
SerialPortHelper.openDoorLightRed(frameDevice.device.ethMac)
|
|
|
|
+ sosLampList.add(frameDevice.frame.id)
|
|
} else {
|
|
} else {
|
|
if (Constant.colorLight && !Constant.nursingSign) {
|
|
if (Constant.colorLight && !Constant.nursingSign) {
|
|
- SerialPortHelper.openDoorLightGreen(frameDevice.device.ethMac)
|
|
|
|
|
|
+ //如果当前房间有紧急呼叫则保持亮红灯
|
|
|
|
+ if (sosLampList.contains(frameDevice.frame.id)) {
|
|
|
|
+ SerialPortHelper.openDoorLightRed(frameDevice.device.ethMac)
|
|
|
|
+ } else {
|
|
|
|
+ SerialPortHelper.openDoorLightGreen(frameDevice.device.ethMac)
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
SerialPortHelper.openDoorLightRed(frameDevice.device.ethMac)
|
|
SerialPortHelper.openDoorLightRed(frameDevice.device.ethMac)
|
|
}
|
|
}
|
|
@@ -1659,8 +1679,19 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
if (frameDevice.frame != null && frameDevice.frame.id == sideInteractionVO.fromFrameParentId.toInt()) {
|
|
if (frameDevice.frame != null && frameDevice.frame.id == sideInteractionVO.fromFrameParentId.toInt()) {
|
|
if (frameDevice.device != null && frameDevice.device.deviceType == DeviceTypeEnum.SIMULATE_DOOR_LIGHT.value()) {
|
|
if (frameDevice.device != null && frameDevice.device.deviceType == DeviceTypeEnum.SIMULATE_DOOR_LIGHT.value()) {
|
|
//找到对应门灯设备
|
|
//找到对应门灯设备
|
|
- Log.e(TAG, "turn off door light: " + frameDevice.device.ethMac)
|
|
|
|
- SerialPortHelper.closeDoorLight(frameDevice.device.ethMac)
|
|
|
|
|
|
+ if (TcpAction.SideAction.SOS_CANCEL == tcpModel.action) {
|
|
|
|
+ Log.e(TAG, "turn off door light: " + frameDevice.device.ethMac)
|
|
|
|
+ SerialPortHelper.closeDoorLight(frameDevice.device.ethMac)
|
|
|
|
+ sosLampList.removeIf {
|
|
|
|
+ it == frameDevice.frame.id
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //判断当前房间是否有紧急呼叫
|
|
|
|
+ if (!sosLampList.contains(frameDevice.frame.id)) {
|
|
|
|
+ Log.e(TAG, "turn off door light: " + frameDevice.device.ethMac)
|
|
|
|
+ SerialPortHelper.closeDoorLight(frameDevice.device.ethMac)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
break
|
|
break
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1672,8 +1703,19 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
if (frameDevice.frame != null && frameDevice.frame.id == sideInteractionVO.toFrameParentId.toInt()) {
|
|
if (frameDevice.frame != null && frameDevice.frame.id == sideInteractionVO.toFrameParentId.toInt()) {
|
|
if (frameDevice.device != null && frameDevice.device.deviceType == DeviceTypeEnum.SIMULATE_DOOR_LIGHT.value()) {
|
|
if (frameDevice.device != null && frameDevice.device.deviceType == DeviceTypeEnum.SIMULATE_DOOR_LIGHT.value()) {
|
|
//找到对应门灯设备
|
|
//找到对应门灯设备
|
|
- Log.e(TAG, "turn off door light: " + frameDevice.device.ethMac)
|
|
|
|
- SerialPortHelper.closeDoorLight(frameDevice.device.ethMac)
|
|
|
|
|
|
+ if (TcpAction.SideAction.SOS_CANCEL == tcpModel.action) {
|
|
|
|
+ Log.e(TAG, "turn off door light: " + frameDevice.device.ethMac)
|
|
|
|
+ SerialPortHelper.closeDoorLight(frameDevice.device.ethMac)
|
|
|
|
+ sosLampList.removeIf {
|
|
|
|
+ it == frameDevice.frame.id
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ //判断当前房间是否有紧急呼叫
|
|
|
|
+ if (!sosLampList.contains(frameDevice.frame.id)) {
|
|
|
|
+ Log.e(TAG, "turn off door light: " + frameDevice.device.ethMac)
|
|
|
|
+ SerialPortHelper.closeDoorLight(frameDevice.device.ethMac)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
break
|
|
break
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1710,9 +1752,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
//关闭门灯
|
|
//关闭门灯
|
|
if (!TextUtils.isEmpty(bedMac)) {
|
|
if (!TextUtils.isEmpty(bedMac)) {
|
|
- val doorAddr = getDoorLightAddr(bedMac)
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(bedMac)
|
|
|
|
+ if (doorItem != null && !sosLampList.contains(doorItem.frameId) && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1829,10 +1871,13 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
curDeviceId = interactionVO.toDeviceId
|
|
curDeviceId = interactionVO.toDeviceId
|
|
targetSip = interactionVO.fromSipId
|
|
targetSip = interactionVO.fromSipId
|
|
|
|
|
|
- //关闭门灯
|
|
|
|
- val doorAddr = getDoorLightAddr(curDeviceUart)
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
|
|
+ //主机呼叫分机,关闭该房间门灯
|
|
|
|
+ val doorItem = getDoorLightAddr(curDeviceUart)
|
|
|
|
+ if (doorItem != null && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
|
|
+ sosLampList.removeIf {
|
|
|
|
+ it == doorItem.frameId
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
updateCallText(getString(R.string.call_incoming))
|
|
updateCallText(getString(R.string.call_incoming))
|
|
@@ -1858,9 +1903,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
showCallFragment(0)
|
|
showCallFragment(0)
|
|
|
|
|
|
//关闭门灯
|
|
//关闭门灯
|
|
- val doorAddr = getDoorLightAddr(curDeviceUart)
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(curDeviceUart)
|
|
|
|
+ if (doorItem != null && !sosLampList.contains(doorItem.frameId) && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
}
|
|
}
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.SUCCESS) {
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.SUCCESS) {
|
|
//呼叫成功
|
|
//呼叫成功
|
|
@@ -1888,12 +1933,20 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
callingList.add(item)
|
|
callingList.add(item)
|
|
|
|
|
|
//开启门灯
|
|
//开启门灯
|
|
- val doorAddr = getDoorLightAddr(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- if (Constant.colorLight && !Constant.nursingSign) {
|
|
|
|
- SerialPortHelper.openDoorLightGreen(doorAddr)
|
|
|
|
- } else {
|
|
|
|
- SerialPortHelper.openDoorLightRed(doorAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
+ if (doorItem != null) {
|
|
|
|
+ val doorAddr = doorItem.lampMac
|
|
|
|
+ if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
+ if (Constant.colorLight && !Constant.nursingSign) {
|
|
|
|
+ //如果当前房间有紧急呼叫则保持亮红灯
|
|
|
|
+ if (sosLampList.contains(doorItem.frameId)) {
|
|
|
|
+ SerialPortHelper.openDoorLightRed(doorAddr)
|
|
|
|
+ } else {
|
|
|
|
+ SerialPortHelper.openDoorLightGreen(doorAddr)
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ SerialPortHelper.openDoorLightRed(doorAddr)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.REJECT) {
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.REJECT) {
|
|
@@ -1906,9 +1959,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
showMessage(R.string.call_reject)
|
|
showMessage(R.string.call_reject)
|
|
//关闭分机呼叫和门灯
|
|
//关闭分机呼叫和门灯
|
|
SerialPortHelper.closeSoundChannel(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
SerialPortHelper.closeSoundChannel(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
- val doorAddr = getDoorLightAddr(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
+ if (doorItem != null && !sosLampList.contains(doorItem.frameId) && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
}
|
|
}
|
|
|
|
|
|
removeCall(interactionVO.fromEthIp)
|
|
removeCall(interactionVO.fromEthIp)
|
|
@@ -1924,9 +1977,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
showMessage(R.string.call_busy)
|
|
showMessage(R.string.call_busy)
|
|
//关闭分机呼叫和门灯
|
|
//关闭分机呼叫和门灯
|
|
SerialPortHelper.closeSoundChannel(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
SerialPortHelper.closeSoundChannel(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
- val doorAddr = getDoorLightAddr(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
+ if (doorItem != null && !sosLampList.contains(doorItem.frameId) && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
}
|
|
}
|
|
|
|
|
|
removeCall(interactionVO.fromEthIp)
|
|
removeCall(interactionVO.fromEthIp)
|
|
@@ -1939,9 +1992,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
showMessage(R.string.call_failed)
|
|
showMessage(R.string.call_failed)
|
|
//关闭分机呼叫和门灯
|
|
//关闭分机呼叫和门灯
|
|
SerialPortHelper.closeSoundChannel(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
SerialPortHelper.closeSoundChannel(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
- val doorAddr = getDoorLightAddr(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
+ if (doorItem != null && !sosLampList.contains(doorItem.frameId) && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
}
|
|
}
|
|
|
|
|
|
removeCall(interactionVO.fromEthIp)
|
|
removeCall(interactionVO.fromEthIp)
|
|
@@ -1958,9 +2011,9 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
if (interactionVO.fromDeviceType == DeviceTypeEnum.SIMULATE_BED_DEVICE.value()) {
|
|
if (interactionVO.fromDeviceType == DeviceTypeEnum.SIMULATE_BED_DEVICE.value()) {
|
|
if (!TextUtils.isEmpty(interactionVO.fromEthIp)) {
|
|
if (!TextUtils.isEmpty(interactionVO.fromEthIp)) {
|
|
SerialPortHelper.closeSoundChannel(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
SerialPortHelper.closeSoundChannel(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
- val doorAddr = getDoorLightAddr(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
|
|
+ val doorItem = getDoorLightAddr(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
+ if (doorItem != null && !sosLampList.contains(doorItem.frameId) && !TextUtils.isEmpty(doorItem.lampMac)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorItem.lampMac)
|
|
}
|
|
}
|
|
|
|
|
|
removeCall(interactionVO.fromEthIp)
|
|
removeCall(interactionVO.fromEthIp)
|
|
@@ -1968,10 +2021,6 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
} else {
|
|
} else {
|
|
if (!TextUtils.isEmpty(interactionVO.toEthIp)) {
|
|
if (!TextUtils.isEmpty(interactionVO.toEthIp)) {
|
|
SerialPortHelper.closeSoundChannel(interactionVO.toEthIp.toUpperCase(Locale.ROOT))
|
|
SerialPortHelper.closeSoundChannel(interactionVO.toEthIp.toUpperCase(Locale.ROOT))
|
|
- //val doorAddr = getDoorLightAddr(interactionVO.toEthIp)
|
|
|
|
- //if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
- // SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
- //}
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//}
|
|
//}
|