Browse Source

refactor(新手引导):

- 将新手引导默认状态改为false
- 添加GetStorage用于存储引导完成状态
- 移除冗余的日志输出
- 仅在引导完成后检查OTA升级
weicu
lxm 1 year ago
parent
commit
15964c34b1
  1. 4
      lib/data/services/novice_guide_service.dart
  2. 42
      lib/modules/home/controllers/home_controller.dart

4
lib/data/services/novice_guide_service.dart

@ -14,8 +14,8 @@ class NoviceGuideService extends GetxService {
final BleService _bleService = BleService(); final BleService _bleService = BleService();
StreamSubscription<dynamic>? _statusSubscription; StreamSubscription<dynamic>? _statusSubscription;
bool isHomeGuide = true; bool isHomeGuide = false;
bool isAIGuide = true; bool isAIGuide = false;
RxBool isWakeup = false.obs; RxBool isWakeup = false.obs;

42
lib/modules/home/controllers/home_controller.dart

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

Loading…
Cancel
Save