|
@@ -46,10 +46,7 @@ import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
|
|
|
import com.wdkl.ncs.android.middleware.model.vo.DeviceNurseInfoVO
|
|
|
import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
|
|
|
import com.wdkl.ncs.android.middleware.tcp.TcpClient
|
|
|
-import com.wdkl.ncs.android.middleware.tcp.channel.DeviceUtil
|
|
|
-import com.wdkl.ncs.android.middleware.tcp.channel.EventUtil
|
|
|
-import com.wdkl.ncs.android.middleware.tcp.channel.OtherUtil
|
|
|
-import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
|
|
|
+import com.wdkl.ncs.android.middleware.tcp.channel.*
|
|
|
import com.wdkl.ncs.android.middleware.tcp.dto.TcpCallback
|
|
|
import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel
|
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.DeviceTypeEnum
|
|
@@ -320,14 +317,14 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
"start adbd"
|
|
|
)
|
|
|
try {
|
|
|
- RunAsRoot(commands)
|
|
|
+ runAsRoot(commands)
|
|
|
} catch (e: IOException) {
|
|
|
e.printStackTrace()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
- private fun RunAsRoot(cmds: ArrayList<String>) {
|
|
|
+ private fun runAsRoot(cmds: ArrayList<String>) {
|
|
|
val p = Runtime.getRuntime().exec("su")
|
|
|
val os = DataOutputStream(p.outputStream)
|
|
|
for (tmpCmd in cmds) {
|
|
@@ -947,10 +944,6 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
//分机挂断
|
|
|
if (Constant.CALL_STATE == Constant.CALL_CALLING) {
|
|
|
if (addr.equals(curDeviceUart, true)) {
|
|
|
- /*EventBus.getDefault().post(MessageEvent("handoff", Constant.EVENT_END_CALL))
|
|
|
- Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
- VoiceUtil.handoffAudioCall(curDeviceId, fromId, curInteractionVO!!.id)*/
|
|
|
-
|
|
|
handoffCall()
|
|
|
} else {
|
|
|
cancelOutCall(addr, false)
|
|
@@ -1047,7 +1040,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
"H" -> {
|
|
|
//护理按键
|
|
|
- val func = findKeyFunc("H")
|
|
|
+ /*val func = findKeyFunc("H")
|
|
|
if (func != null) {
|
|
|
if (func.type == TcpAction.SideAction.NURSING.name) {
|
|
|
val nurseMac = addr.toUpperCase(Locale.ROOT)
|
|
@@ -1067,7 +1060,13 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
}
|
|
|
} else {
|
|
|
Log.e(TAG, "error func: H护理按键")
|
|
|
- }
|
|
|
+ }*/
|
|
|
+
|
|
|
+ //进入护理
|
|
|
+ val nurseMac = addr.toUpperCase(Locale.ROOT)
|
|
|
+ Log.e(TAG,"nursing map size: " + nursingMap.size)
|
|
|
+ nursingMap.put(nurseMac, -1)
|
|
|
+ sendNursing(addr)
|
|
|
}
|
|
|
|
|
|
"Y" -> {
|
|
@@ -1083,16 +1082,39 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
"R" -> {
|
|
|
//清除所有事件
|
|
|
+ //退出护理
|
|
|
+ val mac = addr.toUpperCase(Locale.ROOT)
|
|
|
+ if (nursingMap.containsKey(mac)) {
|
|
|
+ nursingMap.remove(mac)
|
|
|
+ sendNursingEnd(addr)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
"?" -> {
|
|
|
//拔针按键
|
|
|
- val func = findKeyFunc("?")
|
|
|
- if (func != null) {
|
|
|
- Log.e(TAG, "keyId: ${func.value}")
|
|
|
- sendEvent(addr, func.value)
|
|
|
+ //印尼项目定义为呼叫取消
|
|
|
+ if (Constant.CALL_STATE == Constant.CALL_CALLING) {
|
|
|
+ if (addr.equals(curDeviceUart, true)) {
|
|
|
+ handoffCall()
|
|
|
+ } else {
|
|
|
+ cancelOutCall(addr, false)
|
|
|
+ }
|
|
|
+ } else if (Constant.CALL_STATE == Constant.CALL_INCOMING) {
|
|
|
+ if (addr.equals(curDeviceUart, true)) {
|
|
|
+ rejectCall()
|
|
|
+ SerialPortHelper.closeSoundChannel(addr)
|
|
|
+ RingPlayHelper.stopRingTone()
|
|
|
+ } else {
|
|
|
+ cancelOutCall(addr, false)
|
|
|
+ }
|
|
|
} else {
|
|
|
- Log.e(TAG, "error func: ?拔针按键")
|
|
|
+ cancelOutCall(addr, true)
|
|
|
+ }
|
|
|
+
|
|
|
+ //关闭门灯
|
|
|
+ val doorAddr = getDoorLightAddr(addr)
|
|
|
+ if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
+ SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1347,29 +1369,55 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
if (FrameHelper.frameDeviceList.size > 0 ) {
|
|
|
for (frameDevice in FrameHelper.frameDeviceList) {
|
|
|
if (frameDevice.device != null && uart.equals(frameDevice.device.ethMac, true)) {
|
|
|
- updateCallText("SOS-->$uart, ${frameDevice.device.id}")
|
|
|
- //OtherUtil.sendSosCall(frameDevice.device.id)
|
|
|
+ if (frameDevice.device.deviceType == DeviceTypeEnum.SIMULATE_BLUE_CODE.value()) {
|
|
|
+ //blue code请求
|
|
|
+ updateCallText("Blue code-->$uart, ${frameDevice.device.id}")
|
|
|
+
|
|
|
+ val tcpModel = BlueCodeUtil.BlueCodeCall(frameDevice.device.id, frameDevice.frame.fullName)
|
|
|
+ val transaction: TcpCallback = object : TcpCallback(tcpModel.tid, uart) {
|
|
|
+ override fun onSuccess(jsonObject: JSONObject) {
|
|
|
+ //开启门灯
|
|
|
+ Log.d(TAG, "blue code call success, mac: $mac")
|
|
|
+ /*val doorAddr = getDoorLightAddrBySos(mac)
|
|
|
+ if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
+ SerialPortHelper.openDoorLightRed(doorAddr)
|
|
|
+ }*/
|
|
|
+ }
|
|
|
|
|
|
- val tcpModel = OtherUtil.SOSCall(frameDevice.device.id, 0)
|
|
|
- val transaction: TcpCallback = object : TcpCallback(tcpModel.tid, uart) {
|
|
|
- override fun onSuccess(jsonObject: JSONObject) {
|
|
|
- //开启门灯
|
|
|
- Log.d(TAG, "sos call success, mac: $mac")
|
|
|
- val doorAddr = getDoorLightAddrBySos(mac)
|
|
|
- if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
- SerialPortHelper.openDoorLightRed(doorAddr)
|
|
|
+ override fun onFailed(jsonObject: JSONObject) {
|
|
|
+ // 这里写发送失败的方法
|
|
|
+ val callbackString = jsonObject.getString(CALLBACK)
|
|
|
+ Log.e(TAG, "blue code call fail: $callbackString, mac: $mac")
|
|
|
+ //关闭紧急按钮
|
|
|
+ SerialPortHelper.closeEmergency(mac)
|
|
|
}
|
|
|
}
|
|
|
+ TcpClient.getInstance().sendTcp(tcpModel, false, transaction)
|
|
|
+ } else {
|
|
|
+ updateCallText("SOS-->$uart, ${frameDevice.device.id}")
|
|
|
+
|
|
|
+ val tcpModel = OtherUtil.SOSCall(frameDevice.device.id, 0)
|
|
|
+ val transaction: TcpCallback = object : TcpCallback(tcpModel.tid, uart) {
|
|
|
+ override fun onSuccess(jsonObject: JSONObject) {
|
|
|
+ //开启门灯
|
|
|
+ Log.d(TAG, "sos call success, mac: $mac")
|
|
|
+ val doorAddr = getDoorLightAddrBySos(mac)
|
|
|
+ if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
+ SerialPortHelper.openDoorLightRed(doorAddr)
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- override fun onFailed(jsonObject: JSONObject) {
|
|
|
- // 这里写发送失败的方法
|
|
|
- val callbackString = jsonObject.getString(CALLBACK)
|
|
|
- Log.e(TAG, "sos call fail: $callbackString, mac: $mac")
|
|
|
- //关闭紧急按钮
|
|
|
- SerialPortHelper.closeEmergency(mac)
|
|
|
+ override fun onFailed(jsonObject: JSONObject) {
|
|
|
+ // 这里写发送失败的方法
|
|
|
+ val callbackString = jsonObject.getString(CALLBACK)
|
|
|
+ Log.e(TAG, "sos call fail: $callbackString, mac: $mac")
|
|
|
+ //关闭紧急按钮
|
|
|
+ SerialPortHelper.closeEmergency(mac)
|
|
|
+ }
|
|
|
}
|
|
|
+ TcpClient.getInstance().sendTcp(tcpModel, false, transaction)
|
|
|
}
|
|
|
- TcpClient.getInstance().sendTcp(tcpModel, false, transaction)
|
|
|
+
|
|
|
break
|
|
|
}
|
|
|
}
|
|
@@ -2016,6 +2064,15 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
AppUtil.setSysTime(timeStr, timeZone)
|
|
|
Log.d("setTime", "set sys time2: $timeStr, $timeZone")
|
|
|
}
|
|
|
+ } else if (tcpModel.type == TcpType.BLUE_CODE) {
|
|
|
+ if (tcpModel.action == TcpAction.BlueCodeAction.RESPONDED) {
|
|
|
+ //主机响应blue code
|
|
|
+ if (tcpModel.data != null) {
|
|
|
+ val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
|
+ val addr = interactionVO.fromEthIp.toUpperCase(Locale.ROOT)
|
|
|
+ SerialPortHelper.closeEmergency(addr)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2357,9 +2414,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
if (Constant.LATER_RESTART && Constant.CALL_STATE == Constant.CALL_STANDBY) {
|
|
|
AppUpdateHelper.restartApp(activity)
|
|
|
}
|
|
|
- } /*else if (TextUtils.isEmpty(Constant.TCP_SERVER_URL)) {
|
|
|
- presenter.loadTcpServerHost()
|
|
|
- }*/
|
|
|
+ }
|
|
|
} else if (intent.action == ConnectivityManager.CONNECTIVITY_ACTION) {
|
|
|
updateNetState()
|
|
|
}
|