From 796844ce3579d45d5e5f127ac7c3ead34a832df6 Mon Sep 17 00:00:00 2001 From: xiaowusky Date: Fri, 1 Mar 2024 11:34:10 +0800 Subject: [PATCH] =?UTF-8?q?desc:=E4=BC=A0=E6=84=9F=E5=99=A8=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E8=AE=BE=E7=BD=AE=E5=90=8E=E4=BF=AE=E6=94=B9=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0->=E9=80=9A?= =?UTF-8?q?=E9=81=93=E5=BC=80=E5=90=AF=E5=85=B3=E9=97=AD=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=90=8E=EF=BC=8C=E8=BF=94=E5=9B=9E=E4=B8=8A=E7=BA=A7=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=EF=BC=8C=E7=8A=B6=E6=80=81=E6=94=B9=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../watcher/ui/SensorSettingActivity.kt | 5 ++++ .../watcher/ui/adapter/SensorAdapter.kt | 27 +++++++++---------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorSettingActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorSettingActivity.kt index 3f4eb2b..c1b27b0 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorSettingActivity.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/SensorSettingActivity.kt @@ -4,6 +4,7 @@ import android.content.Intent import android.view.KeyEvent import android.view.View import androidx.lifecycle.lifecycleScope +import com.common.commonlib.CommonApplication import com.common.commonlib.db.DBUtils import com.common.commonlib.utils.MMKVUtils import com.common.commonlib.utils.getGasShowName @@ -19,10 +20,12 @@ import com.yinuo.safetywatcher.watcher.port.UNIT_MGM3 import com.yinuo.safetywatcher.watcher.port.UNIT_PPM import com.yinuo.safetywatcher.watcher.port.UNIT_VOL import com.yinuo.safetywatcher.watcher.port.cmd.CH4_H2 +import com.yinuo.safetywatcher.watcher.port.cmd.GasPortStatus import com.yinuo.safetywatcher.watcher.port.cmd.O2 import com.yinuo.safetywatcher.watcher.port.cmd.VOCS import com.yinuo.safetywatcher.watcher.port.getLocalGasUnit import com.yinuo.safetywatcher.watcher.port.getSensorNickName +import com.yinuo.safetywatcher.watcher.port.getShowStatus import com.yinuo.safetywatcher.watcher.port.saveGasUnit import com.yinuo.safetywatcher.watcher.port.saveSensorNickName import com.yinuo.safetywatcher.watcher.utils.hideIme @@ -126,11 +129,13 @@ class SensorSettingActivity : NoOptionsActivity() { mBinding.tvStatus.text = getString(R.string.sensor_status_on) mBinding.layoutOp.visibility = View.VISIBLE GasPortUtils.setSwitch(sensorIndex, true) + GasCache.setStatus(gasName, getShowStatus(CommonApplication.getContext(), GasPortStatus.OK)) } else { mBinding.tvStatus.text = getString(R.string.sensor_status_off) mBinding.layoutOp.visibility = View.GONE GasPortUtils.setSwitch(sensorIndex, false) ParseHelper.removeOutLineRunnable(sensorIndex) + GasCache.setStatus(gasName, getShowStatus(CommonApplication.getContext(), GasPortStatus.OUTLINE)) } } diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/adapter/SensorAdapter.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/adapter/SensorAdapter.kt index d9cb118..bfd97a8 100644 --- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/adapter/SensorAdapter.kt +++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/adapter/SensorAdapter.kt @@ -3,13 +3,13 @@ package com.yinuo.safetywatcher.watcher.ui.adapter import android.content.Intent import android.view.LayoutInflater import android.view.ViewGroup +import com.common.commonlib.CommonApplication import com.common.commonlib.db.entity.GasType import com.yinuo.safetywatcher.R import com.yinuo.safetywatcher.databinding.LayoutItemSensorBinding import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter -import com.yinuo.safetywatcher.watcher.port.cmd.GasPortStatus +import com.yinuo.safetywatcher.watcher.port.GasCache import com.yinuo.safetywatcher.watcher.port.getSensorNickName -import com.yinuo.safetywatcher.watcher.port.getShowStatus import com.yinuo.safetywatcher.watcher.ui.SensorSettingActivity class SensorAdapter : @@ -41,19 +41,18 @@ class SensorAdapter : } val sensorNickName = getSensorNickName(data.type) binding.sensorName.text = sensorNickName - val state = data.status - binding.sensorStatus.text = getShowStatus(context, state) - binding.sensorStatus.setTextColor(context.getColor(getShowStatusColor(state))) + val state = GasCache.getStatus(data.type) + binding.sensorStatus.text = state + binding.sensorStatus.setTextColor(context.getColor(colorMap.get(state)!!)) } - private fun getShowStatusColor(state: Int): Int { - return when(state){ - GasPortStatus.PRE_HOT -> R.color.color_prehot - GasPortStatus.OK -> R.color.color_ok - GasPortStatus.ERROR -> R.color.color_error - GasPortStatus.OUTLINE -> R.color.color_offline - else -> R.color.color_offline - } - } + private val colorMap = mapOf( + CommonApplication.getContext() + ?.getString(R.string.status_prehot) to R.color.color_prehot, + CommonApplication.getContext()?.getString(R.string.status_ok) to R.color.color_ok, + CommonApplication.getContext()?.getString(R.string.status_error) to R.color.color_error, + CommonApplication.getContext() + ?.getString(R.string.status_offline) to R.color.color_offline + ) } }