diff --git a/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt index 577f1d9..447a2d9 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt @@ -13,8 +13,11 @@ * 执行设备控制指令 */ suspend fun executeDeviceCommand(action: String, speed: Int): String { + val cameraIP = SaveKeyValues.getValue( + LocaleConstant.SAFE_TREE_CAMERA_IP_KEY, "192.168.10.137" + ) as String val httpConfig = SaveKeyValues.getValue( - LocaleConstant.DEVICE_CONTROL_SERVER_CONFIG_KEY, LocaleConstant.CAMERA_IP + LocaleConstant.DEVICE_CONTROL_SERVER_CONFIG_KEY, cameraIP ) as String if (httpConfig == "") { Log.d(kTag, "executeDeviceCommand: httpConfig is null") diff --git a/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt index 577f1d9..447a2d9 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt @@ -13,8 +13,11 @@ * 执行设备控制指令 */ suspend fun executeDeviceCommand(action: String, speed: Int): String { + val cameraIP = SaveKeyValues.getValue( + LocaleConstant.SAFE_TREE_CAMERA_IP_KEY, "192.168.10.137" + ) as String val httpConfig = SaveKeyValues.getValue( - LocaleConstant.DEVICE_CONTROL_SERVER_CONFIG_KEY, LocaleConstant.CAMERA_IP + LocaleConstant.DEVICE_CONTROL_SERVER_CONFIG_KEY, cameraIP ) as String if (httpConfig == "") { Log.d(kTag, "executeDeviceCommand: httpConfig is null") diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt index 2be459d..31d9663 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt @@ -51,8 +51,5 @@ const val OPEN_VOICE_KEY = "Key_6" const val METHANE_DEFAULT_VALUE_KEY = "Key_7" const val CURRENT_VOICE_VALUE_KEY = "Key_8" - - //相机IP - const val CAMERA_IP = "192.168.10.137" - const val SUB_RTSP_URL = "rtsp://${CAMERA_IP}:554/h264/ch1/sub/av_stream" + const val SAFE_TREE_CAMERA_IP_KEY = "Key_9" } \ No newline at end of file diff --git a/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt index 577f1d9..447a2d9 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt @@ -13,8 +13,11 @@ * 执行设备控制指令 */ suspend fun executeDeviceCommand(action: String, speed: Int): String { + val cameraIP = SaveKeyValues.getValue( + LocaleConstant.SAFE_TREE_CAMERA_IP_KEY, "192.168.10.137" + ) as String val httpConfig = SaveKeyValues.getValue( - LocaleConstant.DEVICE_CONTROL_SERVER_CONFIG_KEY, LocaleConstant.CAMERA_IP + LocaleConstant.DEVICE_CONTROL_SERVER_CONFIG_KEY, cameraIP ) as String if (httpConfig == "") { Log.d(kTag, "executeDeviceCommand: httpConfig is null") diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt index 2be459d..31d9663 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt @@ -51,8 +51,5 @@ const val OPEN_VOICE_KEY = "Key_6" const val METHANE_DEFAULT_VALUE_KEY = "Key_7" const val CURRENT_VOICE_VALUE_KEY = "Key_8" - - //相机IP - const val CAMERA_IP = "192.168.10.137" - const val SUB_RTSP_URL = "rtsp://${CAMERA_IP}:554/h264/ch1/sub/av_stream" + const val SAFE_TREE_CAMERA_IP_KEY = "Key_9" } \ No newline at end of file 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 b2593ea..e77485c 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 @@ -7,6 +7,8 @@ import android.view.KeyEvent import android.view.View import android.view.ViewGroup +import androidx.appcompat.app.AlertDialog +import androidx.appcompat.widget.AppCompatEditText import androidx.fragment.app.Fragment import com.casic.app.safetreecontroller.R import com.casic.app.safetreecontroller.adapter.TabPageViewAdapter @@ -23,7 +25,9 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import pub.devrel.easypermissions.EasyPermissions class MainActivity : KotlinBaseActivity(), Handler.Callback, @@ -47,7 +51,14 @@ override fun handleMessage(msg: Message): Boolean { when (msg.what) { - LocaleConstant.PLAY_RTSP_CODE -> binding.rtspPlayerView.startPlayLogic() + 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() + } } return true } @@ -77,9 +88,6 @@ binding.rtspPlayerView.titleTextView.visibility = View.GONE binding.rtspPlayerView.backButton.visibility = View.GONE binding.rtspPlayerView.fullscreenButton.visibility = View.GONE - VideoPlayerManager.setGSYVideoPlayerOptions( - binding.rtspPlayerView, LocaleConstant.SUB_RTSP_URL - ) } override fun initEvent() { @@ -96,6 +104,30 @@ override fun setupTopBarLayout() { binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + + } + + override fun onRightClick() { + AlertDialog.Builder(this@MainActivity) + .setTitle(getString(R.string.app_name)) + .setIcon(R.mipmap.ic_launcher) + .setView(R.layout.dialog_input_ip) + .setNegativeButton("取消") { _, _ -> } + .setPositiveButton("确定") { dialog, _ -> + val inputView = (dialog as AlertDialog).findViewById( + R.id.inputView + ) + val value = inputView?.text.toString() + if (value.isNotBlank()) { + SaveKeyValues.putValue(LocaleConstant.SAFE_TREE_CAMERA_IP_KEY, value) + } else { + "什么都还没输入呢!".show(this@MainActivity) + } + }.create().show() + } + }) } override fun onRequestPermissionsResult( diff --git a/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt index 577f1d9..447a2d9 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt @@ -13,8 +13,11 @@ * 执行设备控制指令 */ suspend fun executeDeviceCommand(action: String, speed: Int): String { + val cameraIP = SaveKeyValues.getValue( + LocaleConstant.SAFE_TREE_CAMERA_IP_KEY, "192.168.10.137" + ) as String val httpConfig = SaveKeyValues.getValue( - LocaleConstant.DEVICE_CONTROL_SERVER_CONFIG_KEY, LocaleConstant.CAMERA_IP + LocaleConstant.DEVICE_CONTROL_SERVER_CONFIG_KEY, cameraIP ) as String if (httpConfig == "") { Log.d(kTag, "executeDeviceCommand: httpConfig is null") diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt index 2be459d..31d9663 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt @@ -51,8 +51,5 @@ const val OPEN_VOICE_KEY = "Key_6" const val METHANE_DEFAULT_VALUE_KEY = "Key_7" const val CURRENT_VOICE_VALUE_KEY = "Key_8" - - //相机IP - const val CAMERA_IP = "192.168.10.137" - const val SUB_RTSP_URL = "rtsp://${CAMERA_IP}:554/h264/ch1/sub/av_stream" + const val SAFE_TREE_CAMERA_IP_KEY = "Key_9" } \ No newline at end of file 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 b2593ea..e77485c 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 @@ -7,6 +7,8 @@ import android.view.KeyEvent import android.view.View import android.view.ViewGroup +import androidx.appcompat.app.AlertDialog +import androidx.appcompat.widget.AppCompatEditText import androidx.fragment.app.Fragment import com.casic.app.safetreecontroller.R import com.casic.app.safetreecontroller.adapter.TabPageViewAdapter @@ -23,7 +25,9 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import pub.devrel.easypermissions.EasyPermissions class MainActivity : KotlinBaseActivity(), Handler.Callback, @@ -47,7 +51,14 @@ override fun handleMessage(msg: Message): Boolean { when (msg.what) { - LocaleConstant.PLAY_RTSP_CODE -> binding.rtspPlayerView.startPlayLogic() + 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() + } } return true } @@ -77,9 +88,6 @@ binding.rtspPlayerView.titleTextView.visibility = View.GONE binding.rtspPlayerView.backButton.visibility = View.GONE binding.rtspPlayerView.fullscreenButton.visibility = View.GONE - VideoPlayerManager.setGSYVideoPlayerOptions( - binding.rtspPlayerView, LocaleConstant.SUB_RTSP_URL - ) } override fun initEvent() { @@ -96,6 +104,30 @@ override fun setupTopBarLayout() { binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + + } + + override fun onRightClick() { + AlertDialog.Builder(this@MainActivity) + .setTitle(getString(R.string.app_name)) + .setIcon(R.mipmap.ic_launcher) + .setView(R.layout.dialog_input_ip) + .setNegativeButton("取消") { _, _ -> } + .setPositiveButton("确定") { dialog, _ -> + val inputView = (dialog as AlertDialog).findViewById( + R.id.inputView + ) + val value = inputView?.text.toString() + if (value.isNotBlank()) { + SaveKeyValues.putValue(LocaleConstant.SAFE_TREE_CAMERA_IP_KEY, value) + } else { + "什么都还没输入呢!".show(this@MainActivity) + } + }.create().show() + } + }) } override fun onRequestPermissionsResult( diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 0eca321..3db0c9c 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -12,6 +12,7 @@ android:layout_height="wrap_content" android:background="@color/mainThemeColor" app:tbv_show_left_image="false" + app:tbv_show_right_image="true" app:tbv_text="@string/app_name" /> diff --git a/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt b/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt index 577f1d9..447a2d9 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/retrofit/RetrofitServiceManager.kt @@ -13,8 +13,11 @@ * 执行设备控制指令 */ suspend fun executeDeviceCommand(action: String, speed: Int): String { + val cameraIP = SaveKeyValues.getValue( + LocaleConstant.SAFE_TREE_CAMERA_IP_KEY, "192.168.10.137" + ) as String val httpConfig = SaveKeyValues.getValue( - LocaleConstant.DEVICE_CONTROL_SERVER_CONFIG_KEY, LocaleConstant.CAMERA_IP + LocaleConstant.DEVICE_CONTROL_SERVER_CONFIG_KEY, cameraIP ) as String if (httpConfig == "") { Log.d(kTag, "executeDeviceCommand: httpConfig is null") diff --git a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt index 2be459d..31d9663 100644 --- a/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt +++ b/app/src/main/java/com/casic/app/safetreecontroller/utils/LocaleConstant.kt @@ -51,8 +51,5 @@ const val OPEN_VOICE_KEY = "Key_6" const val METHANE_DEFAULT_VALUE_KEY = "Key_7" const val CURRENT_VOICE_VALUE_KEY = "Key_8" - - //相机IP - const val CAMERA_IP = "192.168.10.137" - const val SUB_RTSP_URL = "rtsp://${CAMERA_IP}:554/h264/ch1/sub/av_stream" + const val SAFE_TREE_CAMERA_IP_KEY = "Key_9" } \ No newline at end of file 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 b2593ea..e77485c 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 @@ -7,6 +7,8 @@ import android.view.KeyEvent import android.view.View import android.view.ViewGroup +import androidx.appcompat.app.AlertDialog +import androidx.appcompat.widget.AppCompatEditText import androidx.fragment.app.Fragment import com.casic.app.safetreecontroller.R import com.casic.app.safetreecontroller.adapter.TabPageViewAdapter @@ -23,7 +25,9 @@ import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.extensions.getScreenWidth import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.SaveKeyValues import com.pengxh.kt.lite.utils.WeakReferenceHandler +import com.pengxh.kt.lite.widget.TitleBarView import pub.devrel.easypermissions.EasyPermissions class MainActivity : KotlinBaseActivity(), Handler.Callback, @@ -47,7 +51,14 @@ override fun handleMessage(msg: Message): Boolean { when (msg.what) { - LocaleConstant.PLAY_RTSP_CODE -> binding.rtspPlayerView.startPlayLogic() + 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() + } } return true } @@ -77,9 +88,6 @@ binding.rtspPlayerView.titleTextView.visibility = View.GONE binding.rtspPlayerView.backButton.visibility = View.GONE binding.rtspPlayerView.fullscreenButton.visibility = View.GONE - VideoPlayerManager.setGSYVideoPlayerOptions( - binding.rtspPlayerView, LocaleConstant.SUB_RTSP_URL - ) } override fun initEvent() { @@ -96,6 +104,30 @@ override fun setupTopBarLayout() { binding.rootView.initImmersionBar(this, false, R.color.mainThemeColor) + binding.titleView.setOnClickListener(object : TitleBarView.OnClickListener { + override fun onLeftClick() { + + } + + override fun onRightClick() { + AlertDialog.Builder(this@MainActivity) + .setTitle(getString(R.string.app_name)) + .setIcon(R.mipmap.ic_launcher) + .setView(R.layout.dialog_input_ip) + .setNegativeButton("取消") { _, _ -> } + .setPositiveButton("确定") { dialog, _ -> + val inputView = (dialog as AlertDialog).findViewById( + R.id.inputView + ) + val value = inputView?.text.toString() + if (value.isNotBlank()) { + SaveKeyValues.putValue(LocaleConstant.SAFE_TREE_CAMERA_IP_KEY, value) + } else { + "什么都还没输入呢!".show(this@MainActivity) + } + }.create().show() + } + }) } override fun onRequestPermissionsResult( diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 0eca321..3db0c9c 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -12,6 +12,7 @@ android:layout_height="wrap_content" android:background="@color/mainThemeColor" app:tbv_show_left_image="false" + app:tbv_show_right_image="true" app:tbv_text="@string/app_name" /> diff --git a/app/src/main/res/layout/dialog_input_ip.xml b/app/src/main/res/layout/dialog_input_ip.xml new file mode 100644 index 0000000..fbe2a59 --- /dev/null +++ b/app/src/main/res/layout/dialog_input_ip.xml @@ -0,0 +1,32 @@ + + + + + + + + \ No newline at end of file