@@ -153,32 +153,36 @@ class _AppHomePageState extends State<AppHomePage>
153
153
}
154
154
155
155
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
+ });
174
168
_firebaseMessaging.getToken ().then ((String token) {
175
- EventTaxiImpl .singleton ().fire (FcmUpdateEvent (token: token));
169
+ if (token != null ) {
170
+ EventTaxiImpl .singleton ().fire (FcmUpdateEvent (token: token));
171
+ }
176
172
});
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 );
182
186
}
183
187
}
184
188
0 commit comments