refactor(SensorScaleUtils): 优化重量读取逻辑
- 移除状态字符串转换的日志代码 - 简化稳定状态判断逻辑,移除重复的lastWeight比较 - 将重量单位转换提取为独立变量,提高代码可读性 - 保持原有的回调机制和重量单位转换功能
This commit is contained in:
@@ -31,21 +31,24 @@ object SensorScaleUtils {
|
|||||||
* 读取重量
|
* 读取重量
|
||||||
*/
|
*/
|
||||||
override fun readWeight(state: Int, value: Double) {
|
override fun readWeight(state: Int, value: Double) {
|
||||||
val stateStr = when (state) {
|
// val stateStr = when (state) {
|
||||||
SensorScale.STATE_STABLE -> "稳定"
|
// SensorScale.STATE_STABLE -> "稳定"
|
||||||
SensorScale.STATE_UNSTABLE -> "不稳定"
|
// SensorScale.STATE_UNSTABLE -> "不稳定"
|
||||||
SensorScale.STATE_OVER_WEIGHT -> "量程溢出"
|
// SensorScale.STATE_OVER_WEIGHT -> "量程溢出"
|
||||||
else -> "未知"
|
// else -> "未知"
|
||||||
}
|
// }
|
||||||
// Log.d(TAG, "readWeight state = ${stateStr}, weight = $value")
|
// Log.d(TAG, "readWeight state = ${stateStr}, weight = $value")
|
||||||
// 只使用稳定值
|
// 只使用稳定值
|
||||||
if (state == SensorScale.STATE_STABLE && lastWeight != value) {
|
if (state == SensorScale.STATE_STABLE) {
|
||||||
lastWeight = value
|
if (lastWeight != value) {
|
||||||
callback?.invoke(value)
|
lastWeight = value
|
||||||
}
|
callback?.invoke(value)
|
||||||
|
}
|
||||||
|
|
||||||
weightCallbackList.forEach {
|
weightCallbackList.forEach {
|
||||||
it.invoke((value * 1000).roundToInt())
|
val currentWeight = value * 1000
|
||||||
|
it.invoke(currentWeight.roundToInt())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user