diff --git a/lib/pages/onboarding/enable_notificatons.dart b/lib/pages/onboarding/enable_notificatons.dart index 7b97bceb3..bd282f22e 100644 --- a/lib/pages/onboarding/enable_notificatons.dart +++ b/lib/pages/onboarding/enable_notificatons.dart @@ -47,18 +47,7 @@ class EnabledNotificationsController extends State { } Future _requestNotificationPermission() async { - try { - await Matrix.of(context).requestPermission(); - } catch (e, s) { - final permisson = await Matrix.of(context).notificationsEnabled; - ErrorHandler.logError( - e: e, - s: s, - data: { - 'notification_permission': permisson, - }, - ); - } + await Matrix.of(context).requestNotificationPermission(); if (mounted) { context.push("/registration/course"); } diff --git a/lib/pages/settings_notifications/settings_notifications.dart b/lib/pages/settings_notifications/settings_notifications.dart index 17d15c5fb..b0974940c 100644 --- a/lib/pages/settings_notifications/settings_notifications.dart +++ b/lib/pages/settings_notifications/settings_notifications.dart @@ -8,7 +8,6 @@ import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/config/setting_keys.dart'; import 'package:fluffychat/l10n/l10n.dart'; import 'package:fluffychat/pages/settings_notifications/push_rule_extensions.dart'; -import 'package:fluffychat/pangea/common/utils/error_handler.dart'; import 'package:fluffychat/utils/localized_exception_extension.dart'; import 'package:fluffychat/widgets/adaptive_dialogs/adaptive_dialog_action.dart'; import 'package:fluffychat/widgets/adaptive_dialogs/show_modal_action_popup.dart'; @@ -209,18 +208,7 @@ class SettingsNotificationsController extends State { } Future requestNotificationPermission() async { - try { - await Matrix.of(context).requestPermission(); - } catch (e, s) { - final permisson = await Matrix.of(context).notificationsEnabled; - ErrorHandler.logError( - e: e, - s: s, - data: { - 'notification_permission': permisson, - }, - ); - } + await Matrix.of(context).requestNotificationPermission(); if (mounted) setState(() {}); } // Pangea# diff --git a/lib/pangea/common/utils/p_vguard.dart b/lib/pangea/common/utils/p_vguard.dart index c5ed93703..c977618c1 100644 --- a/lib/pangea/common/utils/p_vguard.dart +++ b/lib/pangea/common/utils/p_vguard.dart @@ -48,7 +48,7 @@ class PAuthGaurd { // If user hasn't set their L2, // and their URL doesn’t include ‘course,’ redirect final bool hasSetL2 = await pController!.userController.isUserL2Set; - return !hasSetL2 ? '/registration' : null; + return !hasSetL2 ? '/registration/create' : null; } /// Redirect for onboarding routes diff --git a/lib/widgets/local_notifications_extension.dart b/lib/widgets/local_notifications_extension.dart index d21550925..ff78aca9a 100644 --- a/lib/widgets/local_notifications_extension.dart +++ b/lib/widgets/local_notifications_extension.dart @@ -11,6 +11,7 @@ import 'package:universal_html/html.dart' as html; import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/l10n/l10n.dart'; +import 'package:fluffychat/pangea/common/utils/error_handler.dart'; import 'package:fluffychat/utils/client_download_content_extension.dart'; import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart'; import 'package:fluffychat/utils/platform_infos.dart'; @@ -134,22 +135,33 @@ extension LocalNotificationsExtension on MatrixState { : Permission.notification.isGranted; } - Future requestPermission() async { - if (kIsWeb) { - await html.Notification.requestPermission(); - } else { - final status = await Permission.notification.request(); - if (status.isGranted) { - // Notification permissions granted - } else if (status.isDenied) { - // Notification permissions denied - } else if (status.isPermanentlyDenied) { - // Notification permissions permanently denied, open app settings - await openAppSettings(); + Future requestNotificationPermission() async { + try { + if (kIsWeb) { + await html.Notification.requestPermission(); + } else { + final status = await Permission.notification.request(); + if (status.isGranted) { + // Notification permissions granted + } else if (status.isDenied) { + // Notification permissions denied + } else if (status.isPermanentlyDenied) { + // Notification permissions permanently denied, open app settings + await openAppSettings(); + } } - } - notifPermissionNotifier.value = notifPermissionNotifier.value + 1; + notifPermissionNotifier.value = notifPermissionNotifier.value + 1; + } catch (e, s) { + final permission = await notificationsEnabled; + ErrorHandler.logError( + e: e, + s: s, + data: { + 'permission': permission, + }, + ); + } } // Pangea# }