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();
StreamSubscription<dynamic>? _statusSubscription;
bool isHomeGuide = true;
bool isAIGuide = true;
bool isHomeGuide = false;
bool isAIGuide = false;
RxBool isWakeup = false.obs;

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

@ -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();
});
}
}
// 移除了根据连接状态控制定时器的逻辑
}

Loading…
Cancel
Save