diff --git a/lib/data/services/ble_manager.dart b/lib/data/services/ble_manager.dart index dbf18918d..1a3b2921c 100644 --- a/lib/data/services/ble_manager.dart +++ b/lib/data/services/ble_manager.dart @@ -367,17 +367,23 @@ class BleManager extends GetxService { 'lxm-- batteryLevel原始值: ${data['batteryLevel']} (类型: ${data['batteryLevel']?.runtimeType})'); // 提取电池信息 - final int leftBattery = (data['leftEarBattery'] as int? ?? 0) > 100 - ? 0 - : (data['leftEarBattery'] as int? ?? 0); - - final int rightBattery = (data['rightEarBattery'] as int? ?? 0) > 100 - ? 0 - : (data['rightEarBattery'] as int? ?? 0); - - final int caseBattery = (data['caseBattery'] as int? ?? 0) > 100 - ? 0 - : (data['caseBattery'] as int? ?? 0); + final int leftBattery = (data['leftEarBattery'] as int? ?? 0) == 127 + ? -1 // 特殊值127转换为-1 + : (data['leftEarBattery'] as int? ?? 0) > 100 + ? 0 // 大于100的值重置为0 + : (data['leftEarBattery'] as int? ?? 0); // 正常值 + + final int rightBattery = (data['rightEarBattery'] as int? ?? 0) == 127 + ? -1 // 特殊值127转换为-1 + : (data['rightEarBattery'] as int? ?? 0) > 100 + ? 0 // 大于100的值重置为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 rightCharging = data['rightEarCharging'] as bool? ?? false; final bool caseCharging = data['caseCharging'] as bool? ?? false; diff --git a/lib/modules/home/views/home_view.dart b/lib/modules/home/views/home_view.dart index 34156f114..4541a14d3 100644 --- a/lib/modules/home/views/home_view.dart +++ b/lib/modules/home/views/home_view.dart @@ -567,7 +567,7 @@ class HomeView extends GetView { batteryColor = Colors.red[600]!; } - bool isBatteryZero = batteryLevel == 0; + bool isBatteryZero = batteryLevel == -1; return Expanded( child: Padding(