|
|
|
@ -395,7 +395,7 @@ class BleManager extends GetxService { |
|
|
|
Logger.info('lxm-- overallBattery: $overallBattery'); |
|
|
|
|
|
|
|
Logger.info('lxm--准备调用_updateDeviceInfoIfNeeded'); |
|
|
|
|
|
|
|
|
|
|
|
// 更新设备信息 |
|
|
|
_updateDeviceInfoIfNeeded( |
|
|
|
batteryLevel: overallBattery, |
|
|
|
@ -488,8 +488,10 @@ class BleManager extends GetxService { |
|
|
|
|
|
|
|
deviceInfo.value = deviceInfo.value!.copyWith( |
|
|
|
batteryLevel: batteryLevel ?? deviceInfo.value?.batteryLevel, |
|
|
|
leftEarBattery: leftEarBattery ?? deviceInfo.value?.leftEarBattery, |
|
|
|
rightEarBattery: rightEarBattery ?? deviceInfo.value?.rightEarBattery, |
|
|
|
leftEarBattery: _getValidBatteryValue( |
|
|
|
leftEarBattery, deviceInfo.value?.leftEarBattery), |
|
|
|
rightEarBattery: _getValidBatteryValue( |
|
|
|
rightEarBattery, deviceInfo.value?.rightEarBattery), |
|
|
|
caseBattery: caseBattery ?? deviceInfo.value?.caseBattery, |
|
|
|
leftEarCharging: leftEarCharging ?? deviceInfo.value!.leftEarCharging, |
|
|
|
rightEarCharging: |
|
|
|
@ -537,6 +539,24 @@ class BleManager extends GetxService { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 新增智能电池值选择方法 |
|
|
|
int? _getValidBatteryValue(int? newValue, int? currentValue) { |
|
|
|
// 如果新值为null,使用当前值 |
|
|
|
if (newValue == null) return currentValue; |
|
|
|
|
|
|
|
// 如果当前值为null或0,使用新值(即使新值为0) |
|
|
|
if (currentValue == null || currentValue == 0) return newValue; |
|
|
|
|
|
|
|
// 如果新值为0但当前值不为0,保持当前值(避免有效数据被0覆盖) |
|
|
|
if (newValue == 0 && currentValue > 0) { |
|
|
|
Logger.warning('检测到电池数据异常(新值为0),保持当前值: $currentValue'); |
|
|
|
return currentValue; |
|
|
|
} |
|
|
|
|
|
|
|
// 其他情况使用新值 |
|
|
|
return newValue; |
|
|
|
} |
|
|
|
|
|
|
|
/// 清除设备信息(用于完全断开连接或切换设备时) |
|
|
|
void clearDeviceInfo() { |
|
|
|
Logger.info('清除设备信息'); |
|
|
|
|