Skip to content

Commit 94bf697

Browse files
committed
Improve APCSignUpPermissionsType for use from Swift
Resolves ResearchKit/AppKit#21
1 parent e8c6d2c commit 94bf697

File tree

8 files changed

+64
-63
lines changed

8 files changed

+64
-63
lines changed

APCAppCore/APCAppCore/Library/Objects/APCConstants.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@
3434
#import <Foundation/Foundation.h>
3535

3636
typedef NS_ENUM(NSUInteger, APCSignUpPermissionsType) {
37-
kSignUpPermissionsTypeNone = 0,
38-
kSignUpPermissionsTypeHealthKit,
39-
kSignUpPermissionsTypeLocation,
40-
kSignUpPermissionsTypeLocalNotifications,
41-
kSignUpPermissionsTypeCoremotion,
42-
kSignUpPermissionsTypeMicrophone,
43-
kSignUpPermissionsTypeCamera,
44-
kSignUpPermissionsTypePhotoLibrary
37+
kAPCSignUpPermissionsTypeNone = 0,
38+
kAPCSignUpPermissionsTypeHealthKit,
39+
kAPCSignUpPermissionsTypeLocation,
40+
kAPCSignUpPermissionsTypeLocalNotifications,
41+
kAPCSignUpPermissionsTypeCoremotion,
42+
kAPCSignUpPermissionsTypeMicrophone,
43+
kAPCSignUpPermissionsTypeCamera,
44+
kAPCSignUpPermissionsTypePhotoLibrary
4545
};
4646

