|
...
|
...
|
@@ -7,6 +7,7 @@ import 'package:doublefeel_flutter/data/local/user_account_storage.dart'; |
|
|
|
import 'package:doublefeel_flutter/data/local/user_preferences_storage.dart';
|
|
|
|
import 'package:doublefeel_flutter/pigeon/health_kit_api.g.dart';
|
|
|
|
import 'package:doublefeel_flutter/pigeon/health_kit_raw_data_api.g.dart';
|
|
|
|
import 'package:doublefeel_flutter/pigeon/platform_api.g.dart';
|
|
|
|
import 'package:get/get.dart';
|
|
|
|
import 'package:permission_handler/permission_handler.dart';
|
|
|
|
|
|
...
|
...
|
@@ -23,6 +24,7 @@ class UserOnboardingController extends GetxController { |
|
|
|
UserOnboardingController(this._userApi);
|
|
|
|
final UserApi _userApi;
|
|
|
|
final HealthKitHostApi _hostApi = HealthKitHostApi();
|
|
|
|
final PlatformHostApi _platformHostApi = PlatformHostApi();
|
|
|
|
|
|
|
|
bool hasSelection(int pageIndex) =>
|
|
|
|
selections[pageIndex]?.isNotEmpty ?? false;
|
|
...
|
...
|
@@ -275,10 +277,7 @@ class UserOnboardingController extends GetxController { |
|
|
|
}
|
|
|
|
|
|
|
|
// 未决定 → 弹出系统授权弹窗
|
|
|
|
final result = await Permission.notification.request();
|
|
|
|
AppLogger.d(result.isGranted
|
|
|
|
? 'Notification authorization granted'
|
|
|
|
: 'Notification authorization skipped');
|
|
|
|
final result = await _platformHostApi.requestNotificationAuth();
|
|
|
|
} catch (error) {
|
|
|
|
AppLogger.e('Notification authorization failed: $error');
|
|
|
|
}
|
...
|
...
|
|