|
|
|
@ -1,4 +1,5 @@ |
|
|
|
import 'package:get/get.dart'; |
|
|
|
import 'package:get_storage/get_storage.dart'; |
|
|
|
// 移除了dart:async导入,因为不再使用Timer |
|
|
|
import '../../../data/services/novice_guide_service.dart'; |
|
|
|
import '../../../routes/app_routes.dart'; |
|
|
|
@ -20,6 +21,7 @@ enum ConnectionStatus { |
|
|
|
class HomeController extends GetxController { |
|
|
|
static const String _tag = 'HomeCtrl'; |
|
|
|
static HomeController get to => Get.find(); |
|
|
|
final GetStorage _storage = GetStorage(); |
|
|
|
|
|
|
|
final _isFullyConnected = false.obs; |
|
|
|
String? _lastConnectedDeviceName; |
|
|
|
@ -46,13 +48,13 @@ class HomeController extends GetxController { |
|
|
|
Logger.d(_tag, 'lxm--接收到的DeviceInfo: $newDeviceInfo'); |
|
|
|
|
|
|
|
if (newDeviceInfo != null) { |
|
|
|
Logger.d(_tag, 'lxm--原始数据 - 左耳电量: ${newDeviceInfo.leftEarBattery}'); |
|
|
|
Logger.d(_tag, 'lxm--原始数据 - 右耳电量: ${newDeviceInfo.rightEarBattery}'); |
|
|
|
Logger.d(_tag, 'lxm--原始数据 - 充电仓电量: ${newDeviceInfo.caseBattery}'); |
|
|
|
Logger.d(_tag, 'lxm--原始数据 - 左耳充电: ${newDeviceInfo.leftEarCharging}'); |
|
|
|
Logger.d(_tag, 'lxm--原始数据 - 右耳充电: ${newDeviceInfo.rightEarCharging}'); |
|
|
|
Logger.d(_tag, 'lxm--原始数据 - 充电仓充电: ${newDeviceInfo.caseCharging}'); |
|
|
|
Logger.d(_tag, 'lxm--原始数据 - 固件版本: ${newDeviceInfo.firmwareVersion}'); |
|
|
|
// Logger.d(_tag, 'lxm--原始数据 - 左耳电量: ${newDeviceInfo.leftEarBattery}'); |
|
|
|
// Logger.d(_tag, 'lxm--原始数据 - 右耳电量: ${newDeviceInfo.rightEarBattery}'); |
|
|
|
// Logger.d(_tag, 'lxm--原始数据 - 充电仓电量: ${newDeviceInfo.caseBattery}'); |
|
|
|
// Logger.d(_tag, 'lxm--原始数据 - 左耳充电: ${newDeviceInfo.leftEarCharging}'); |
|
|
|
// Logger.d(_tag, 'lxm--原始数据 - 右耳充电: ${newDeviceInfo.rightEarCharging}'); |
|
|
|
// Logger.d(_tag, 'lxm--原始数据 - 充电仓充电: ${newDeviceInfo.caseCharging}'); |
|
|
|
// Logger.d(_tag, 'lxm--原始数据 - 固件版本: ${newDeviceInfo.firmwareVersion}'); |
|
|
|
} else { |
|
|
|
Logger.d(_tag, 'lxm--接收到的DeviceInfo为null'); |
|
|
|
} |
|
|
|
@ -72,13 +74,13 @@ class HomeController extends GetxController { |
|
|
|
caseCharging.value = newDeviceInfo?.caseCharging ?? false; |
|
|
|
firmwareVersion.value = newDeviceInfo?.firmwareVersion ?? ''; |
|
|
|
|
|
|
|
Logger.d(_tag, 'lxm--更新后的值 - 左耳电量: ${leftEarBattery.value}'); |
|
|
|
Logger.d(_tag, 'lxm--更新后的值 - 右耳电量: ${rightEarBattery.value}'); |
|
|
|
Logger.d(_tag, 'lxm--更新后的值 - 充电仓电量: ${caseBattery.value}'); |
|
|
|
Logger.d(_tag, 'lxm--更新后的值 - 左耳充电: ${leftEarCharging.value}'); |
|
|
|
Logger.d(_tag, 'lxm--更新后的值 - 右耳充电: ${rightEarCharging.value}'); |
|
|
|
Logger.d(_tag, 'lxm--更新后的值 - 充电仓充电: ${caseCharging.value}'); |
|
|
|
Logger.d(_tag, 'lxm--更新后的值 - 固件版本: ${firmwareVersion.value}'); |
|
|
|
// Logger.d(_tag, 'lxm--更新后的值 - 左耳电量: ${leftEarBattery.value}'); |
|
|
|
// Logger.d(_tag, 'lxm--更新后的值 - 右耳电量: ${rightEarBattery.value}'); |
|
|
|
// Logger.d(_tag, 'lxm--更新后的值 - 充电仓电量: ${caseBattery.value}'); |
|
|
|
// Logger.d(_tag, 'lxm--更新后的值 - 左耳充电: ${leftEarCharging.value}'); |
|
|
|
// Logger.d(_tag, 'lxm--更新后的值 - 右耳充电: ${rightEarCharging.value}'); |
|
|
|
// Logger.d(_tag, 'lxm--更新后的值 - 充电仓充电: ${caseCharging.value}'); |
|
|
|
// Logger.d(_tag, 'lxm--更新后的值 - 固件版本: ${firmwareVersion.value}'); |
|
|
|
} |
|
|
|
|
|
|
|
Worker? _deviceInfoWorker; |
|
|
|
@ -140,7 +142,7 @@ class HomeController extends GetxController { |
|
|
|
|
|
|
|
Future<void> refreshDeviceConnection() async { |
|
|
|
await _checkConnectionStatus(); |
|
|
|
|
|
|
|
|
|
|
|
// 如果设备已连接,主动刷新设备信息 |
|
|
|
if (_isFullyConnected.value) { |
|
|
|
try { |
|
|
|
@ -173,6 +175,8 @@ class HomeController extends GetxController { |
|
|
|
bool wasConnected = _isFullyConnected.value; |
|
|
|
bool isNowConnected = hasClassicBluetooth && hasBleConnection; |
|
|
|
|
|
|
|
bool isGuideCompleted = _storage.read('home_guide') ?? false; |
|
|
|
|
|
|
|
if (isNowConnected && currentDevice == null) { |
|
|
|
isNowConnected = false; |
|
|
|
} |
|
|
|
@ -191,9 +195,11 @@ class HomeController extends GetxController { |
|
|
|
// 移除了连接成功后的电池信息刷新 |
|
|
|
|
|
|
|
// 连接成功后检查OTA升级 |
|
|
|
Future.delayed(const Duration(seconds: 2), () { |
|
|
|
_checkOtaUpgrade(); |
|
|
|
}); |
|
|
|
if (isGuideCompleted) { |
|
|
|
Future.delayed(const Duration(seconds: 2), () { |
|
|
|
_checkOtaUpgrade(); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
// 移除了根据连接状态控制定时器的逻辑 |
|
|
|
} |
|
|
|
|