desc:传感器参数设置后修改状态同步更新->通道开启关闭修改后,返回上级菜单,状态改变

main
xiaowusky 1 year ago
parent 5313ce07e7
commit 796844ce35

@ -4,6 +4,7 @@ import android.content.Intent
import android.view.KeyEvent import android.view.KeyEvent
import android.view.View import android.view.View
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.common.commonlib.CommonApplication
import com.common.commonlib.db.DBUtils import com.common.commonlib.db.DBUtils
import com.common.commonlib.utils.MMKVUtils import com.common.commonlib.utils.MMKVUtils
import com.common.commonlib.utils.getGasShowName 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_PPM
import com.yinuo.safetywatcher.watcher.port.UNIT_VOL import com.yinuo.safetywatcher.watcher.port.UNIT_VOL
import com.yinuo.safetywatcher.watcher.port.cmd.CH4_H2 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.O2
import com.yinuo.safetywatcher.watcher.port.cmd.VOCS import com.yinuo.safetywatcher.watcher.port.cmd.VOCS
import com.yinuo.safetywatcher.watcher.port.getLocalGasUnit import com.yinuo.safetywatcher.watcher.port.getLocalGasUnit
import com.yinuo.safetywatcher.watcher.port.getSensorNickName 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.saveGasUnit
import com.yinuo.safetywatcher.watcher.port.saveSensorNickName import com.yinuo.safetywatcher.watcher.port.saveSensorNickName
import com.yinuo.safetywatcher.watcher.utils.hideIme import com.yinuo.safetywatcher.watcher.utils.hideIme
@ -126,11 +129,13 @@ class SensorSettingActivity : NoOptionsActivity() {
mBinding.tvStatus.text = getString(R.string.sensor_status_on) mBinding.tvStatus.text = getString(R.string.sensor_status_on)
mBinding.layoutOp.visibility = View.VISIBLE mBinding.layoutOp.visibility = View.VISIBLE
GasPortUtils.setSwitch(sensorIndex, true) GasPortUtils.setSwitch(sensorIndex, true)
GasCache.setStatus(gasName, getShowStatus(CommonApplication.getContext(), GasPortStatus.OK))
} else { } else {
mBinding.tvStatus.text = getString(R.string.sensor_status_off) mBinding.tvStatus.text = getString(R.string.sensor_status_off)
mBinding.layoutOp.visibility = View.GONE mBinding.layoutOp.visibility = View.GONE
GasPortUtils.setSwitch(sensorIndex, false) GasPortUtils.setSwitch(sensorIndex, false)
ParseHelper.removeOutLineRunnable(sensorIndex) ParseHelper.removeOutLineRunnable(sensorIndex)
GasCache.setStatus(gasName, getShowStatus(CommonApplication.getContext(), GasPortStatus.OUTLINE))
} }
} }

@ -3,13 +3,13 @@ package com.yinuo.safetywatcher.watcher.ui.adapter
import android.content.Intent import android.content.Intent
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import com.common.commonlib.CommonApplication
import com.common.commonlib.db.entity.GasType import com.common.commonlib.db.entity.GasType
import com.yinuo.safetywatcher.R import com.yinuo.safetywatcher.R
import com.yinuo.safetywatcher.databinding.LayoutItemSensorBinding import com.yinuo.safetywatcher.databinding.LayoutItemSensorBinding
import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter 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.getSensorNickName
import com.yinuo.safetywatcher.watcher.port.getShowStatus
import com.yinuo.safetywatcher.watcher.ui.SensorSettingActivity import com.yinuo.safetywatcher.watcher.ui.SensorSettingActivity
class SensorAdapter : class SensorAdapter :
@ -41,19 +41,18 @@ class SensorAdapter :
} }
val sensorNickName = getSensorNickName(data.type) val sensorNickName = getSensorNickName(data.type)
binding.sensorName.text = sensorNickName binding.sensorName.text = sensorNickName
val state = data.status val state = GasCache.getStatus(data.type)
binding.sensorStatus.text = getShowStatus(context, state) binding.sensorStatus.text = state
binding.sensorStatus.setTextColor(context.getColor(getShowStatusColor(state))) binding.sensorStatus.setTextColor(context.getColor(colorMap.get(state)!!))
} }
private fun getShowStatusColor(state: Int): Int { private val colorMap = mapOf(
return when(state){ CommonApplication.getContext()
GasPortStatus.PRE_HOT -> R.color.color_prehot ?.getString(R.string.status_prehot) to R.color.color_prehot,
GasPortStatus.OK -> R.color.color_ok CommonApplication.getContext()?.getString(R.string.status_ok) to R.color.color_ok,
GasPortStatus.ERROR -> R.color.color_error CommonApplication.getContext()?.getString(R.string.status_error) to R.color.color_error,
GasPortStatus.OUTLINE -> R.color.color_offline CommonApplication.getContext()
else -> R.color.color_offline ?.getString(R.string.status_offline) to R.color.color_offline
} )
}
} }
} }

Loading…
Cancel
Save