move try-catch into request permission function

This commit is contained in:
ggurdin 2026-02-02 12:27:32 -05:00
parent af948eb35d
commit 1522dd46d1
No known key found for this signature in database
GPG key ID: A01CB41737CBB478
4 changed files with 29 additions and 40 deletions

View file

@ -47,18 +47,7 @@ class EnabledNotificationsController extends State<EnableNotifications> {
}
Future<void> _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");
}

View file

@ -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<SettingsNotifications> {
}
Future<void> 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#

View file

@ -48,7 +48,7 @@ class PAuthGaurd {
// If user hasn't set their L2,
// and their URL doesnt include course, redirect
final bool hasSetL2 = await pController!.userController.isUserL2Set;
return !hasSetL2 ? '/registration' : null;
return !hasSetL2 ? '/registration/create' : null;
}
/// Redirect for onboarding routes

View file

@ -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<void> 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<void> 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#
}