push registration no longer depends on notification permission, reporting effective opt-in and os permission
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import 'package:firebase_messaging/firebase_messaging.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
||||
import '../model/account_data.dart';
|
||||
@@ -141,21 +140,11 @@ Future<PushStatusReport> collectPushStatus({
|
||||
}
|
||||
|
||||
Future<PushCheck> _osPermission() async {
|
||||
try {
|
||||
final settings = await FirebaseMessaging.instance.getNotificationSettings();
|
||||
switch (settings.authorizationStatus) {
|
||||
case AuthorizationStatus.authorized:
|
||||
case AuthorizationStatus.provisional:
|
||||
return PushCheck.ok;
|
||||
case AuthorizationStatus.denied:
|
||||
case AuthorizationStatus.deniedPermanently:
|
||||
return PushCheck.fail;
|
||||
case AuthorizationStatus.notDetermined:
|
||||
return PushCheck.unknown;
|
||||
}
|
||||
} on Object {
|
||||
return PushCheck.unknown;
|
||||
}
|
||||
final status = await PushRegistration.osPermissionStatus();
|
||||
if (status == null) return PushCheck.unknown;
|
||||
if (PushRegistration.canDisplay(status)) return PushCheck.ok;
|
||||
if (!PushRegistration.isPermissionUsable(status)) return PushCheck.fail;
|
||||
return PushCheck.unknown;
|
||||
}
|
||||
|
||||
/// One line in the status checklist.
|
||||
|
||||
Reference in New Issue
Block a user