|
@@ -45,12 +45,6 @@ import com.wdkl.ncs.android.middleware.tcp.enums.DeviceTypeEnum
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
|
|
import com.wdkl.ncs.android.middleware.utils.AppUtil
|
|
import com.wdkl.ncs.android.middleware.utils.AppUtil
|
|
-import com.wdkl.ncs.janus.client.CallSessionCallback
|
|
|
|
-import com.wdkl.ncs.janus.client.JanusClient
|
|
|
|
-import com.wdkl.ncs.janus.client.VideoRoomCallback
|
|
|
|
-import com.wdkl.ncs.janus.entity.Room
|
|
|
|
-import com.wdkl.ncs.janus.rtc.WebRTCEngine
|
|
|
|
-import com.wdkl.ncs.janus.util.EnumType
|
|
|
|
import kotlinx.android.synthetic.main.conversion_box_main_lay.*
|
|
import kotlinx.android.synthetic.main.conversion_box_main_lay.*
|
|
import kotlinx.android.synthetic.main.main_activity_layout.*
|
|
import kotlinx.android.synthetic.main.main_activity_layout.*
|
|
import kotlinx.android.synthetic.main.sky_voice_call_layout.*
|
|
import kotlinx.android.synthetic.main.sky_voice_call_layout.*
|
|
@@ -62,9 +56,7 @@ import serialporttest.utils.SerialPort485Util
|
|
import serialporttest.utils.SerialPortUtil
|
|
import serialporttest.utils.SerialPortUtil
|
|
import java.io.DataOutputStream
|
|
import java.io.DataOutputStream
|
|
import java.io.IOException
|
|
import java.io.IOException
|
|
-import java.math.BigInteger
|
|
|
|
import java.util.*
|
|
import java.util.*
|
|
-import java.util.UUID
|
|
|
|
import kotlin.collections.ArrayList
|
|
import kotlin.collections.ArrayList
|
|
|
|
|
|
|
|
|
|
@@ -382,8 +374,10 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
presenter.loadPartSettings(Constant.PART_ID)
|
|
presenter.loadPartSettings(Constant.PART_ID)
|
|
}
|
|
}
|
|
|
|
|
|
- //检查版本
|
|
|
|
- //checkAppVersion()
|
|
|
|
|
|
+ //正式版本开机启动自动检查升级
|
|
|
|
+ if (!BuildConfig.DEBUG) {
|
|
|
|
+ checkAppVersion()
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
private fun initCallTimer() {
|
|
private fun initCallTimer() {
|
|
@@ -616,22 +610,6 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- //分机接听后检查通话是否正常连接上
|
|
|
|
- /*private fun checkCallSuccess() {
|
|
|
|
- //3s还未连接上则判定为通话失败
|
|
|
|
- Handler().postDelayed({
|
|
|
|
- val session = gEngineKit!!.currentSession
|
|
|
|
- if (session != null && session.state == EnumType.CallState.Connected) {
|
|
|
|
- //连接通话成功
|
|
|
|
- } else {
|
|
|
|
- if (!callEnded) {
|
|
|
|
- showMessage("通话连接失败,通话结束")
|
|
|
|
- callEnd()
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }, 3000)
|
|
|
|
- }*/
|
|
|
|
-
|
|
|
|
private fun startCall(uart: String) {
|
|
private fun startCall(uart: String) {
|
|
if (Constant.TCP_CONNECTED) {
|
|
if (Constant.TCP_CONNECTED) {
|
|
//通过串口地址查找到对应分机设备id
|
|
//通过串口地址查找到对应分机设备id
|
|
@@ -860,6 +838,39 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //取消房间所有分机呼叫
|
|
|
|
+ private fun cancelCallInRoom(roomId: Int) {
|
|
|
|
+ var bedMac = ""
|
|
|
|
+ for (frameDevice in FrameHelper.frameDeviceList) {
|
|
|
|
+ //取消分机呼叫
|
|
|
|
+ if (frameDevice.frame != null && frameDevice.frame.parentId == roomId) {
|
|
|
|
+ if (frameDevice.device != null && frameDevice.device.deviceType == DeviceTypeEnum.SIMULATE_BED_DEVICE.value()) {
|
|
|
|
+ //取消分机呼叫
|
|
|
|
+ VoiceUtil.cancelAudioCall(frameDevice.device.id)
|
|
|
|
+ Log.d("tcp", "cancel bed call: " + frameDevice.frame.fullName)
|
|
|
|
+ bedMac = frameDevice.device.ethMac.toUpperCase(Locale.ROOT)
|
|
|
|
+ SerialPortHelper.closeSoundChannel(bedMac)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //取消紧急呼叫
|
|
|
|
+ /*if (frameDevice.frame != null && frameDevice.frame.id == roomId) {
|
|
|
|
+ if (frameDevice.device != null && frameDevice.device.deviceType == DeviceTypeEnum.SIMULATE_EMERGENCY_BUTTON.value()) {
|
|
|
|
+ cancelSosCall(frameDevice.device.ethMac.toUpperCase(Locale.ROOT))
|
|
|
|
+ }
|
|
|
|
+ }*/
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //关闭门灯
|
|
|
|
+ if (!TextUtils.isEmpty(bedMac)) {
|
|
|
|
+ val doorAddr = getDoorLightAddr(bedMac)
|
|
|
|
+ if (!TextUtils.isEmpty(doorAddr)) {
|
|
|
|
+ SerialPortHelper.closeDoorLight(doorAddr)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
|
+ }
|
|
|
|
+
|
|
private fun updateCallText(str: String) {
|
|
private fun updateCallText(str: String) {
|
|
runOnUiThread {
|
|
runOnUiThread {
|
|
tv_call_state.setText("呼叫状态: " + str)
|
|
tv_call_state.setText("呼叫状态: " + str)
|
|
@@ -1118,6 +1129,10 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
rejectCall()
|
|
rejectCall()
|
|
SerialPortHelper.closeSoundChannel(ethMac)
|
|
SerialPortHelper.closeSoundChannel(ethMac)
|
|
RingPlayHelper.stopRingTone()
|
|
RingPlayHelper.stopRingTone()
|
|
|
|
+ } else if (tcpModel.action == TcpAction.VoiceAction.RS485CANCEL_BY_DOOR) {
|
|
|
|
+ //门口机取消分机呼叫
|
|
|
|
+ val frameId = tcpModel.data as String
|
|
|
|
+ cancelCallInRoom(frameId.toInt())
|
|
}
|
|
}
|
|
} else if (tcpModel.type == TcpType.SOS) {
|
|
} else if (tcpModel.type == TcpType.SOS) {
|
|
val sosInteractionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
val sosInteractionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|