Commit e3d7818f by Maurits van Beusekom Committed by GitHub

Merge pull request #170 from phranck/develop

Adds support for StoragePermissionStrategy on iOS
parents 9dfed046 b0e3f870
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
#import "PhotoPermissionStrategy.h" #import "PhotoPermissionStrategy.h"
#import "SensorPermissionStrategy.h" #import "SensorPermissionStrategy.h"
#import "SpeechPermissionStrategy.h" #import "SpeechPermissionStrategy.h"
#import "StoragePermissionStrategy.h"
#import "UnknownPermissionStrategy.h" #import "UnknownPermissionStrategy.h"
#import "NotificationPermissionStrategy.h" #import "NotificationPermissionStrategy.h"
#import "PermissionHandlerEnums.h" #import "PermissionHandlerEnums.h"
...@@ -29,13 +30,10 @@ typedef void (^PermissionRequestCompletion)(NSDictionary *permissionRequestResul ...@@ -29,13 +30,10 @@ typedef void (^PermissionRequestCompletion)(NSDictionary *permissionRequestResul
@interface PermissionManager : NSObject @interface PermissionManager : NSObject
- (instancetype)initWithStrategyInstances; - (instancetype)initWithStrategyInstances;
- (void)requestPermissions:(NSArray *)permissions completion:(PermissionRequestCompletion)completion;
+ (void)checkPermissionStatus:(enum PermissionGroup)permission result:(FlutterResult)result; + (void)checkPermissionStatus:(enum PermissionGroup)permission result:(FlutterResult)result;
+ (void)checkServiceStatus:(enum PermissionGroup)permission result:(FlutterResult)result; + (void)checkServiceStatus:(enum PermissionGroup)permission result:(FlutterResult)result;
+ (void)openAppSettings:(FlutterResult)result; + (void)openAppSettings:(FlutterResult)result;
- (void)requestPermissions:(NSArray *)permissions completion:(PermissionRequestCompletion)completion;
@end @end
...@@ -101,6 +101,8 @@ ...@@ -101,6 +101,8 @@
return [SpeechPermissionStrategy new]; return [SpeechPermissionStrategy new];
case PermissionGroupNotification: case PermissionGroupNotification:
return [NotificationPermissionStrategy new]; return [NotificationPermissionStrategy new];
case PermissionGroupStorage:
return [StoragePermissionStrategy new];
default: default:
return [UnknownPermissionStrategy new]; return [UnknownPermissionStrategy new];
} }
......
//
// StoragePermissionStrategy.h
// permission_handler
//
// Created by Frank Gregor on 06.11.19.
//
#import <Foundation/Foundation.h>
#import "PermissionStrategy.h"
NS_ASSUME_NONNULL_BEGIN
@interface StoragePermissionStrategy : NSObject <PermissionStrategy>
@end
NS_ASSUME_NONNULL_END
//
// StoragePermissionStrategy.m
// permission_handler
//
// Created by Frank Gregor on 06.11.19.
//
#import "StoragePermissionStrategy.h"
@implementation StoragePermissionStrategy
- (PermissionStatus)checkPermissionStatus:(PermissionGroup)permission {
return [StoragePermissionStrategy permissionStatus];
}
- (ServiceStatus)checkServiceStatus:(PermissionGroup)permission {
return ServiceStatusNotApplicable;
}
- (void)requestPermission:(PermissionGroup)permission completionHandler:(PermissionStatusHandler)completionHandler {
completionHandler([StoragePermissionStrategy permissionStatus]);
}
+ (PermissionStatus)permissionStatus {
return PermissionStatusGranted;
}
@end
...@@ -142,7 +142,7 @@ class PermissionGroup { ...@@ -142,7 +142,7 @@ class PermissionGroup {
static const PermissionGroup speech = PermissionGroup._(13); static const PermissionGroup speech = PermissionGroup._(13);
/// Android: External Storage /// Android: External Storage
/// iOS: Nothing /// iOS: Access to folders like `Documents` or `Downloads`. Implicitly granted.
static const PermissionGroup storage = PermissionGroup._(14); static const PermissionGroup storage = PermissionGroup._(14);
/// Android: Ignore Battery Optimizations /// Android: Ignore Battery Optimizations
......
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