|
@@ -49,10 +49,13 @@ import com.wdkl.app.ncs.callingdoor.fragment.NurseFragment
|
|
|
import com.wdkl.app.ncs.callingdoor.fragment.YhFragment
|
|
|
import com.wdkl.ncs.android.lib.base.BaseActivity
|
|
|
import com.wdkl.ncs.android.lib.base.BaseApplication
|
|
|
+import com.wdkl.ncs.android.lib.netdetection.ui.NetDetectActivity
|
|
|
import com.wdkl.ncs.android.lib.utils.*
|
|
|
import com.wdkl.ncs.android.lib.utils.TimeHandle.convertTimeToMilliseconds
|
|
|
import com.wdkl.ncs.android.lib.vo.filter
|
|
|
import com.wdkl.ncs.android.lib.widget.MenuDialog
|
|
|
+import com.wdkl.ncs.android.middleware.api.ApiManager
|
|
|
+import com.wdkl.ncs.android.middleware.api.UrlManager
|
|
|
import com.wdkl.ncs.android.middleware.common.Constant
|
|
|
import com.wdkl.ncs.android.middleware.common.MessageEvent
|
|
|
import com.wdkl.ncs.android.middleware.common.SipStatus
|
|
@@ -67,9 +70,11 @@ import com.wdkl.ncs.android.middleware.model.dos.RoleDO
|
|
|
import com.wdkl.ncs.android.middleware.model.dto.TcpSeverDTO
|
|
|
import com.wdkl.ncs.android.middleware.model.vo.*
|
|
|
import com.wdkl.ncs.android.middleware.tcp.TcpClient
|
|
|
+import com.wdkl.ncs.android.middleware.tcp.channel.ImUtil
|
|
|
import com.wdkl.ncs.android.middleware.tcp.channel.OtherUtil
|
|
|
import com.wdkl.ncs.android.middleware.tcp.channel.VideoUtil
|
|
|
import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil
|
|
|
+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.TcpAction
|
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpType
|
|
@@ -142,6 +147,9 @@ class CallingbedActivity :BaseActivity<BedCallingbedActivityPresenter, Callingbe
|
|
|
private var clickSosTime : Long = 0
|
|
|
private var clickCallTime : Long = 0
|
|
|
|
|
|
+ //已响应事件的Id
|
|
|
+ private var responsed = TreeSet<Int>()
|
|
|
+
|
|
|
//网络异常计数
|
|
|
private var netErrCount : Int = 0
|
|
|
|
|
@@ -698,7 +706,6 @@ class CallingbedActivity :BaseActivity<BedCallingbedActivityPresenter, Callingbe
|
|
|
if (Constant.DEVICE_ID != -1) {
|
|
|
OtherUtil.sendReinforce(Constant.DEVICE_ID)
|
|
|
ReinforcementsDialogHelper.showDialog(activity, true)
|
|
|
-// WidgetsUtil.showToastWithImage(getString(R.string.support_sent), 200f)
|
|
|
SoundPoolManager.getInstance().playSound(4, 1.0f, 1.0f, 0)
|
|
|
} else {
|
|
|
showMessage("null device id!")
|
|
@@ -1673,10 +1680,39 @@ class CallingbedActivity :BaseActivity<BedCallingbedActivityPresenter, Callingbe
|
|
|
Log.d("setTime", "set sys time2: $timeStr, $timeZone")
|
|
|
}
|
|
|
}
|
|
|
+ } else if (tcpModel.action == TcpAction.DataAction.INTERACTION
|
|
|
+ || tcpModel.action == TcpAction.EventAction.RESPONSE
|
|
|
+ || tcpModel.action == TcpAction.CallbackAction.SUCCESS
|
|
|
+
|
|
|
+ ) {
|
|
|
+ if (tcpModel.action == TcpAction.EventAction.RESPONSE && tcpModel.type.equals(TcpType.EVENT)) { //事件响应,语音播报已响应
|
|
|
+ val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
|
+ if (!responsed.contains(interactionVO.id)) { //已响应过的事件不在播报
|
|
|
+ val speakStr = (interactionVO.actionEndMemberName ?: "") + "已响应" + interactionVO.data + "//请稍候"
|
|
|
+ SpeechUtil.getInstance().stopSpeak()
|
|
|
+ SpeechUtil.getInstance().speak(speakStr)
|
|
|
+ responsed.add(interactionVO.id)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (tcpModel.action == TcpAction.IMAction.MSG) {
|
|
|
+ if (Constant.CALL_STATE != Constant.CALL_STANDBY) {
|
|
|
+ showMessage("通话中,无法播放留言。")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ MediaPlayHelper.getInstance().stopMusic()
|
|
|
+ val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
|
+ MediaPlayHelper.getInstance().playUrlMusic(UrlManager.build().base + "/" + interactionVO.data.toString(), 1.0f, false)
|
|
|
+ showMessage("新的语音留言")
|
|
|
+
|
|
|
+ if (interactionVO.actionEnd == null) {
|
|
|
+ val tcpModelRead = ImUtil.imRead(Constant.DEVICE_ID, interactionVO.fromDeviceId, interactionVO.id)
|
|
|
+ TcpClient.getInstance().sendTcp(tcpModelRead, false, null)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
//探视
|
|
|
- if (tcpModel.type == TcpType.VIDEO) {
|
|
|
+ else if (tcpModel.type == TcpType.VIDEO) {
|
|
|
Util.wakeUpAndUnlock()
|
|
|
if (tcpModel.action == TcpAction.VideoAction.VIDEO_INVITE_JOIN) {
|
|
|
val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|