Browse Source

fix(ble): 修正电池电量特殊值127的处理逻辑

将蓝牙设备返回的特殊值127转换为-1表示无效电量,同时保持大于100的值重置为0的逻辑
newdev_shunjiawei
lxm 1 year ago
parent
commit
a094d511a8
  1. 28
      lib/data/services/ble_manager.dart
  2. 2
      lib/modules/home/views/home_view.dart

28
lib/data/services/ble_manager.dart

@ -367,17 +367,23 @@ class BleManager extends GetxService {
'lxm-- batteryLevel原始值: ${data['batteryLevel']} (类型: ${data['batteryLevel']?.runtimeType})'); 'lxm-- batteryLevel原始值: ${data['batteryLevel']} (类型: ${data['batteryLevel']?.runtimeType})');
// 提取电池信息 // 提取电池信息
final int leftBattery = (data['leftEarBattery'] as int? ?? 0) > 100 final int leftBattery = (data['leftEarBattery'] as int? ?? 0) == 127
? 0 ? -1 // 特殊值127转换为-1
: (data['leftEarBattery'] as int? ?? 0); : (data['leftEarBattery'] as int? ?? 0) > 100
? 0 // 大于100的值重置为0
final int rightBattery = (data['rightEarBattery'] as int? ?? 0) > 100 : (data['leftEarBattery'] as int? ?? 0); // 正常值
? 0
: (data['rightEarBattery'] as int? ?? 0); final int rightBattery = (data['rightEarBattery'] as int? ?? 0) == 127
? -1 // 特殊值127转换为-1
final int caseBattery = (data['caseBattery'] as int? ?? 0) > 100 : (data['rightEarBattery'] as int? ?? 0) > 100
? 0 ? 0 // 大于100的值重置为0
: (data['caseBattery'] as int? ?? 0); : (data['rightEarBattery'] as int? ?? 0); // 正常值
final int caseBattery = (data['caseBattery'] as int? ?? 0) == 127
? -1 // 特殊值127转换为-1
: (data['caseBattery'] as int? ?? 0) > 100
? 0 // 大于100的值重置为0
: (data['caseBattery'] as int? ?? 0); // 正常值
final bool leftCharging = data['leftEarCharging'] as bool? ?? false; final bool leftCharging = data['leftEarCharging'] as bool? ?? false;
final bool rightCharging = data['rightEarCharging'] as bool? ?? false; final bool rightCharging = data['rightEarCharging'] as bool? ?? false;
final bool caseCharging = data['caseCharging'] as bool? ?? false; final bool caseCharging = data['caseCharging'] as bool? ?? false;

2
lib/modules/home/views/home_view.dart

@ -567,7 +567,7 @@ class HomeView extends GetView<HomeController> {
batteryColor = Colors.red[600]!; batteryColor = Colors.red[600]!;
} }
bool isBatteryZero = batteryLevel == 0; bool isBatteryZero = batteryLevel == -1;
return Expanded( return Expanded(
child: Padding( child: Padding(

Loading…
Cancel
Save