|
@@ -2,40 +2,27 @@ package com.wdkl.app.ncs.callingdoor.activity
|
|
|
|
|
|
import android.content.*
|
|
import android.content.*
|
|
import android.net.ConnectivityManager
|
|
import android.net.ConnectivityManager
|
|
-import android.os.CountDownTimer
|
|
|
|
|
|
+import android.os.Bundle
|
|
import android.os.Handler
|
|
import android.os.Handler
|
|
-import android.os.SystemClock
|
|
|
|
import android.support.v4.app.Fragment
|
|
import android.support.v4.app.Fragment
|
|
-import android.support.v7.widget.LinearLayoutManager
|
|
|
|
import android.text.TextUtils
|
|
import android.text.TextUtils
|
|
import android.util.Log
|
|
import android.util.Log
|
|
import android.view.View
|
|
import android.view.View
|
|
import com.enation.javashop.android.jrouter.external.annotation.Router
|
|
import com.enation.javashop.android.jrouter.external.annotation.Router
|
|
import com.enation.javashop.net.engine.model.NetState
|
|
import com.enation.javashop.net.engine.model.NetState
|
|
import com.google.gson.Gson
|
|
import com.google.gson.Gson
|
|
|
|
+import com.wdkl.app.ncs.callingbed2.fragment.SkyCallFragment
|
|
import com.wdkl.app.ncs.callingdoor.BuildConfig
|
|
import com.wdkl.app.ncs.callingdoor.BuildConfig
|
|
-//import com.wdkl.app.ncs.callingbed2.sip.SipHelper
|
|
|
|
-//import com.wdkl.app.ncs.callingbed2.sip.SipStatus
|
|
|
|
-//import com.vvsip.ansip.IVvsipServiceListener
|
|
|
|
-//import com.vvsip.ansip.VvsipCall
|
|
|
|
import com.wdkl.app.ncs.callingdoor.R
|
|
import com.wdkl.app.ncs.callingdoor.R
|
|
-import com.wdkl.app.ncs.callingdoor.adapter.NurseConfigAdpter
|
|
|
|
import com.wdkl.app.ncs.callingdoor.agreement.CallingdoorAgreement
|
|
import com.wdkl.app.ncs.callingdoor.agreement.CallingdoorAgreement
|
|
import com.wdkl.app.ncs.callingdoor.databinding.CallingdoorMainLayBinding
|
|
import com.wdkl.app.ncs.callingdoor.databinding.CallingdoorMainLayBinding
|
|
-//import com.wdkl.app.ncs.callingbed2.common.Constant
|
|
|
|
-//import com.wdkl.app.ncs.callingbed2.common.MessageEvent
|
|
|
|
import com.wdkl.app.ncs.callingdoor.fragment.*
|
|
import com.wdkl.app.ncs.callingdoor.fragment.*
|
|
import com.wdkl.app.ncs.callingdoor.helper.*
|
|
import com.wdkl.app.ncs.callingdoor.helper.*
|
|
import com.wdkl.app.ncs.callingdoor.launch.CallingdoorLaunch
|
|
import com.wdkl.app.ncs.callingdoor.launch.CallingdoorLaunch
|
|
import com.wdkl.app.ncs.callingdoor.settings.SettingConfig
|
|
import com.wdkl.app.ncs.callingdoor.settings.SettingConfig
|
|
-//import com.wdkl.app.ncs.sip.event.AEvent
|
|
|
|
-//import com.wdkl.app.ncs.sip.event.IEventListener
|
|
|
|
-//import com.wdkl.app.ncs.sip.helper.StarRtcHelper
|
|
|
|
-//import com.wdkl.app.ncs.sip.service.SipService
|
|
|
|
import com.wdkl.core.consts.Urls
|
|
import com.wdkl.core.consts.Urls
|
|
import com.wdkl.core.socket.IUserState
|
|
import com.wdkl.core.socket.IUserState
|
|
import com.wdkl.core.socket.SocketManager
|
|
import com.wdkl.core.socket.SocketManager
|
|
-import com.wdkl.core.voip.CallSingleActivity
|
|
|
|
import com.wdkl.ncs.android.lib.base.BaseActivity
|
|
import com.wdkl.ncs.android.lib.base.BaseActivity
|
|
import com.wdkl.ncs.android.lib.utils.*
|
|
import com.wdkl.ncs.android.lib.utils.*
|
|
import com.wdkl.ncs.android.lib.vo.filter
|
|
import com.wdkl.ncs.android.lib.vo.filter
|
|
@@ -46,11 +33,8 @@ import com.wdkl.ncs.android.middleware.common.SipStatus
|
|
import com.wdkl.ncs.android.middleware.logic.contract.callingdoor.CallingdoorActivityContract
|
|
import com.wdkl.ncs.android.middleware.logic.contract.callingdoor.CallingdoorActivityContract
|
|
import com.wdkl.ncs.android.middleware.logic.presenter.callingdoor.CallingdoorActivityPresenter
|
|
import com.wdkl.ncs.android.middleware.logic.presenter.callingdoor.CallingdoorActivityPresenter
|
|
import com.wdkl.ncs.android.middleware.model.dos.AppVersionDO
|
|
import com.wdkl.ncs.android.middleware.model.dos.AppVersionDO
|
|
-import com.wdkl.ncs.android.middleware.model.dto.NurseConfigDto
|
|
|
|
import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
|
|
import com.wdkl.ncs.android.middleware.model.dos.PartSettingDO
|
|
import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
|
|
import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
|
|
-import com.wdkl.ncs.android.middleware.model.vo.BedDeviceInfoVO
|
|
|
|
-import com.wdkl.ncs.android.middleware.model.vo.CallRecordVO
|
|
|
|
import com.wdkl.ncs.android.middleware.model.vo.DeviceRoomInfoVO
|
|
import com.wdkl.ncs.android.middleware.model.vo.DeviceRoomInfoVO
|
|
import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
|
|
import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
|
|
import com.wdkl.ncs.android.middleware.tcp.TcpClient
|
|
import com.wdkl.ncs.android.middleware.tcp.TcpClient
|
|
@@ -75,7 +59,7 @@ import serialporttest.utils.SerialPortUtil
|
|
|
|
|
|
@Router(path = "/callingdoor/main")
|
|
@Router(path = "/callingdoor/main")
|
|
class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, CallingdoorMainLayBinding>(), CallingdoorActivityContract.View, CallingdoorAgreement,
|
|
class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, CallingdoorMainLayBinding>(), CallingdoorActivityContract.View, CallingdoorAgreement,
|
|
- /*IEventListener,*/ SerialPortUtil.ISerialPortBedOnclickEvent, SerialPortUtil.ISerialPortBedOnclickString, IUserState {
|
|
|
|
|
|
+ SerialPortUtil.ISerialPortBedOnclickEvent, SerialPortUtil.ISerialPortBedOnclickString, IUserState {
|
|
|
|
|
|
private lateinit var receiver: TimeReceiver
|
|
private lateinit var receiver: TimeReceiver
|
|
private lateinit var curFragment: String
|
|
private lateinit var curFragment: String
|
|
@@ -84,8 +68,8 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
//二维码
|
|
//二维码
|
|
private val qrFragment = "qr_fragment"
|
|
private val qrFragment = "qr_fragment"
|
|
|
|
|
|
- //呼叫倒计时
|
|
|
|
- lateinit var countDownTimer: CountDownTimer
|
|
|
|
|
|
+ //通话界面fragment
|
|
|
|
+ private var skyCallFragment: Fragment? = null
|
|
|
|
|
|
private var updating :Boolean = false
|
|
private var updating :Boolean = false
|
|
|
|
|
|
@@ -108,14 +92,10 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
Constant.LOCAL_MAC = NetHelper.getInstance().macAddress
|
|
Constant.LOCAL_MAC = NetHelper.getInstance().macAddress
|
|
|
|
|
|
presenter.loadTcpServerHost()
|
|
presenter.loadTcpServerHost()
|
|
- //显示日期时间
|
|
|
|
- updateDateTime()
|
|
|
|
//注册广播
|
|
//注册广播
|
|
regReceiver()
|
|
regReceiver()
|
|
RecordHelper.getInstance().init()
|
|
RecordHelper.getInstance().init()
|
|
|
|
|
|
- initCountDownTimer()
|
|
|
|
-
|
|
|
|
if (!EventBus.getDefault().isRegistered(this)) {
|
|
if (!EventBus.getDefault().isRegistered(this)) {
|
|
EventBus.getDefault().register(this)
|
|
EventBus.getDefault().register(this)
|
|
}
|
|
}
|
|
@@ -159,6 +139,24 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
curFragment = tag
|
|
curFragment = tag
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ fun addCallFragment(fragment: Fragment) {
|
|
|
|
+ skyCallFragment = fragment
|
|
|
|
+ supportFragmentManager.beginTransaction()
|
|
|
|
+ .setCustomAnimations(R.anim.slide_down_in, R.anim.slide_up_out)
|
|
|
|
+ .add(R.id.call_frame, fragment)
|
|
|
|
+ .commit()
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fun removeCallFragment() {
|
|
|
|
+ if (skyCallFragment != null) {
|
|
|
|
+ supportFragmentManager.beginTransaction()
|
|
|
|
+ //.setCustomAnimations(R.anim.slide_down_in, R.anim.slide_down_out)
|
|
|
|
+ .remove(skyCallFragment)
|
|
|
|
+ .commit()
|
|
|
|
+ skyCallFragment = null
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
fun initDevice() {
|
|
fun initDevice() {
|
|
if (!TextUtils.isEmpty(Constant.LOCAL_MAC)) {
|
|
if (!TextUtils.isEmpty(Constant.LOCAL_MAC)) {
|
|
presenter.loadDeviceInfo(Constant.LOCAL_MAC)
|
|
presenter.loadDeviceInfo(Constant.LOCAL_MAC)
|
|
@@ -221,16 +219,13 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
}
|
|
}
|
|
|
|
|
|
app_version.setOnLongClickListener {
|
|
app_version.setOnLongClickListener {
|
|
- AppInfoDialogHelper.showAppDialog(this@CallingdoorActivity, object :DialogInterface.OnClickListener {
|
|
|
|
- override fun onClick(dialog: DialogInterface?, which: Int) {
|
|
|
|
- AppUpdateHelper.reboot(activity)
|
|
|
|
- }
|
|
|
|
- }, object :DialogInterface.OnClickListener {
|
|
|
|
- override fun onClick(dialog: DialogInterface?, which: Int) {
|
|
|
|
|
|
+ AppInfoDialogHelper.showAppDialog(this@CallingdoorActivity,
|
|
|
|
+ { dialog, which -> AppUpdateHelper.reboot(activity) },
|
|
|
|
+ { dialog, which ->
|
|
Constant.silentUpdate = false
|
|
Constant.silentUpdate = false
|
|
checkAppVersion()
|
|
checkAppVersion()
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ })
|
|
|
|
+
|
|
return@setOnLongClickListener true
|
|
return@setOnLongClickListener true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -243,23 +238,6 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
SerialPortUtil.getInstance().startHeartBeat()
|
|
SerialPortUtil.getInstance().startHeartBeat()
|
|
}
|
|
}
|
|
|
|
|
|
- fun initCountDownTimer() {
|
|
|
|
- val overTime = SettingConfig.getSipOverTime(this) * 1000L
|
|
|
|
- countDownTimer = object: CountDownTimer(overTime, 1000) {
|
|
|
|
- override fun onTick(millisUntilFinished: Long) {
|
|
|
|
- //
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- override fun onFinish() {
|
|
|
|
- //呼叫超时,返回到主界面
|
|
|
|
- showMessage("无人应答...")
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
|
- VoiceUtil.cancelAudioCall(Constant.DEVICE_ID)
|
|
|
|
- CallDialogHelper.dismissCallDialog()
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
override fun checkAppVersion() {
|
|
override fun checkAppVersion() {
|
|
Constant.APP_PATH = ""
|
|
Constant.APP_PATH = ""
|
|
//获取APP版本信息,门口机type=3
|
|
//获取APP版本信息,门口机type=3
|
|
@@ -271,7 +249,6 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
|
|
|
|
|
|
|
|
override fun destory() {
|
|
override fun destory() {
|
|
- countDownTimer.cancel()
|
|
|
|
unRegReceiver()
|
|
unRegReceiver()
|
|
if (EventBus.getDefault().isRegistered(this)) {
|
|
if (EventBus.getDefault().isRegistered(this)) {
|
|
EventBus.getDefault().unregister(this)
|
|
EventBus.getDefault().unregister(this)
|
|
@@ -345,8 +322,8 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
}
|
|
}
|
|
|
|
|
|
//检查版本
|
|
//检查版本
|
|
- Constant.silentUpdate = true
|
|
|
|
- checkAppVersion()
|
|
|
|
|
|
+ //Constant.silentUpdate = true
|
|
|
|
+ //checkAppVersion()
|
|
}
|
|
}
|
|
|
|
|
|
private fun connectSocket(){
|
|
private fun connectSocket(){
|
|
@@ -366,11 +343,11 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
SettingConfig.setDaytimeBrightness(this, partSetting.dayLight)
|
|
SettingConfig.setDaytimeBrightness(this, partSetting.dayLight)
|
|
SettingConfig.setNightBrightness(this, partSetting.nightLight)
|
|
SettingConfig.setNightBrightness(this, partSetting.nightLight)
|
|
|
|
|
|
- //分机白天夜晚系统音量
|
|
|
|
|
|
+ //白天夜晚系统音量
|
|
SettingConfig.setDoorDaytimeSystemVolume(this, partSetting.dayDoorVol)
|
|
SettingConfig.setDoorDaytimeSystemVolume(this, partSetting.dayDoorVol)
|
|
SettingConfig.setDoorNightSystemVolume(this, partSetting.nightDoorVol)
|
|
SettingConfig.setDoorNightSystemVolume(this, partSetting.nightDoorVol)
|
|
|
|
|
|
- //分机通话音量 没做白昼区分
|
|
|
|
|
|
+ //通话音量 没做白昼区分
|
|
SettingConfig.setExtensionCallVolume(this, partSetting.dayDoorVol)
|
|
SettingConfig.setExtensionCallVolume(this, partSetting.dayDoorVol)
|
|
|
|
|
|
SettingConfig.setSipOverTime(this, partSetting.sipOvertime)
|
|
SettingConfig.setSipOverTime(this, partSetting.sipOvertime)
|
|
@@ -440,13 +417,13 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
} else {
|
|
} else {
|
|
showMessage("当前设备可能未注册,不能呼叫")
|
|
showMessage("当前设备可能未注册,不能呼叫")
|
|
}
|
|
}
|
|
- } else if (Constant.CALL_STATE == Constant.CALL_INCOMING) {
|
|
|
|
|
|
+ } /*else if (Constant.CALL_STATE == Constant.CALL_INCOMING) {
|
|
inCalling()
|
|
inCalling()
|
|
} else if (Constant.CALL_STATE == Constant.CALL_CALLING) {
|
|
} else if (Constant.CALL_STATE == Constant.CALL_CALLING) {
|
|
hangupCall()
|
|
hangupCall()
|
|
} else if (Constant.CALL_STATE == Constant.CALL_OUTGOING) {
|
|
} else if (Constant.CALL_STATE == Constant.CALL_OUTGOING) {
|
|
cancelCall()
|
|
cancelCall()
|
|
- }
|
|
|
|
|
|
+ }*/
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -478,39 +455,19 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
|
|
|
|
//开始呼叫
|
|
//开始呼叫
|
|
fun startCall(type: Int) {
|
|
fun startCall(type: Int) {
|
|
- VoiceUtil.startAudioCall(Constant.DEVICE_ID)
|
|
|
|
- Constant.CALL_TYPE = type
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_OUTGOING
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //取消呼叫
|
|
|
|
- fun cancelCall() {
|
|
|
|
- VoiceUtil.cancelAudioCall(Constant.DEVICE_ID)
|
|
|
|
- CallDialogHelper.dismissCallDialog()
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
|
- countDownTimer.cancel()
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //进入通话
|
|
|
|
- fun inCalling() {
|
|
|
|
- VoiceUtil.acceptAudioCall(Constant.DEVICE_ID, Constant.fromId, Constant.interactionId)
|
|
|
|
- CallDialogHelper.dismissCallDialog()
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_CALLING
|
|
|
|
- countDownTimer.cancel()
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //挂断通话
|
|
|
|
- fun hangupCall() {
|
|
|
|
- VoiceUtil.handoffAudioCall(Constant.DEVICE_ID, Constant.fromId, Constant.interactionId)
|
|
|
|
- SocketManager.getInstance().endCall()
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //来电拒接
|
|
|
|
- fun rejectCall() {
|
|
|
|
- VoiceUtil.rejectAudioCall(Constant.DEVICE_ID, Constant.fromId, Constant.interactionId)
|
|
|
|
- CallDialogHelper.dismissCallDialog()
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
|
|
|
+ //通话之前先判断webrtc socket和tcp是否连接正常,否则不能建立通话
|
|
|
|
+ if (SocketManager.getInstance().socketOpen() && Constant.TCP_CONNECTED) {
|
|
|
|
+ //去电界面
|
|
|
|
+ Constant.CALL_TYPE = type
|
|
|
|
+ Constant.CALL_STATE = Constant.CALL_OUTGOING
|
|
|
|
+ var fragment = SkyCallFragment()
|
|
|
|
+ var bundle = Bundle()
|
|
|
|
+ bundle.putInt("call_state", 0)
|
|
|
|
+ fragment.arguments = bundle
|
|
|
|
+ addCallFragment(fragment)
|
|
|
|
+ } else {
|
|
|
|
+ showMessage("通话服务或网络未连接,请检查网络稍后再试")
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
|
@@ -525,82 +482,39 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //退出通话界面
|
|
|
|
+ Constant.EVENT_REMOVE_CALL_FRAGMENT -> {
|
|
|
|
+ if (skyCallFragment != null) {
|
|
|
|
+ Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
|
+ removeCallFragment()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
//TCP消息处理
|
|
//TCP消息处理
|
|
Constant.EVENT_TCP_MSG -> {
|
|
Constant.EVENT_TCP_MSG -> {
|
|
if (messageEvent.message is TcpModel) {
|
|
if (messageEvent.message is TcpModel) {
|
|
val tcpModel = messageEvent.message as TcpModel
|
|
val tcpModel = messageEvent.message as TcpModel
|
|
- val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
|
|
Log.d("TCP", "received tcp action: " + tcpModel.action + ", type: " + tcpModel.type)
|
|
Log.d("TCP", "received tcp action: " + tcpModel.action + ", type: " + tcpModel.type)
|
|
if (tcpModel.getType() == TcpType.VOICE) {
|
|
if (tcpModel.getType() == TcpType.VOICE) {
|
|
|
|
+ val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
if (tcpModel.action == TcpAction.VoiceAction.CALL) {
|
|
if (tcpModel.action == TcpAction.VoiceAction.CALL) {
|
|
- //当前为待机状态,切换到来电界面,否则不做处理
|
|
|
|
- if (Constant.CALL_STATE == Constant.CALL_STANDBY) {
|
|
|
|
- Constant.fromId = tcpModel.fromId
|
|
|
|
- Constant.interactionId = interactionVO.id
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_INCOMING
|
|
|
|
-
|
|
|
|
- CallDialogHelper.dismissCallDialog()
|
|
|
|
- CallDialogHelper.showCallDialog(this@CallingdoorActivity, 1, View.OnClickListener {
|
|
|
|
- //呼出取消
|
|
|
|
- }, View.OnClickListener {
|
|
|
|
- //来电接听
|
|
|
|
- inCalling()
|
|
|
|
- }, View.OnClickListener {
|
|
|
|
- //来电拒接
|
|
|
|
- rejectCall()
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- } else if (tcpModel.getAction() == TcpAction.VoiceAction.ACCEPT) {
|
|
|
|
- //我方呼出,对方接受
|
|
|
|
- Constant.interactionId = interactionVO.id
|
|
|
|
Constant.fromId = tcpModel.fromId
|
|
Constant.fromId = tcpModel.fromId
|
|
- CallDialogHelper.dismissCallDialog()
|
|
|
|
- countDownTimer.cancel()
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_CALLING
|
|
|
|
-
|
|
|
|
- if (Constant.CALL_TYPE == Constant.VIDEO_CALL) {
|
|
|
|
- CallSingleActivity.openActivity(this, interactionVO.toSipId, true, interactionVO.toSipId, false, false)
|
|
|
|
|
|
+ Constant.interactionId = interactionVO.id
|
|
|
|
+ Constant.CALL_STATE = Constant.CALL_INCOMING
|
|
|
|
+ //通话之前先判断webrtc socket是否连接上,否则不能建立通话
|
|
|
|
+ if (SocketManager.getInstance().socketOpen()) {
|
|
|
|
+ //来电界面
|
|
|
|
+ var fragment = SkyCallFragment()
|
|
|
|
+ var bundle = Bundle()
|
|
|
|
+ bundle.putInt("call_state", 1)
|
|
|
|
+ bundle.putSerializable("tcp_model", tcpModel)
|
|
|
|
+ fragment.arguments = bundle
|
|
|
|
+ addCallFragment(fragment)
|
|
} else {
|
|
} else {
|
|
- CallSingleActivity.openActivity(this, interactionVO.toSipId, true, interactionVO.toSipId, true, false)
|
|
|
|
|
|
+ showMessage("通话服务还未建立连接,请稍后")
|
|
|
|
+ Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
|
+ VoiceUtil.rejectAudioCall(Constant.DEVICE_ID, Constant.fromId, Constant.interactionId)
|
|
}
|
|
}
|
|
- } else if (tcpModel.getAction() == TcpAction.VoiceAction.REJECT) {
|
|
|
|
- //我方呼出,对方拒绝
|
|
|
|
- showMessage("对方已拒绝!")
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
|
- CallDialogHelper.dismissCallDialog()
|
|
|
|
- countDownTimer.cancel()
|
|
|
|
- } else if (tcpModel.getAction() == TcpAction.VoiceAction.CALLING) {
|
|
|
|
- //我方呼出,对方通话中
|
|
|
|
- showMessage("对方正在忙线中,暂时无法接听!")
|
|
|
|
- } else if (tcpModel.getAction() == TcpAction.VoiceAction.SUCCESS) {
|
|
|
|
- //呼叫成功
|
|
|
|
- Constant.interactionId = interactionVO.id
|
|
|
|
- countDownTimer.start()
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_OUTGOING
|
|
|
|
-
|
|
|
|
- CallDialogHelper.dismissCallDialog()
|
|
|
|
- CallDialogHelper.showCallDialog(this@CallingdoorActivity, 0, View.OnClickListener {
|
|
|
|
- //呼出取消
|
|
|
|
- cancelCall()
|
|
|
|
- }, View.OnClickListener {
|
|
|
|
- //来电接听
|
|
|
|
- }, View.OnClickListener {
|
|
|
|
- //来电拒接
|
|
|
|
- })
|
|
|
|
- } else if (tcpModel.getAction() == TcpAction.VoiceAction.FAILED) {
|
|
|
|
- //我方呼出,对方不在线,设备离线或其它错误
|
|
|
|
- showMessage("呼叫失败,对方可能不在线!")
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
|
- } else if (tcpModel.getAction() == TcpAction.VoiceAction.HANDOFF) {
|
|
|
|
- //对方挂断,不论我方呼出或呼入
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
|
- CallDialogHelper.dismissCallDialog()
|
|
|
|
- countDownTimer.cancel()
|
|
|
|
- } else if (tcpModel.getAction() == TcpAction.VoiceAction.CANCEL) {
|
|
|
|
- //对方呼叫时取消
|
|
|
|
- Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
|
|
- CallDialogHelper.dismissCallDialog()
|
|
|
|
- countDownTimer.cancel()
|
|
|
|
}
|
|
}
|
|
} else if (tcpModel.type == TcpType.SOS) {
|
|
} else if (tcpModel.type == TcpType.SOS) {
|
|
if (tcpModel.action == TcpAction.SOSAction.CANCEL) {
|
|
if (tcpModel.action == TcpAction.SOSAction.CANCEL) {
|
|
@@ -614,7 +528,7 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
checkAppVersion()
|
|
checkAppVersion()
|
|
}
|
|
}
|
|
} else if (tcpModel.action == TcpAction.DataAction.REFRESH) {
|
|
} else if (tcpModel.action == TcpAction.DataAction.REFRESH) {
|
|
- //重新加载数据,比如出院,入院等
|
|
|
|
|
|
+ //重新加载数据
|
|
initDevice()
|
|
initDevice()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -643,10 +557,6 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- private fun updateDateTime() {
|
|
|
|
- view_title_layout_tv_time.setText(TimeHandle.getDateTime("yyyy-MM-dd HH:mm E"));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
private fun updateNetState() {
|
|
private fun updateNetState() {
|
|
if (NetHelper.getInstance().networkType == ConnectivityManager.TYPE_WIFI) {
|
|
if (NetHelper.getInstance().networkType == ConnectivityManager.TYPE_WIFI) {
|
|
view_title_layout_iv_wifi.visibility = View.VISIBLE
|
|
view_title_layout_iv_wifi.visibility = View.VISIBLE
|
|
@@ -662,13 +572,12 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
view_title_layout_iv_wifi.visibility = View.GONE
|
|
view_title_layout_iv_wifi.visibility = View.GONE
|
|
}
|
|
}
|
|
|
|
|
|
- if (NetHelper.isBTConnected()) {
|
|
|
|
|
|
+ /*if (NetHelper.isBTConnected()) {
|
|
view_title_layout_iv_bt.visibility = View.VISIBLE
|
|
view_title_layout_iv_bt.visibility = View.VISIBLE
|
|
view_title_layout_iv_bt.setImageResource(R.mipmap.ic_bt_success)
|
|
view_title_layout_iv_bt.setImageResource(R.mipmap.ic_bt_success)
|
|
} else {
|
|
} else {
|
|
view_title_layout_iv_bt.visibility = View.GONE
|
|
view_title_layout_iv_bt.visibility = View.GONE
|
|
- }
|
|
|
|
- view_title_layout_iv_day_night.setImageResource(R.mipmap.ic_daylight)
|
|
|
|
|
|
+ }*/
|
|
|
|
|
|
/*
|
|
/*
|
|
* 检查网络情况,若tcp断开连接多次且IP也是空的则网络异常,重启设备
|
|
* 检查网络情况,若tcp断开连接多次且IP也是空的则网络异常,重启设备
|
|
@@ -744,7 +653,6 @@ class CallingdoorActivity :BaseActivity<CallingdoorActivityPresenter, Callingdoo
|
|
if (intent.action == Intent.ACTION_TIME_TICK
|
|
if (intent.action == Intent.ACTION_TIME_TICK
|
|
|| intent.action == Intent.ACTION_TIME_CHANGED
|
|
|| intent.action == Intent.ACTION_TIME_CHANGED
|
|
|| intent.action == Intent.ACTION_TIMEZONE_CHANGED) {
|
|
|| intent.action == Intent.ACTION_TIMEZONE_CHANGED) {
|
|
- updateDateTime()
|
|
|
|
updateNetState()
|
|
updateNetState()
|
|
updateSettings()
|
|
updateSettings()
|
|
|
|
|