requestNotificationPermissions method

Future<NotificationPermissionStatus> requestNotificationPermissions({
  1. bool provisional = false,
})

Requests notification permissions and syncs the result to state.

This is a convenience method that wraps NotificationService.requestPermissions() and automatically updates the AppState with the result.

Returns the resulting permission status.

Implementation

Future<NotificationPermissionStatus> requestNotificationPermissions({
  bool provisional = false,
}) async {
  try {
    final notificationService = NotificationService();

    if (!notificationService.isInitialized) {
      logd('NotificationService not initialized, cannot request permissions');
      return NotificationPermissionStatus.notDetermined;
    }

    final status = await notificationService.requestPermissions(
      provisional: provisional,
    );

    // Sync to state
    emitSafe(state.copyWith(notificationPermissionStatus: status));

    return status;
  } catch (e) {
    loge(e, 'Error requesting notification permissions');
    return NotificationPermissionStatus.denied;
  }
}