diff options
author | Justin R. Miller <incanus@users.noreply.github.com> | 2015-05-12 18:36:59 -0700 |
---|---|---|
committer | Justin R. Miller <incanus@users.noreply.github.com> | 2015-05-12 18:36:59 -0700 |
commit | a47f749fe4d8e03d5e7984c597f018eb76933772 (patch) | |
tree | 734bde1f926f0366a2beffb7739415160316d5c4 /platform/ios/MGLAccountManager.m | |
parent | 606e2c738321682730833d2fe329f981b6e22b6e (diff) | |
parent | 190e91120927ea2e48a72c8337ba923dabe31f85 (diff) | |
download | qtlocation-mapboxgl-a47f749fe4d8e03d5e7984c597f018eb76933772.tar.gz |
Merge pull request #1491 from mapbox/1ec5-metrics-opt-way-out
refactor metrics system to immediately jettison data & tracking when users opt out
Diffstat (limited to 'platform/ios/MGLAccountManager.m')
-rw-r--r-- | platform/ios/MGLAccountManager.m | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/platform/ios/MGLAccountManager.m b/platform/ios/MGLAccountManager.m index 09bfb3db23..32540e4e46 100644 --- a/platform/ios/MGLAccountManager.m +++ b/platform/ios/MGLAccountManager.m @@ -1,12 +1,12 @@ #import <Foundation/Foundation.h> #import "MGLAccountManager.h" +#import "MGLMapboxEvents_Private.h" #import "NSProcessInfo+MGLAdditions.h" -#import "MGLMapboxEvents.h" @interface MGLAccountManager() -@property (atomic) BOOL showsOptOutInApp; +@property (atomic) BOOL mapboxMetricsEnabledSettingShownInApp; @property (atomic) NSString *accessToken; @end @@ -14,49 +14,49 @@ @implementation MGLAccountManager -static MGLAccountManager *_sharedManager; - // Can be called from any thread. // -+ (instancetype) sharedInstance { ++ (instancetype) sharedManager { + if (NSProcessInfo.processInfo.mgl_isInterfaceBuilderDesignablesAgent) { + return; + } static dispatch_once_t onceToken; - dispatch_once(&onceToken, ^{ - if ( ! NSProcessInfo.processInfo.mgl_isInterfaceBuilderDesignablesAgent) { - void (^setupBlock)() = ^{ - _sharedManager = [[self alloc] init]; - _sharedManager.showsOptOutInApp = NO; - }; - if ( ! [[NSThread currentThread] isMainThread]) { - dispatch_sync(dispatch_get_main_queue(), ^{ - setupBlock(); - }); - } - else { - setupBlock(); - } - } - }); + static MGLAccountManager *_sharedManager; + void (^setupBlock)() = ^{ + dispatch_once(&onceToken, ^{ + _sharedManager = [[self alloc] init]; + _sharedManager.mapboxMetricsEnabledSettingShownInApp = NO; + }); + }; + if ( ! [[NSThread currentThread] isMainThread]) { + dispatch_sync(dispatch_get_main_queue(), ^{ + setupBlock(); + }); + } + else { + setupBlock(); + } return _sharedManager; } -+ (void) setMapboxMetricsEnabledSettingShownInApp:(BOOL)showsOptOut { - [MGLAccountManager sharedInstance].showsOptOutInApp = showsOptOut; ++ (void) setMapboxMetricsEnabledSettingShownInApp:(BOOL)shown { + [MGLAccountManager sharedManager].mapboxMetricsEnabledSettingShownInApp = shown; } + (BOOL) mapboxMetricsEnabledSettingShownInApp { - return [MGLAccountManager sharedInstance].showsOptOutInApp; + return [MGLAccountManager sharedManager].mapboxMetricsEnabledSettingShownInApp; } + (void) setAccessToken:(NSString *) accessToken { - [[MGLAccountManager sharedInstance] setAccessToken:accessToken]; + [[MGLAccountManager sharedManager] setAccessToken:accessToken]; // Update MGLMapboxEvents // NOTE: This is (likely) the initial setup of MGLMapboxEvents - [MGLMapboxEvents setToken:accessToken]; + [MGLMapboxEvents sharedManager]; } + (NSString *) accessToken { - return [MGLAccountManager sharedInstance].accessToken; + return [MGLAccountManager sharedManager].accessToken; } |