diff options
author | Julian Rex <julian.rex@mapbox.com> | 2019-04-24 14:40:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-24 14:40:45 -0400 |
commit | 43553c37e98225d7951d0abb694b080075c1b4c4 (patch) | |
tree | f50aa8236a9116fff317421da3bf81e35074ebc5 /platform/darwin/src/MGLAccountManager.m | |
parent | 88a652542715c595105589e8356754e11245e699 (diff) | |
download | qtlocation-mapboxgl-43553c37e98225d7951d0abb694b080075c1b4c4.tar.gz |
[ios] Enable/Disable sku token handling (#14467)
Diffstat (limited to 'platform/darwin/src/MGLAccountManager.m')
-rw-r--r-- | platform/darwin/src/MGLAccountManager.m | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/platform/darwin/src/MGLAccountManager.m b/platform/darwin/src/MGLAccountManager.m index 0566605323..edcfbbcdf0 100644 --- a/platform/darwin/src/MGLAccountManager.m +++ b/platform/darwin/src/MGLAccountManager.m @@ -10,6 +10,8 @@ #import "MBXSKUToken.h" #endif +static BOOL _MGLAccountsSDKEnabled; + @interface MGLAccountManager () @property (atomic) NSString *accessToken; @@ -19,7 +21,6 @@ @property (atomic) NSString *skuToken; @property (atomic) NSDate *skuTokenExpiration; #endif - @end @implementation MGLAccountManager @@ -32,7 +33,7 @@ if (accessToken.length) { self.accessToken = accessToken; } - + NSString *apiBaseURL = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"MGLMapboxAPIBaseURL"]; // If apiBaseURL is not a valid URL, [NSURL URLWithString:] will be `nil`. @@ -41,7 +42,17 @@ } #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR - self.skuToken = [MBXSKUToken skuToken]; + // TODO: Use MGL_OBJC_DYNAMIC_CAST (that requires moving the macro, where it + // doesn't require a C++ header) + NSNumber *accountsSDKNumber = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"MGLMapboxAccountsSDKEnabled"]; + if ([accountsSDKNumber isKindOfClass:[NSNumber class]]) { + _MGLAccountsSDKEnabled = ((NSNumber*)accountsSDKNumber).boolValue; + } + + if (self.isAccountsSDKEnabled) { + self.skuToken = MBXSKUToken.mapsToken; + } + #endif } @@ -101,15 +112,31 @@ #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR -+ (void)setSkuToken:(NSString *)skuToken { - NSTimeInterval oneHour = 60 * 60; // TODO: make this const - MGLAccountManager.sharedManager.skuTokenExpiration = [NSDate dateWithTimeIntervalSinceNow:oneHour]; ++ (BOOL)isAccountsSDKEnabled { + return _MGLAccountsSDKEnabled; +} - MGLAccountManager.sharedManager.skuToken = skuToken; ++ (void)setSkuToken:(NSString *)skuToken { + if (MGLAccountManager.isAccountsSDKEnabled) { + NSTimeInterval oneHour = 60 * 60; // TODO: make this const + MGLAccountManager.sharedManager.skuTokenExpiration = [NSDate dateWithTimeIntervalSinceNow:oneHour]; + MGLAccountManager.sharedManager.skuToken = skuToken; + } + else { + MGLAccountManager.sharedManager.skuTokenExpiration = [NSDate distantFuture]; + MGLAccountManager.sharedManager.skuToken = nil; + } } + (NSString *)skuToken { - return [MGLAccountManager.sharedManager isSKUTokenExpired] ? [MBXSKUToken skuToken] : MGLAccountManager.sharedManager.skuToken; + if (MGLAccountManager.isAccountsSDKEnabled) { + return [MGLAccountManager.sharedManager isSKUTokenExpired] ? + MBXSKUToken.mapsToken : + MGLAccountManager.sharedManager.skuToken; + } + else { + return nil; + } } - (BOOL)isSKUTokenExpired { |