diff --git a/lib/modules/login/controllers/login_controller.dart b/lib/modules/login/controllers/login_controller.dart index a568f820c..ff506e4a9 100644 --- a/lib/modules/login/controllers/login_controller.dart +++ b/lib/modules/login/controllers/login_controller.dart @@ -113,19 +113,24 @@ class LoginController extends GetxController { _contactController = TextEditingController(); _verificationCodeController = TextEditingController(); - // 初始化默认国家代码 - _initDefaultCountryCode(); - - _hasAcceptedPrivacy.value = - _storage.read('hasAcceptedPrivacy') ?? false; // 从本地存储中读取是否已接受隐私政策 - _initDeviceInfo(); _initAppInfo(); // 新增:初始化APP信息 _checkGuestLoginConfig(); // 检查游客登录配置 + final channel = versionService.cachedChannel; isChinaMainland.value = Get.deviceLocale?.countryCode?.toUpperCase() == 'CN' && - _userChannel != UserChannel.GLOBAL_GOOGLE; //是否中国大陆地区 + channel != UserChannel.GLOBAL_GOOGLE; //是否中国大陆地区 + + // 初始化默认国家代码 + _initDefaultCountryCode(); + + if (channel != UserChannel.CHINA_HUAWEI && + channel != UserChannel.CHINA_HONOR) { + // 非中国华为和荣耀渠道,检查是否已接受隐私政策 + _hasAcceptedPrivacy.value = + _storage.read('hasAcceptedPrivacy') ?? false; // 从本地存储中读取是否已接受隐私政策 + } } @override diff --git a/lib/modules/pairing/controllers/pairing_controller.dart b/lib/modules/pairing/controllers/pairing_controller.dart index 39ca7fa67..2b63098c6 100644 --- a/lib/modules/pairing/controllers/pairing_controller.dart +++ b/lib/modules/pairing/controllers/pairing_controller.dart @@ -18,6 +18,7 @@ import '../../../data/services/bluetooth_manager.dart'; import '../../../data/services/ble_manager.dart'; import '../../../core/utils/permission_util.dart'; import '../../../data/services/version_update_service.dart'; +import '../../../data/models/channel_app_model.dart'; /// 配对状态枚举 - 简化版本 enum PairingState { @@ -569,15 +570,20 @@ class PairingController extends GetxController with WidgetsBindingObserver { return _bluetoothManager.bluetoothState != 'off'; } - /// 检查是否为华为设备 + /// 检查是否为华为设备或者华为渠道 bool _isHuaweiDevice() { final deviceBrand = versionService.cachedDeviceBrand; + final channel = versionService.cachedChannel; return deviceBrand.isNotEmpty && - (deviceBrand.contains('huawei') || deviceBrand.contains('华为')); + (deviceBrand.contains('huawei') || deviceBrand.contains('华为')) || + (channel == UserChannel.CHINA_HUAWEI); } /// 检查权限 Future _checkPermissions() async { + if (isHuaweiDevice) { + isHuaweiHasChecked = _storage.read('isHuaweiHasChecked') ?? false; + } //如果是华为设备,且已经检查过,直接返回权限状态 if (isHuaweiDevice && isHuaweiHasChecked) { final bluetoothScanStatus = await Permission.bluetoothScan.status;