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