diff --git a/kitx_mobile/lib/services/notification_service.dart b/kitx_mobile/lib/services/notification_service.dart index 5177a83..bbc7d31 100644 --- a/kitx_mobile/lib/services/notification_service.dart +++ b/kitx_mobile/lib/services/notification_service.dart @@ -7,6 +7,7 @@ import 'package:get/get.dart'; import 'package:kitx_mobile/instances.dart'; import 'package:kitx_mobile/services/public/service_status.dart'; import 'package:kitx_mobile/utils/extensions/service_status_to_string.dart'; +import 'package:kitx_mobile/utils/handlers/permissions_handlers.dart'; /// [NotificationService] class class NotificationService { @@ -18,7 +19,8 @@ class NotificationService { /// Initialize the notification service Future initAsync() async { - // TODO: adapt to iOS + if (await requestNotificationPermission() == false) return; + if (GetPlatform.isAndroid) { AwesomeNotifications().initialize( 'resource://drawable/app_icon', @@ -35,6 +37,8 @@ class NotificationService { ], ); AwesomeNotifications().setListeners(onActionReceivedMethod: onActionReceivedMethod); + } else if (GetPlatform.isIOS) { + // TODO: Adapt to iOS } } diff --git a/kitx_mobile/lib/utils/handlers/permissions_handlers.dart b/kitx_mobile/lib/utils/handlers/permissions_handlers.dart index 0b7175c..d1eb537 100644 --- a/kitx_mobile/lib/utils/handlers/permissions_handlers.dart +++ b/kitx_mobile/lib/utils/handlers/permissions_handlers.dart @@ -33,3 +33,10 @@ Future requestNetworkRelatedPermissions() async { return false; } } + +/// Request Notification Permission +Future requestNotificationPermission() async { + var result = await requestPermission(Permission.notification); + + return result; +}