Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
permission_handler
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
songyanzhi
permission_handler
Commits
e3d7818f
Unverified
Commit
e3d7818f
authored
Nov 08, 2019
by
Maurits van Beusekom
Committed by
GitHub
Nov 08, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #170 from phranck/develop
Adds support for StoragePermissionStrategy on iOS
parents
9dfed046
b0e3f870
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
64 additions
and
19 deletions
+64
-19
ios/Classes/PermissionManager.h
+2
-4
ios/Classes/PermissionManager.m
+16
-14
ios/Classes/strategies/StoragePermissionStrategy.h
+17
-0
ios/Classes/strategies/StoragePermissionStrategy.m
+28
-0
lib/src/permission_enums.dart
+1
-1
No files found.
ios/Classes/PermissionManager.h
View file @
e3d7818f
...
...
@@ -19,6 +19,7 @@
#import "PhotoPermissionStrategy.h"
#import "SensorPermissionStrategy.h"
#import "SpeechPermissionStrategy.h"
#import "StoragePermissionStrategy.h"
#import "UnknownPermissionStrategy.h"
#import "NotificationPermissionStrategy.h"
#import "PermissionHandlerEnums.h"
...
...
@@ -29,13 +30,10 @@ typedef void (^PermissionRequestCompletion)(NSDictionary *permissionRequestResul
@interface
PermissionManager
:
NSObject
-
(
instancetype
)
initWithStrategyInstances
;
-
(
void
)
requestPermissions
:(
NSArray
*
)
permissions
completion
:(
PermissionRequestCompletion
)
completion
;
+
(
void
)
checkPermissionStatus
:(
enum
PermissionGroup
)
permission
result
:(
FlutterResult
)
result
;
+
(
void
)
checkServiceStatus
:(
enum
PermissionGroup
)
permission
result
:(
FlutterResult
)
result
;
+
(
void
)
openAppSettings
:(
FlutterResult
)
result
;
-
(
void
)
requestPermissions
:(
NSArray
*
)
permissions
completion
:(
PermissionRequestCompletion
)
completion
;
@end
ios/Classes/PermissionManager.m
View file @
e3d7818f
...
...
@@ -75,32 +75,34 @@
+
(
id
)
createPermissionStrategy
:
(
PermissionGroup
)
permission
{
switch
(
permission
)
{
case
PermissionGroupCalendar
:
case
PermissionGroupCalendar
:
return
[
EventPermissionStrategy
new
];
case
PermissionGroupCamera
:
case
PermissionGroupCamera
:
return
[
AudioVideoPermissionStrategy
new
];
case
PermissionGroupContacts
:
case
PermissionGroupContacts
:
return
[
ContactPermissionStrategy
new
];
case
PermissionGroupLocation
:
case
PermissionGroupLocationAlways
:
case
PermissionGroupLocationWhenInUse
:
case
PermissionGroupLocation
:
case
PermissionGroupLocationAlways
:
case
PermissionGroupLocationWhenInUse
:
return
[[
LocationPermissionStrategy
alloc
]
initWithLocationManager
];
case
PermissionGroupMediaLibrary
:
case
PermissionGroupMediaLibrary
:
return
[
MediaLibraryPermissionStrategy
new
];
case
PermissionGroupMicrophone
:
case
PermissionGroupMicrophone
:
return
[
AudioVideoPermissionStrategy
new
];
case
PermissionGroupPhone
:
case
PermissionGroupPhone
:
return
[
PhonePermissionStrategy
new
];
case
PermissionGroupPhotos
:
case
PermissionGroupPhotos
:
return
[
PhotoPermissionStrategy
new
];
case
PermissionGroupReminders
:
case
PermissionGroupReminders
:
return
[
EventPermissionStrategy
new
];
case
PermissionGroupSensors
:
case
PermissionGroupSensors
:
return
[
SensorPermissionStrategy
new
];
case
PermissionGroupSpeech
:
case
PermissionGroupSpeech
:
return
[
SpeechPermissionStrategy
new
];
case
PermissionGroupNotification
:
case
PermissionGroupNotification
:
return
[
NotificationPermissionStrategy
new
];
case
PermissionGroupStorage
:
return
[
StoragePermissionStrategy
new
];
default
:
return
[
UnknownPermissionStrategy
new
];
}
...
...
ios/Classes/strategies/StoragePermissionStrategy.h
0 → 100644
View file @
e3d7818f
//
// 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
ios/Classes/strategies/StoragePermissionStrategy.m
0 → 100644
View file @
e3d7818f
//
// 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
lib/src/permission_enums.dart
View file @
e3d7818f
...
...
@@ -142,7 +142,7 @@ class PermissionGroup {
static
const
PermissionGroup
speech
=
PermissionGroup
.
_
(
13
);
/// Android: External Storage
/// iOS:
Nothing
/// iOS:
Access to folders like `Documents` or `Downloads`. Implicitly granted.
static
const
PermissionGroup
storage
=
PermissionGroup
.
_
(
14
);
/// Android: Ignore Battery Optimizations
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment