move try-catch into request permission function
This commit is contained in:
parent
af948eb35d
commit
1522dd46d1
4 changed files with 29 additions and 40 deletions
|
|
@ -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");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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#
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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#
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue