diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt index aa1c415..3609f6b 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/HomeActivity.kt @@ -26,6 +26,7 @@ import com.yinuo.safetywatcher.watcher.utils.BatteryHelper import com.yinuo.safetywatcher.watcher.utils.GPIOUtils import com.yinuo.safetywatcher.watcher.utils.RecordHelper import com.yinuo.safetywatcher.watcher.utils.SimHelper +import com.yinuo.safetywatcher.watcher.utils.SpeedUtils import com.yinuo.safetywatcher.watcher.utils.WifiHelper import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.GlobalScope @@ -83,12 +84,30 @@ class HomeActivity : NoOptionsActivity() { if (isChecked) onCameraOpen() else onCameraClose() } + itemPump.setOnClickListener { + pumpSwitch.performClick() + } + pumpSwitch.setOnCheckedChangeListener { buttonView, isChecked -> + if (isChecked) onPumpOpen() else onPumpClose() + } + itemSetting.post { itemSetting.requestFocus() } } } + private fun onPumpClose() { + SpeedUtils.setSpeed(0) + GasPortUtils.setSpeed(0) + } + + private fun onPumpOpen() { + val localSpeed = SpeedUtils.getLocalSpeed() + SpeedUtils.setSpeed(localSpeed) + GasPortUtils.setSpeed(localSpeed) + } + private fun onCameraOpen() { // 启动录制编码 RecordHelper.startRecording() diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SettingActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SettingActivity.kt index 3e35b13..7115ec1 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SettingActivity.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SettingActivity.kt @@ -8,6 +8,7 @@ import com.yinuo.safetywatcher.R import com.yinuo.safetywatcher.databinding.ActivitySettingBinding import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity import com.yinuo.safetywatcher.watcher.ui.view.ConfirmDialog +import com.yinuo.safetywatcher.watcher.utils.SpeedUtils class SettingActivity : NoOptionsActivity() { @@ -30,6 +31,7 @@ class SettingActivity : NoOptionsActivity() { } override fun initView() { + val speed = SpeedUtils.getSpeed() mBinding.apply { itemTime.setOnClickListener { startActivity(Intent(this@SettingActivity, TimeSettingActivity::class.java)) @@ -52,6 +54,7 @@ class SettingActivity : NoOptionsActivity() { itemSpeed.setOnClickListener { startActivity(Intent(this@SettingActivity, SpeedSettingActivity::class.java)) } + itemSpeed.visibility = if (speed == 0) View.GONE else View.VISIBLE itemCloud.setOnClickListener { startActivity(Intent(this@SettingActivity, CloudActivity::class.java)) } diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SpeedSettingActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SpeedSettingActivity.kt index f8197a5..513d7ee 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SpeedSettingActivity.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SpeedSettingActivity.kt @@ -76,6 +76,9 @@ class SpeedSettingActivity : NoOptionsActivity() { } private fun getShowSpeed(speed: Int): CharSequence? { - return "${speed + 1}档" + if (speed == 0) { + return "关闭" + } + return "${speed}档" } } \ No newline at end of file diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/SpeedUtils.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/SpeedUtils.kt index 7ecfa6f..5e95881 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/SpeedUtils.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/SpeedUtils.kt @@ -1,5 +1,7 @@ package com.yinuo.safetywatcher.watcher.utils +import com.common.commonlib.utils.MMKVUtils + object SpeedUtils { private var speed = 0 @@ -9,5 +11,16 @@ object SpeedUtils { fun setSpeed(legalSpeed: Int) { this.speed = legalSpeed + if (legalSpeed != 0) { + MMKVUtils.put("LocalSpeed", legalSpeed) + } + } + + fun getLocalSpeed(): Int { + var localValue = MMKVUtils.getInt("LocalSpeed") + if (localValue<0){ + localValue = 1 + } + return localValue } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml index 2d91bdd..9162788 100644 --- a/app/src/main/res/layout/activity_home.xml +++ b/app/src/main/res/layout/activity_home.xml @@ -26,7 +26,7 @@ + + + + + + + 1920px 1080px 120px + 624px \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9081289..aa876e3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -92,4 +92,6 @@ 通道关闭 无网络连接,请稍后再试! + + 泵开关