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.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))
}
}

@ -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
)
}
}

Loading…
Cancel
Save