@@ -153,32 +153,36 @@ class _AppHomePageState extends State<AppHomePage>
153153 }
154154
155155 void getNotificationPermissions () async {
156- NotificationSettings settings = await _firebaseMessaging.requestPermission (
157- sound: true , badge: true , alert: true );
158- if (settings.alert == AppleNotificationSetting .enabled ||
159- settings.badge == AppleNotificationSetting .enabled ||
160- settings.sound == AppleNotificationSetting .enabled ||
161- settings.authorizationStatus == AuthorizationStatus .authorized) {
162- sl.get <SharedPrefsUtil >().getNotificationsSet ().then ((beenSet) {
163- if (! beenSet) {
164- sl.get <SharedPrefsUtil >().setNotificationsOn (true );
165- }
166- });
167- _firebaseMessaging.getToken ().then ((String token) {
168- if (token != null ) {
169- EventTaxiImpl .singleton ().fire (FcmUpdateEvent (token: token));
170- }
171- });
172- } else {
173- sl.get <SharedPrefsUtil >().setNotificationsOn (false ).then ((_) {
156+ try {
157+ NotificationSettings settings = await _firebaseMessaging
158+ .requestPermission (sound: true , badge: true , alert: true );
159+ if (settings.alert == AppleNotificationSetting .enabled ||
160+ settings.badge == AppleNotificationSetting .enabled ||
161+ settings.sound == AppleNotificationSetting .enabled ||
162+ settings.authorizationStatus == AuthorizationStatus .authorized) {
163+ sl.get <SharedPrefsUtil >().getNotificationsSet ().then ((beenSet) {
164+ if (! beenSet) {
165+ sl.get <SharedPrefsUtil >().setNotificationsOn (true );
166+ }
167+ });
174168 _firebaseMessaging.getToken ().then ((String token) {
175- EventTaxiImpl .singleton ().fire (FcmUpdateEvent (token: token));
169+ if (token != null ) {
170+ EventTaxiImpl .singleton ().fire (FcmUpdateEvent (token: token));
171+ }
176172 });
177- });
178- }
179- String token = await _firebaseMessaging.getToken ();
180- if (token != null ) {
181- EventTaxiImpl .singleton ().fire (FcmUpdateEvent (token: token));
173+ } else {
174+ sl.get <SharedPrefsUtil >().setNotificationsOn (false ).then ((_) {
175+ _firebaseMessaging.getToken ().then ((String token) {
176+ EventTaxiImpl .singleton ().fire (FcmUpdateEvent (token: token));
177+ });
178+ });
179+ }
180+ String token = await _firebaseMessaging.getToken ();
181+ if (token != null ) {
182+ EventTaxiImpl .singleton ().fire (FcmUpdateEvent (token: token));
183+ }
184+ } catch (e) {
185+ sl.get <SharedPrefsUtil >().setNotificationsOn (false );
182186 }
183187 }
184188
0 commit comments