|
@@ -1,10 +1,13 @@
|
|
|
package com.wdkl.ncs.android.component.home.activity
|
|
|
|
|
|
import android.Manifest
|
|
|
+import android.content.BroadcastReceiver
|
|
|
import android.content.Context
|
|
|
import android.content.Intent
|
|
|
+import android.content.IntentFilter
|
|
|
import android.content.pm.PackageManager
|
|
|
import android.graphics.Color
|
|
|
+import android.net.ConnectivityManager
|
|
|
import android.os.Bundle
|
|
|
import android.provider.Settings
|
|
|
import android.support.v4.app.ActivityCompat
|
|
@@ -51,6 +54,7 @@ import com.wdkl.ncs.android.middleware.model.vo.DeviceVO
|
|
|
import com.wdkl.ncs.android.middleware.model.vo.DeviceWatchInfoVO
|
|
|
import com.wdkl.ncs.android.middleware.model.vo.InteractionVO
|
|
|
import com.wdkl.ncs.android.middleware.tcp.TcpClient
|
|
|
+import com.wdkl.ncs.android.middleware.tcp.TcpClientHandler
|
|
|
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
|
|
@@ -82,6 +86,12 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
|
|
|
var currentFragment: Fragment? = null
|
|
|
|
|
|
+ var clickTime: Long = 0
|
|
|
+
|
|
|
+ var netAvailable: Boolean = false
|
|
|
+
|
|
|
+ private lateinit var receiver: TimeReceiver
|
|
|
+
|
|
|
override fun getLayId(): Int {
|
|
|
return R.layout.activity_home
|
|
|
}
|
|
@@ -174,9 +184,14 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
}
|
|
|
|
|
|
private fun regReceiver() {
|
|
|
+ receiver = TimeReceiver()
|
|
|
+ var intentFilter = IntentFilter()
|
|
|
+ intentFilter.addAction(Intent.ACTION_TIME_TICK)
|
|
|
+ registerReceiver(receiver, intentFilter)
|
|
|
}
|
|
|
|
|
|
private fun releaseReceiver(){
|
|
|
+ unregisterReceiver(receiver)
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -266,10 +281,16 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
|
|
|
//问询事件
|
|
|
btn_callout.setOnClickListener {
|
|
|
- //loadingDialog.show()
|
|
|
- //val tcpModel = VideoUtil.videoOutCall(Constants.deviceId)
|
|
|
- //TcpClient.getInstance().sendMsg(tcpModel.toJson())
|
|
|
- VideoUtil.startVideoOutCall(Constants.deviceId)
|
|
|
+ if (System.currentTimeMillis() - clickTime > 3000) {
|
|
|
+ if (TcpClientHandler.getConnected() && SocketManager.getInstance().socketOpen() && netAvailable) {
|
|
|
+ VideoUtil.startVideoOutCall(Constants.deviceId)
|
|
|
+ } else {
|
|
|
+ showMessage("通话服务或网络未连接,请检查网络稍后再试")
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ showMessage("点击太频繁")
|
|
|
+ }
|
|
|
+ clickTime = System.currentTimeMillis()
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -281,6 +302,7 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
|
|
|
override fun userLogin() {
|
|
|
Log.i(TAG, "wdkl rtc 登录成功")
|
|
|
+ netAvailable = true
|
|
|
runOnUiThread(Runnable {
|
|
|
tv_rtc_status.setBackgroundColor(Color.GREEN)
|
|
|
})
|
|
@@ -288,12 +310,13 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
|
|
|
override fun userLogout() {
|
|
|
Log.w(TAG, "wdkl rtc 用户登出")
|
|
|
+ netAvailable = false
|
|
|
runOnUiThread(Runnable {
|
|
|
tv_rtc_status.setBackgroundColor(Color.RED)
|
|
|
})
|
|
|
- if (!SocketManager.getInstance().connectFlag) {
|
|
|
+ /*if (!SocketManager.getInstance().connectFlag) {
|
|
|
reConnectRTC()
|
|
|
- }
|
|
|
+ }*/
|
|
|
}
|
|
|
|
|
|
fun reConnectRTC(){
|
|
@@ -327,14 +350,14 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
releaseReceiver()
|
|
|
}
|
|
|
|
|
|
- /*override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
|
|
|
+ override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
|
|
|
Log.i(TAG, "keyup keyCode " + keyCode)
|
|
|
return if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_UP) {
|
|
|
//不执行父类点击事件
|
|
|
true
|
|
|
} else super.onKeyUp(keyCode, event)
|
|
|
//继续执行父类其他点击事件
|
|
|
- }*/
|
|
|
+ }
|
|
|
|
|
|
override fun bindEvent() {
|
|
|
}
|
|
@@ -464,6 +487,26 @@ class HomeActivity : BaseActivity<HomeActivityPresenter, ActivityHomeBinding>(),
|
|
|
.add(R.id.frame_visit, currentFragment)
|
|
|
.commit()
|
|
|
watch_activity_home_linyout.visibility = View.GONE
|
|
|
+ } else if (messageEvent.tag == Constants.EVENT_TCP_BREAK) {
|
|
|
+ if (TcpClientHandler.getConnected()) {
|
|
|
+ netAvailable = true
|
|
|
+ } else {
|
|
|
+ netAvailable = false
|
|
|
+ tv_rtc_status.setBackgroundColor(Color.RED)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ inner class TimeReceiver: BroadcastReceiver() {
|
|
|
+ override fun onReceive(context: Context, intent: Intent) {
|
|
|
+ if (intent.action == Intent.ACTION_TIME_TICK) {
|
|
|
+ if (SocketManager.getInstance().socketOpen() && SocketManager.getInstance().userState == 1 && TcpClientHandler.getConnected()) {
|
|
|
+ tv_rtc_status.setBackgroundColor(Color.GREEN)
|
|
|
+ } else {
|
|
|
+ SocketManager.getInstance().connect(Urls.WS, Constants.sipId, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|