desc:显示两位小数

main
xiaowusky 1 year ago
parent dbe06d79df
commit 8f6128d4bd

@ -38,13 +38,16 @@ object GasPortUtils {
listeners.forEach {
it.invoke(array)
}
if (array[0].toInt() == 0x01 && array[1].toInt() == 0x03 && array[2].toInt() == 0x14) {
if (isSensorGasData(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 com.common.commonlib.db.entity.Warning
import com.common.commonlib.utils.MMKVUtils
import com.common.commonlib.utils.forShowStr
import com.yinuo.safetywatcher.R
import com.yinuo.safetywatcher.watcher.port.cmd.CH4_H2
import com.yinuo.safetywatcher.watcher.port.cmd.CL2
@ -224,9 +225,9 @@ fun getShowWarnTxt(warn: Warning?): String {
"请注意,${it.gasName}浓度过高,已超过传感器量程"
} else {
if (it.gasValue < it.thresholdLow) {
"请注意,${it.gasName}浓度过低:${it.gasValue} ${it.unit},有缺氧风险"
"请注意,${it.gasName}浓度过低:${it.gasValue.forShowStr()} ${it.unit},有缺氧风险"
} else {
"请注意,${it.gasName}浓度过高:${it.gasValue} ${it.unit},有醉氧风险"
"请注意,${it.gasName}浓度过高:${it.gasValue.forShowStr()} ${it.unit},有醉氧风险"
}
}
} else {
@ -234,9 +235,9 @@ fun getShowWarnTxt(warn: Warning?): String {
"请注意,${it.gasName}浓度过高,已超过传感器量程"
} else {
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 {
"请注意,${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 androidx.lifecycle.lifecycleScope
import com.common.commonlib.utils.MMKVUtils
import com.common.commonlib.utils.forShowStr
import com.yinuo.safetywatcher.R
import com.yinuo.safetywatcher.databinding.ActivitySensorCalibrationBinding
import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity
@ -107,7 +108,7 @@ class SensorCalibrationActivity : NoOptionsActivity() {
lifecycleScope.launch(Dispatchers.Main) {
gas?.let {
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.ViewGroup
import com.common.commonlib.db.entity.Gas
import com.common.commonlib.utils.forShowStr
import com.yinuo.safetywatcher.databinding.LayoutItemHistoryBinding
import com.yinuo.safetywatcher.watcher.base.BaseRvAdapter
import com.yinuo.safetywatcher.watcher.utils.DateUtils
@ -14,7 +15,7 @@ class HistoryDataAdapter :
BaseRvAdapter.BaseViewHolder<Gas, LayoutItemHistoryBinding>(binding) {
override fun bindView(data: Gas) {
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? {

@ -7,6 +7,7 @@ import android.app.Activity
import android.content.res.Resources
import android.util.TypedValue
import android.view.View
import java.text.DecimalFormat
/**
* Kt扩展属性判断Activity是否存活
@ -35,3 +36,13 @@ val Float.dp: Float
val Int.dp: Float
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.util.Log
import com.common.commonlib.db.entity.Gas
import com.common.commonlib.utils.forShowStr
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.delay
@ -99,7 +100,7 @@ object TxtOverlay {
// 3S内的数据我们认为有效
Log.i("cyy", "gasTime = ${dateFormat.format(gas.time)}")
if (currentTimeMillis - gas.time <= 3000) {
overlayBuilder.append("${gas.gasName}: ${gas.gasValue} ${gas.unit}")
overlayBuilder.append("${gas.gasName}: ${gas.gasValue.forShowStr()} ${gas.unit}")
.append("@")
}
}

Loading…
Cancel
Save