diff --git a/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt b/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt index bc95f3b..a0fa938 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/view/MainActivity.kt @@ -44,10 +44,12 @@ } private val kTag = "MainActivity" + private val context = this private val fragmentPages by lazy { ArrayList() } private val pageTitles = arrayOf("相机控制", "激光监测", "语音设置", "基础配置") private val options = arrayListOf("修改安全树视频相机IP地址", "修改安全树数据通信IP地址") private var clickTime: Long = 0 + private var isRtspPlaying = false init { fragmentPages.add(DeviceControllerFragment()) @@ -59,12 +61,18 @@ override fun handleMessage(msg: Message): Boolean { when (msg.what) { LocaleConstant.PLAY_RTSP_CODE -> { - val cameraIP = SaveKeyValues.getValue( - LocaleConstant.SAFE_TREE_CAMERA_IP_KEY, "192.168.10.137" - ) as String - val rtsp = "rtsp://${cameraIP}:554/h264/ch1/sub/av_stream" - VideoPlayerManager.setGSYVideoPlayerOptions(binding.rtspPlayerView, rtsp) - binding.rtspPlayerView.startPlayLogic() + isRtspPlaying = if (isRtspPlaying) { + binding.rtspPlayerView.release() + false + } else { + val cameraIP = SaveKeyValues.getValue( + LocaleConstant.SAFE_TREE_CAMERA_IP_KEY, "192.168.10.137" + ) as String + val rtsp = "rtsp://${cameraIP}:554/h264/ch1/sub/av_stream" + VideoPlayerManager.setGSYVideoPlayerOptions(binding.rtspPlayerView, rtsp) + binding.rtspPlayerView.startPlayLogic() + true + } } } return true @@ -118,9 +126,9 @@ override fun onRightClick() { BottomActionSheet.Builder() - .setContext(this@MainActivity) + .setContext(context) .setActionItemTitle(options) - .setItemTextColor(R.color.mainThemeColor.convertColor(this@MainActivity)) + .setItemTextColor(R.color.mainThemeColor.convertColor(context)) .setOnActionSheetListener(object : BottomActionSheet.OnActionSheetListener { override fun onActionItemClick(position: Int) { when (position) { @@ -137,7 +145,7 @@ * rtsp流IP地址,默认是192.168.10.137 * */ private fun modifyCameraIp() { - AlertDialog.Builder(this@MainActivity) + AlertDialog.Builder(context) .setTitle(getString(R.string.app_name)) .setIcon(R.mipmap.ic_launcher) .setView(R.layout.dialog_input_camera_ip) @@ -150,7 +158,7 @@ if (value.isNotBlank()) { SaveKeyValues.putValue(LocaleConstant.SAFE_TREE_CAMERA_IP_KEY, value) } else { - "什么都还没输入呢!".show(this@MainActivity) + "什么都还没输入呢!".show(context) } }.create().show() } @@ -159,7 +167,7 @@ * 板子tcp通信IP地址,默认是192.168.10.51 * */ private fun modifySocketIp() { - AlertDialog.Builder(this@MainActivity) + AlertDialog.Builder(this) .setTitle(getString(R.string.app_name)) .setIcon(R.mipmap.ic_launcher) .setView(R.layout.dialog_input_socket_ip) @@ -173,19 +181,23 @@ SaveKeyValues.putValue(LocaleConstant.SAFE_TREE_SOCKET_IP_KEY, value) //设置通信IP之后需要重启服务 lifecycleScope.launch(Dispatchers.IO) { - stopService(Intent(this@MainActivity, SocketConnectionService::class.java)) + stopService(Intent(context, SocketConnectionService::class.java)) delay(1000) - startService(Intent(this@MainActivity, SocketConnectionService::class.java)) + startService(Intent(context, SocketConnectionService::class.java)) } - "安全树数据通信IP地址已更改,请注意切换网络".show(this) + disconnectCurrentWiFi() } else { - "什么都还没输入呢!".show(this@MainActivity) + "什么都还没输入呢!".show(context) } }.create().show() } + private fun disconnectCurrentWiFi() { + "安全树数据通信IP地址已更改,请注意切换网络".show(this) + } + override fun onRequestPermissionsResult( requestCode: Int, permissions: Array, grantResults: IntArray ) {