Commit 8d1aa526 by Mathias Cochet

Permission status added.

parent eb7ef50a
......@@ -108,6 +108,7 @@ typedef NS_ENUM(int, PermissionStatus) {
PermissionStatusGranted,
PermissionStatusRestricted,
PermissionStatusNotDetermined,
PermissionStatusLimited,
};
typedef NS_ENUM(int, ServiceStatus) {
......
......@@ -45,6 +45,8 @@
return PermissionStatusDenied;
case PHAuthorizationStatusAuthorized:
return PermissionStatusGranted;
case PHAuthorizationStatusLimited:
return PermissionStatusLimited;
}
return PermissionStatusNotDetermined;
......
......@@ -22,6 +22,10 @@ enum PermissionStatus {
/// permission status in the settings.
/// *Only supported on Android.*
permanentlyDenied,
///User has authorized this application for limited access.
/// *Only supported on iOS (iOS14+).*
limited,
}
extension PermissionStatusValue on PermissionStatus {
......@@ -37,6 +41,8 @@ extension PermissionStatusValue on PermissionStatus {
return 3;
case PermissionStatus.permanentlyDenied:
return 4;
case PermissionStatus.limited:
return 5;
default:
throw UnimplementedError();
}
......@@ -49,6 +55,7 @@ extension PermissionStatusValue on PermissionStatus {
PermissionStatus.restricted,
PermissionStatus.undetermined,
PermissionStatus.permanentlyDenied,
PermissionStatus.limited,
][value];
}
}
......@@ -74,6 +81,8 @@ extension PermissionStatusGetters on PermissionStatus {
/// permission status in the settings.
/// *Only supported on Android.*
bool get isPermanentlyDenied => this == PermissionStatus.permanentlyDenied;
bool get isLimited => this == PermissionStatus.limited;
}
extension FuturePermissionStatusGetters on Future<PermissionStatus> {
......@@ -98,4 +107,6 @@ extension FuturePermissionStatusGetters on Future<PermissionStatus> {
/// *Only supported on Android.*
Future<bool> get isPermanentlyDenied async =>
(await this).isPermanentlyDenied;
Future<bool> get isLimited async => (await this).isLimited;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment