desc:显示两位小数

main
xiaowusky 1 year ago
parent dbe06d79df
commit 8f6128d4bd

@ -38,13 +38,16 @@ object GasPortUtils {
listeners.forEach { listeners.forEach {
it.invoke(array) it.invoke(array)
} }
if (array[0].toInt() == 0x01 && array[1].toInt() == 0x03 && array[2].toInt() == 0x14) { if (isSensorGasData(array)) {
ParseHelper.parse(array) ParseHelper.parse(array)
} }
} }
} }
} }
private fun isSensorGasData(array: ByteArray) =
array[0].toInt() == 0x01 && array[1].toInt() == 0x03 && array[2].toInt() == 0x14
/** /**
* 读取气体浓度 * 读取气体浓度
*/ */

@ -3,6 +3,7 @@ package com.yinuo.safetywatcher.watcher.port
import android.content.Context import android.content.Context
import com.common.commonlib.db.entity.Warning import com.common.commonlib.db.entity.Warning
import com.common.commonlib.utils.MMKVUtils import com.common.commonlib.utils.MMKVUtils
import com.common.commonlib.utils.forShowStr
import com.yinuo.safetywatcher.R import com.yinuo.safetywatcher.R
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.CL2 import com.yinuo.safetywatcher.watcher.port.cmd.CL2
@ -224,9 +225,9 @@ fun getShowWarnTxt(warn: Warning?): String {
"请注意,${it.gasName}浓度过高,已超过传感器量程" "请注意,${it.gasName}浓度过高,已超过传感器量程"
} else { } else {
if (it.gasValue < it.thresholdLow) { if (it.gasValue < it.thresholdLow) {
"请注意,${it.gasName}浓度过低:${it.gasValue} ${it.unit},有缺氧风险" "请注意,${it.gasName}浓度过低:${it.gasValue.forShowStr()} ${it.unit},有缺氧风险"
} else { } else {
"请注意,${it.gasName}浓度过高:${it.gasValue} ${it.unit},有醉氧风险" "请注意,${it.gasName}浓度过高:${it.gasValue.forShowStr()} ${it.unit},有醉氧风险"
} }
} }
} else { } else {
@ -234,9 +235,9 @@ fun getShowWarnTxt(warn: Warning?): String {
"请注意,${it.gasName}浓度过高,已超过传感器量程" "请注意,${it.gasName}浓度过高,已超过传感器量程"
} else { } else {
if (it.gasValue > it.thresholdHigh) { if (it.gasValue > it.thresholdHigh) {
"请注意,${it.gasName}气体浓度:${it.gasValue} ${it.unit}超过高报值${it.thresholdHigh} ${it.unit}" "请注意,${it.gasName}气体浓度:${it.gasValue.forShowStr()} ${it.unit}超过高报值${it.thresholdHigh.forShowStr()} ${it.unit}"
} else { } else {
"请注意,${it.gasName}气体浓度:${it.gasValue} ${it.unit}超过低报值${it.thresholdLow} ${it.unit}" "请注意,${it.gasName}气体浓度:${it.gasValue.forShowStr()} ${it.unit}超过低报值${it.thresholdLow.forShowStr()} ${it.unit}"
} }
} }
} }

@ -5,6 +5,7 @@ import android.view.KeyEvent
import android.view.View import android.view.View
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import com.common.commonlib.utils.MMKVUtils import com.common.commonlib.utils.MMKVUtils
import com.common.commonlib.utils.forShowStr
import com.yinuo.safetywatcher.R import com.yinuo.safetywatcher.R
import com.yinuo.safetywatcher.databinding.ActivitySensorCalibrationBinding import com.yinuo.safetywatcher.databinding.ActivitySensorCalibrationBinding
import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity
@ -107,7 +108,7 @@ class SensorCalibrationActivity : NoOptionsActivity() {
lifecycleScope.launch(Dispatchers.Main) { lifecycleScope.launch(Dispatchers.Main) {
gas?.let { gas?.let {
if (type == gasName) { if (type == gasName) {
mBinding.currentValue.text = "当前气体浓度:${gas.gasValue} ${gas.unit}" mBinding.currentValue.text = "当前气体浓度:${gas.gasValue.forShowStr()} ${gas.unit}"
} }
} }
} }

@ -3,6 +3,7 @@ package com.yinuo.safetywatcher.watcher.ui.adapter
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.ViewGroup import android.view.ViewGroup
import com.common.commonlib.db.entity.Gas import com.common.commonlib.db.entity.Gas
import com.common.commonlib.utils.forShowStr
import com.yinuo.safetywatcher.databinding.LayoutItemHistoryBinding import com.yinuo.safetywatcher.databinding.LayoutItemHistoryBinding
import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter
import com.yinuo.safetywatcher.watcher.utils.DateUtils import com.yinuo.safetywatcher.watcher.utils.DateUtils
@ -14,7 +15,7 @@ class HistoryDataAdapter :
BaseRvAdapter.BaseViewHolder<Gas, LayoutItemHistoryBinding>(binding) { BaseRvAdapter.BaseViewHolder<Gas, LayoutItemHistoryBinding>(binding) {
override fun bindView(data: Gas) { override fun bindView(data: Gas) {
binding.tvTime.text = formatTime(data.time) binding.tvTime.text = formatTime(data.time)
binding.tvSensor.text = "${data.gasName} : ${data.gasValue} ${data.unit}" binding.tvSensor.text = "${data.gasName} : ${data.gasValue.forShowStr()} ${data.unit}"
} }
private fun formatTime(time: Long): CharSequence? { private fun formatTime(time: Long): CharSequence? {

@ -7,6 +7,7 @@ import android.app.Activity
import android.content.res.Resources import android.content.res.Resources
import android.util.TypedValue import android.util.TypedValue
import android.view.View import android.view.View
import java.text.DecimalFormat
/** /**
* Kt扩展属性判断Activity是否存活 * Kt扩展属性判断Activity是否存活
@ -35,3 +36,13 @@ val Float.dp: Float
val Int.dp: Float val Int.dp: Float
get() = this.toFloat().dp get() = this.toFloat().dp
val decimalFormat = DecimalFormat("#0.00")
fun Float.forShowValue(): Float {
return this.forShowStr().toFloat()
}
fun Float.forShowStr(): String {
return decimalFormat.format(this)
}

@ -5,6 +5,7 @@ import android.graphics.Color
import android.text.TextUtils import android.text.TextUtils
import android.util.Log import android.util.Log
import com.common.commonlib.db.entity.Gas import com.common.commonlib.db.entity.Gas
import com.common.commonlib.utils.forShowStr
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
@ -99,7 +100,7 @@ object TxtOverlay {
// 3S内的数据我们认为有效 // 3S内的数据我们认为有效
Log.i("cyy", "gasTime = ${dateFormat.format(gas.time)}") Log.i("cyy", "gasTime = ${dateFormat.format(gas.time)}")
if (currentTimeMillis - gas.time <= 3000) { if (currentTimeMillis - gas.time <= 3000) {
overlayBuilder.append("${gas.gasName}: ${gas.gasValue} ${gas.unit}") overlayBuilder.append("${gas.gasName}: ${gas.gasValue.forShowStr()} ${gas.unit}")
.append("@") .append("@")
} }
} }

Loading…
Cancel
Save