|
@@ -19,9 +19,11 @@ import com.enation.javashop.net.engine.model.NetState
|
|
|
import com.enation.javashop.net.engine.plugin.permission.RxPermissions
|
|
|
import com.enation.javashop.utils.base.tool.CommonTool
|
|
|
import com.enation.javashop.utils.base.widget.LoadingDialog
|
|
|
+import com.google.gson.Gson
|
|
|
import com.wdkl.core.consts.Urls
|
|
|
import com.wdkl.core.socket.IUserState
|
|
|
import com.wdkl.core.socket.SocketManager
|
|
|
+import com.wdkl.core.voip.CallMultiActivity
|
|
|
import com.wdkl.ncs.android.component.home.BuildConfig
|
|
|
import com.wdkl.ncs.android.component.home.R
|
|
|
import com.wdkl.ncs.android.component.home.broadcast.BatteryBroadcastReceiver
|
|
@@ -30,6 +32,7 @@ import com.wdkl.ncs.android.component.home.launch.HomeLaunch
|
|
|
import com.wdkl.ncs.android.component.home.service.TcpHandleService
|
|
|
import com.wdkl.ncs.android.component.home.service.TcpHandleService.instance.updateLastTime
|
|
|
import com.wdkl.ncs.android.component.home.service.WdKeepAliveService
|
|
|
+import com.wdkl.ncs.android.component.home.util.CallDialogHelper
|
|
|
import com.wdkl.ncs.android.component.home.util.NetHelper
|
|
|
import com.wdkl.ncs.android.component.home.util.SpeechUtil
|
|
|
import com.wdkl.ncs.android.component.home.util.Util
|
|
@@ -43,8 +46,11 @@ import com.wdkl.ncs.android.middleware.logic.presenter.home.HomeActivityPresente
|
|
|
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.vo.DeviceVO
|
|
|
+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.DeviceChannel
|
|
|
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.TcpModel
|
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction
|
|
|
import com.wdkl.ncs.android.middleware.utils.MessageEvent
|
|
@@ -90,12 +96,12 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
loadingDialog = CommonTool.createLoadingDialog(this, R.layout.custom_loading,R.id.loadding_image)
|
|
|
|
|
|
//保活守护进程
|
|
|
- DaemonEnv.init(this);
|
|
|
+ //DaemonEnv.init(this);
|
|
|
//請求用戶忽略电池优化
|
|
|
// val reason = "轨迹跟踪服务的持续运行"
|
|
|
// DaemonEnv.whiteListMatters(this, reason)
|
|
|
//启动work服务
|
|
|
- DaemonEnv.startServiceSafelyWithData(this, WdKeepAliveService::class.java)
|
|
|
+ //DaemonEnv.startServiceSafelyWithData(this, WdKeepAliveService::class.java)
|
|
|
|
|
|
//系统设置按钮
|
|
|
btn_system_setting0.setOnClickListener {
|
|
@@ -251,9 +257,10 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
|
|
|
//问询事件
|
|
|
btn_callout.setOnClickListener {
|
|
|
- loadingDialog.show()
|
|
|
- val tcpModel = VideoUtil.videoOutCall(Constants.deviceId)
|
|
|
- TcpClient.getInstance().sendMsg(tcpModel.toJson())
|
|
|
+ //loadingDialog.show()
|
|
|
+ //val tcpModel = VideoUtil.videoOutCall(Constants.deviceId)
|
|
|
+ //TcpClient.getInstance().sendMsg(tcpModel.toJson())
|
|
|
+ VideoUtil.startVideoOutCall(Constants.deviceId)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -275,7 +282,7 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
runOnUiThread(Runnable {
|
|
|
tv_rtc_status.setBackgroundColor(Color.RED)
|
|
|
})
|
|
|
- if (SocketManager.getInstance().connectFlag) {
|
|
|
+ if (!SocketManager.getInstance().connectFlag) {
|
|
|
reConnectRTC()
|
|
|
}
|
|
|
}
|
|
@@ -304,7 +311,7 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
}
|
|
|
|
|
|
override fun destory() {
|
|
|
- SpeechUtil.getInstance().release()
|
|
|
+ //SpeechUtil.getInstance().release()
|
|
|
//注销webRTC
|
|
|
SocketManager.getInstance().unConnect()
|
|
|
|
|
@@ -326,16 +333,67 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
|
|
fun onMoonEvent(messageEvent: MessageEvent) {
|
|
|
if (messageEvent.tag == Constants.VIDEO_MSG){
|
|
|
- loadingDialog.dismiss()
|
|
|
+ //loadingDialog.dismiss()
|
|
|
val tcpModel = messageEvent.getMessage() as TcpModel
|
|
|
+ var interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
|
|
|
|
when (tcpModel.action){
|
|
|
TcpAction.VideoAction.CALLING->{
|
|
|
+ DeviceChannel.calling = false
|
|
|
+ CallDialogHelper.dismissCallDialog()
|
|
|
showMessage("对方忙线中")
|
|
|
}
|
|
|
+
|
|
|
TcpAction.VideoAction.FAILED->{
|
|
|
+ DeviceChannel.calling = false
|
|
|
showMessage("呼叫失败,请稍候重试")
|
|
|
}
|
|
|
+
|
|
|
+ TcpAction.VideoAction.SUCCESS->{
|
|
|
+ DeviceChannel.calling = true
|
|
|
+ Constants.fromId = tcpModel.fromId
|
|
|
+ Constants.interactionId = interactionVO.id
|
|
|
+ Util.wakeUpAndUnlock(this)
|
|
|
+
|
|
|
+ CallDialogHelper.dismissCallDialog()
|
|
|
+ CallDialogHelper.showCallDialog(this@HomeActivity, 0, "探视请求已发送,请等待...", View.OnClickListener {
|
|
|
+ //呼出取消
|
|
|
+ DeviceChannel.calling = false
|
|
|
+ VideoUtil.cancelVideoCall(Constants.deviceId, Constants.fromId, Constants.interactionId)
|
|
|
+ CallDialogHelper.dismissCallDialog()
|
|
|
+ }, View.OnClickListener {
|
|
|
+ //来电接听
|
|
|
+ }, View.OnClickListener {
|
|
|
+ //来电拒接
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ TcpAction.VideoAction.ACCEPT-> {
|
|
|
+ /*Constants.fromId = tcpModel.fromId
|
|
|
+ DeviceChannel.calling = true
|
|
|
+ CallDialogHelper.dismissCallDialog()
|
|
|
+ Constants.interactionId = interactionVO.id
|
|
|
+ // 加入房间
|
|
|
+ val roomId = "visit-room-" + Constants.interactionId
|
|
|
+ CallMultiActivity.openActivity(activity, roomId, false)*/
|
|
|
+ }
|
|
|
+
|
|
|
+ TcpAction.VideoAction.VIDEO_IN_CALL-> {
|
|
|
+ Constants.fromId = tcpModel.fromId
|
|
|
+ DeviceChannel.calling = true
|
|
|
+ Constants.interactionId = interactionVO.id
|
|
|
+ CallDialogHelper.dismissCallDialog()
|
|
|
+
|
|
|
+ // 加入房间
|
|
|
+ val roomId = "visit-room-" + Constants.interactionId
|
|
|
+ CallMultiActivity.openActivity(activity, roomId, false)
|
|
|
+ }
|
|
|
+
|
|
|
+ TcpAction.VideoAction.REJECT->{
|
|
|
+ showMessage("对方拒绝")
|
|
|
+ DeviceChannel.calling = false
|
|
|
+ CallDialogHelper.dismissCallDialog()
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|