4747
typedef NS_ENUM(NSUInteger, APCDashboardMessageType) {

APCAppCore/APCAppCore/Library/Permissions/APCPermissionsManager.m

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -97,15 +97,15 @@ - (BOOL)isPermissionsGrantedForType:(APCSignUpPermissionsType)type
9797
BOOL isGranted = NO;
9898
[[NSUserDefaults standardUserDefaults]synchronize];
9999
switch (type) {
100-
case kSignUpPermissionsTypeHealthKit:
100+
case kAPCSignUpPermissionsTypeHealthKit:
101101
{
102102
HKCharacteristicType *dateOfBirth = [HKCharacteristicType characteristicTypeForIdentifier:HKCharacteristicTypeIdentifierDateOfBirth];
103103
HKAuthorizationStatus status = [self.healthStore authorizationStatusForType:dateOfBirth];
104104

105105
isGranted = (status == HKAuthorizationStatusSharingAuthorized);
106106
}
107107
break;
108-
case kSignUpPermissionsTypeLocation:
108+
case kAPCSignUpPermissionsTypeLocation:
109109
{
110110
#if TARGET_IPHONE_SIMULATOR
111111
isGranted = YES;
@@ -122,12 +122,12 @@ - (BOOL)isPermissionsGrantedForType:(APCSignUpPermissionsType)type
122122
#endif
123123
}
124124
break;
125-
case kSignUpPermissionsTypeLocalNotifications:
125+
case kAPCSignUpPermissionsTypeLocalNotifications:
126126
{
127127
isGranted = [[UIApplication sharedApplication] currentUserNotificationSettings].types != 0;
128128
}
129129
break;
130-
case kSignUpPermissionsTypeCoremotion:
130+
case kAPCSignUpPermissionsTypeCoremotion:
131131
{
132132
#if TARGET_IPHONE_SIMULATOR
133133
isGranted = YES;
@@ -136,7 +136,7 @@ - (BOOL)isPermissionsGrantedForType:(APCSignUpPermissionsType)type
136136
#endif
137137
}
138138
break;
139-
case kSignUpPermissionsTypeMicrophone:
139+
case kAPCSignUpPermissionsTypeMicrophone:
140140
{
141141
#if TARGET_IPHONE_SIMULATOR
142142
isGranted = YES;
@@ -145,7 +145,7 @@ - (BOOL)isPermissionsGrantedForType:(APCSignUpPermissionsType)type
145145
#endif
146146
}
147147
break;
148-
case kSignUpPermissionsTypeCamera:
148+
case kAPCSignUpPermissionsTypeCamera:
149149
{
150150
#if TARGET_IPHONE_SIMULATOR
151151
isGranted = YES;
@@ -155,7 +155,7 @@ - (BOOL)isPermissionsGrantedForType:(APCSignUpPermissionsType)type
155155
#endif
156156
}
157157
break;
158-
case kSignUpPermissionsTypePhotoLibrary:
158+
case kAPCSignUpPermissionsTypePhotoLibrary:
159159
{
160160
ALAuthorizationStatus status = [ALAssetsLibrary authorizationStatus];
161161
isGranted = status == ALAuthorizationStatusAuthorized;
@@ -177,7 +177,7 @@ - (void)requestForPermissionForType:(APCSignUpPermissionsType)type
177177
self.completionBlock = completion;
178178
__weak typeof(self) weakSelf = self;
179179
switch (type) {
180-
case kSignUpPermissionsTypeHealthKit:
180+
case kAPCSignUpPermissionsTypeHealthKit:
181181
{
182182

183183
//------READ TYPES--------
@@ -242,7 +242,7 @@ - (void)requestForPermissionForType:(APCSignUpPermissionsType)type
242242

243243
}
244244
break;
245-
case kSignUpPermissionsTypeLocation:
245+
case kAPCSignUpPermissionsTypeLocation:
246246
{
247247
CLAuthorizationStatus status = [CLLocationManager authorizationStatus];
248248

@@ -252,18 +252,19 @@ - (void)requestForPermissionForType:(APCSignUpPermissionsType)type
252252

253253
} else{
254254
if (weakSelf.completionBlock) {
255-
weakSelf.completionBlock(NO, [self permissionDeniedErrorForType:kSignUpPermissionsTypeLocation]);
255+
weakSelf.completionBlock(NO, [self permissionDeniedErrorForType:kAPCSignUpPermissionsTypeLocation]);
256256
weakSelf.completionBlock = nil;
257257
}
258258
}
259259
}
260260
break;
261-
case kSignUpPermissionsTypeLocalNotifications:
261+
case kAPCSignUpPermissionsTypeLocalNotifications:
262262
{
263263
if ([[UIApplication sharedApplication] currentUserNotificationSettings].types == UIUserNotificationTypeNone) {
264264
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeAlert
265265
|UIUserNotificationTypeBadge
266-
|UIUserNotificationTypeSound) categories:[APCTasksReminderManager taskReminderCategories]];
266+
|UIUserNotificationTypeSound)
267+
categories:[APCTasksReminderManager taskReminderCategories]];
267268

268269
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
269270
[[NSUserDefaults standardUserDefaults]synchronize];
@@ -272,7 +273,7 @@ - (void)requestForPermissionForType:(APCSignUpPermissionsType)type
272273
}
273274
}
274275
break;
275-
case kSignUpPermissionsTypeCoremotion:
276+
case kAPCSignUpPermissionsTypeCoremotion:
276277
{
277278

278279

@@ -288,7 +289,7 @@ - (void)requestForPermissionForType:(APCSignUpPermissionsType)type
288289

289290
if (weakSelf.completionBlock) {
290291
dispatch_async(dispatch_get_main_queue(), ^{
291-
weakSelf.completionBlock(NO, [self permissionDeniedErrorForType:kSignUpPermissionsTypeCoremotion]);
292+
weakSelf.completionBlock(NO, [self permissionDeniedErrorForType:kAPCSignUpPermissionsTypeCoremotion]);
292293
weakSelf.completionBlock = nil;
293294
});
294295
}
@@ -298,7 +299,7 @@ - (void)requestForPermissionForType:(APCSignUpPermissionsType)type
298299

299300
}
300301
break;
301-
case kSignUpPermissionsTypeMicrophone:
302+
case kAPCSignUpPermissionsTypeMicrophone:
302303
{
303304

304305
[[AVAudioSession sharedInstance] requestRecordPermission:^(BOOL granted) {
@@ -307,14 +308,14 @@ - (void)requestForPermissionForType:(APCSignUpPermissionsType)type
307308
weakSelf.completionBlock = nil;
308309
} else {
309310
if (weakSelf.completionBlock) {
310-
weakSelf.completionBlock(NO, [self permissionDeniedErrorForType:kSignUpPermissionsTypeMicrophone]);
311+
weakSelf.completionBlock(NO, [self permissionDeniedErrorForType:kAPCSignUpPermissionsTypeMicrophone]);
311312
weakSelf.completionBlock = nil;
312313
}
313314
}
314315
}];
315316
}
316317
break;
317-
case kSignUpPermissionsTypeCamera:
318+
case kAPCSignUpPermissionsTypeCamera:
318319
{
319320

320321
[AVCaptureDevice requestAccessForMediaType:AVMediaTypeVideo completionHandler:^(BOOL granted) {
@@ -323,14 +324,14 @@ - (void)requestForPermissionForType:(APCSignUpPermissionsType)type
323324
weakSelf.completionBlock = nil;
324325
} else {
325326
if (weakSelf.completionBlock) {
326-
weakSelf.completionBlock(NO, [self permissionDeniedErrorForType:kSignUpPermissionsTypeCamera]);
327+
weakSelf.completionBlock(NO, [self permissionDeniedErrorForType:kAPCSignUpPermissionsTypeCamera]);
327328
weakSelf.completionBlock = nil;
328329
}
329330
}
330331
}];
331332
}
332333
break;
333-
case kSignUpPermissionsTypePhotoLibrary:
334+
case kAPCSignUpPermissionsTypePhotoLibrary:
334335
{
335336

336337
ALAssetsLibrary *lib = [[ALAssetsLibrary alloc] init];
@@ -345,7 +346,7 @@ - (void)requestForPermissionForType:(APCSignUpPermissionsType)type
345346
} failureBlock:^(NSError *error) {
346347
if (error.code == ALAssetsLibraryAccessUserDeniedError) {
347348
if (weakSelf.completionBlock) {
348-
weakSelf.completionBlock(NO, [self permissionDeniedErrorForType:kSignUpPermissionsTypePhotoLibrary]);
349+
weakSelf.completionBlock(NO, [self permissionDeniedErrorForType:kAPCSignUpPermissionsTypePhotoLibrary]);
349350
weakSelf.completionBlock = nil;
350351
}
351352
}
@@ -387,31 +388,31 @@ - (NSError *)permissionDeniedErrorForType:(APCSignUpPermissionsType)type
387388
NSString *message;
388389

389390
switch (type) {
390-
case kSignUpPermissionsTypeHealthKit:{
391+
case kAPCSignUpPermissionsTypeHealthKit:{
391392
message = [NSString localizedStringWithFormat:NSLocalizedString(@"Please go to Settings -> Privacy -> Health -> %@ to re-enable.", nil), appName];
392393
}
393394
break;
394-
case kSignUpPermissionsTypeLocalNotifications:{
395+
case kAPCSignUpPermissionsTypeLocalNotifications:{
395396
message = [NSString localizedStringWithFormat:NSLocalizedString(@"Tap on Settings -> Notifications and enable 'Allow Notifications'", nil), appName];
396397
}
397398
break;
398-
case kSignUpPermissionsTypeLocation:{
399+
case kAPCSignUpPermissionsTypeLocation:{
399400
message = [NSString localizedStringWithFormat:NSLocalizedString(@"Tap on Settings -> Location and check 'Always'", nil), appName];
400401
}
401402
break;
402-
case kSignUpPermissionsTypeCoremotion:{
403+
case kAPCSignUpPermissionsTypeCoremotion:{
403404
message = [NSString localizedStringWithFormat:NSLocalizedString(@"Tap on Settings and enable Motion Activity.", nil), appName];
404405
}
405406
break;
406-
case kSignUpPermissionsTypeMicrophone:{
407+
case kAPCSignUpPermissionsTypeMicrophone:{
407408
message = [NSString localizedStringWithFormat:NSLocalizedString(@"Tap on Settings and enable Microphone", nil), appName];
408409
}
409410
break;
410-
case kSignUpPermissionsTypeCamera:{
411+
case kAPCSignUpPermissionsTypeCamera:{
411412
message = [NSString localizedStringWithFormat:NSLocalizedString(@"Tap on Settings and enable Camera", nil), appName];
412413
}
413414
break;
414-
case kSignUpPermissionsTypePhotoLibrary:{
415+
case kAPCSignUpPermissionsTypePhotoLibrary:{
415416
message = [NSString localizedStringWithFormat:NSLocalizedString(@"Tap on Settings and enable Photos", nil), appName];
416417
}
417418
break;
@@ -458,7 +459,7 @@ - (void)locationManager:(CLLocationManager *) __unused manager didChangeAuthoriz
458459
case kCLAuthorizationStatusRestricted: {
459460
[self.locationManager stopUpdatingLocation];
460461
if (self.completionBlock) {
461-
self.completionBlock(NO, [self permissionDeniedErrorForType:kSignUpPermissionsTypeLocation]);
462+
self.completionBlock(NO, [self permissionDeniedErrorForType:kAPCSignUpPermissionsTypeLocation]);
462463
self.completionBlock = nil;
463464
}
464465
break;
@@ -472,17 +473,17 @@ - (void)locationManager:(CLLocationManager *) __unused manager didChangeAuthoriz
472473

473474
- (void)appDidRegisterForRemoteNotifications: (NSNotification *)notification
474475
{
475-
476476
UIUserNotificationSettings *settings = (UIUserNotificationSettings *)notification.object;
477477

478478
if (settings.types != 0) {
479479
if (self.completionBlock) {
480480
self.completionBlock(YES, nil);
481481
self.completionBlock = nil;
482482
}
483-
}else{
483+
}
484+
else {
484485
if (self.completionBlock) {
485-
self.completionBlock(NO, [self permissionDeniedErrorForType:kSignUpPermissionsTypeLocalNotifications]);
486+
self.completionBlock(NO, [self permissionDeniedErrorForType:kAPCSignUpPermissionsTypeLocalNotifications]);
486487
self.completionBlock = nil;
487488
}
488489
}

APCAppCore/APCAppCore/UI/Model/APCTableViewItem.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ - (instancetype)init
116116
{
117117
self = [super init];
118118
if (self) {
119-
_permissionType = kSignUpPermissionsTypeNone;
119+
_permissionType = kAPCSignUpPermissionsTypeNone;
120120
_permissionGranted = NO;
121121
}
122122
return self;

APCAppCore/APCAppCore/UI/Onboarding/SignUp/APCPermissionPrimingViewController.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ - (void)viewDidLoad {
5555

5656
NSDictionary *initialOptions = ((APCAppDelegate *)[UIApplication sharedApplication].delegate).initializationOptions;
5757
NSDictionary *servicesDescrtiptions = initialOptions[kAppServicesDescriptionsKey];
58-
self.detailTextLabel.text = servicesDescrtiptions[@(kSignUpPermissionsTypeHealthKit)];
58+
self.detailTextLabel.text = servicesDescrtiptions[@(kAPCSignUpPermissionsTypeHealthKit)];
5959
}
6060

6161
- (void)setupAppearance

APCAppCore/APCAppCore/UI/Onboarding/SignUp/APCSignUpGeneralInfoViewController.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ - (void) viewDidLoad {
7474
self.permissionManager = [[APCPermissionsManager alloc] init];
7575

7676
__weak typeof(self) weakSelf = self;
77-
[self.permissionManager requestForPermissionForType:kSignUpPermissionsTypeHealthKit withCompletion:^(BOOL granted, NSError * __unused error) {
77+
[self.permissionManager requestForPermissionForType:kAPCSignUpPermissionsTypeHealthKit withCompletion:^(BOOL granted, NSError * __unused error) {
7878
if (granted) {
7979
dispatch_async(dispatch_get_main_queue(), ^{
8080
weakSelf.permissionGranted = YES;
@@ -735,7 +735,7 @@ - (IBAction)changeProfileImage:(id) __unused sender
735735
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
736736
UIAlertAction *cameraAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Take Photo", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction * __unused action) {
737737

738-
[self.permissionManager requestForPermissionForType:kSignUpPermissionsTypeCamera withCompletion:^(BOOL granted, NSError *error) {
738+
[self.permissionManager requestForPermissionForType:kAPCSignUpPermissionsTypeCamera withCompletion:^(BOOL granted, NSError *error) {
739739
if (granted) {
740740
dispatch_async(dispatch_get_main_queue(), ^{
741741
[weakSelf openCamera];
@@ -752,7 +752,7 @@ - (IBAction)changeProfileImage:(id) __unused sender
752752
}
753753

754754
UIAlertAction *libraryAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Choose from Library", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction * __unused action) {
755-
[self.permissionManager requestForPermissionForType:kSignUpPermissionsTypePhotoLibrary withCompletion:^(BOOL granted, NSError *error) {
755+
[self.permissionManager requestForPermissionForType:kAPCSignUpPermissionsTypePhotoLibrary withCompletion:^(BOOL granted, NSError *error) {
756756
if (granted) {
757757
dispatch_async(dispatch_get_main_queue(), ^{
758758
[weakSelf openPhotoLibrary];

APCAppCore/APCAppCore/UI/Onboarding/SignUp/APCSignUpMedicalInfoViewController.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,11 @@ - (void)viewDidLoad {
6262

6363
self.permissionManager = [[APCPermissionsManager alloc] init];
6464

65-
self.permissionGranted = [self.permissionManager isPermissionsGrantedForType:kSignUpPermissionsTypeHealthKit];
65+
self.permissionGranted = [self.permissionManager isPermissionsGrantedForType:kAPCSignUpPermissionsTypeHealthKit];
6666

6767
__weak typeof(self) weakSelf = self;
6868
if (!self.permissionGranted) {
69-
[self.permissionManager requestForPermissionForType:kSignUpPermissionsTypeHealthKit withCompletion:^(BOOL granted, NSError * __unused error) {
69+
[self.permissionManager requestForPermissionForType:kAPCSignUpPermissionsTypeHealthKit withCompletion:^(BOOL granted, NSError * __unused error) {
7070
if (granted) {
7171
dispatch_async(dispatch_get_main_queue(), ^{
7272
weakSelf.permissionGranted = YES;

0 commit comments

Comments
 (0)