diff options
Diffstat (limited to 'platform/darwin')
-rw-r--r-- | platform/darwin/src/MGLAccountManager.m | 43 | ||||
-rw-r--r-- | platform/darwin/src/MGLAccountManager_Private.h | 3 | ||||
-rw-r--r-- | platform/darwin/src/http_file_source.mm | 15 |
3 files changed, 13 insertions, 48 deletions
diff --git a/platform/darwin/src/MGLAccountManager.m b/platform/darwin/src/MGLAccountManager.m index edcfbbcdf0..0566605323 100644 --- a/platform/darwin/src/MGLAccountManager.m +++ b/platform/darwin/src/MGLAccountManager.m @@ -10,8 +10,6 @@ #import "MBXSKUToken.h" #endif -static BOOL _MGLAccountsSDKEnabled; - @interface MGLAccountManager () @property (atomic) NSString *accessToken; @@ -21,6 +19,7 @@ static BOOL _MGLAccountsSDKEnabled; @property (atomic) NSString *skuToken; @property (atomic) NSDate *skuTokenExpiration; #endif + @end @implementation MGLAccountManager @@ -33,7 +32,7 @@ static BOOL _MGLAccountsSDKEnabled; if (accessToken.length) { self.accessToken = accessToken; } - + NSString *apiBaseURL = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"MGLMapboxAPIBaseURL"]; // If apiBaseURL is not a valid URL, [NSURL URLWithString:] will be `nil`. @@ -42,17 +41,7 @@ static BOOL _MGLAccountsSDKEnabled; } #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR - // 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; - } - + self.skuToken = [MBXSKUToken skuToken]; #endif } @@ -112,31 +101,15 @@ static BOOL _MGLAccountsSDKEnabled; #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR -+ (BOOL)isAccountsSDKEnabled { - return _MGLAccountsSDKEnabled; -} - + (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; - } + NSTimeInterval oneHour = 60 * 60; // TODO: make this const + MGLAccountManager.sharedManager.skuTokenExpiration = [NSDate dateWithTimeIntervalSinceNow:oneHour]; + + MGLAccountManager.sharedManager.skuToken = skuToken; } + (NSString *)skuToken { - if (MGLAccountManager.isAccountsSDKEnabled) { - return [MGLAccountManager.sharedManager isSKUTokenExpired] ? - MBXSKUToken.mapsToken : - MGLAccountManager.sharedManager.skuToken; - } - else { - return nil; - } + return [MGLAccountManager.sharedManager isSKUTokenExpired] ? [MBXSKUToken skuToken] : MGLAccountManager.sharedManager.skuToken; } - (BOOL)isSKUTokenExpired { diff --git a/platform/darwin/src/MGLAccountManager_Private.h b/platform/darwin/src/MGLAccountManager_Private.h index 366e3097f3..3fd45f1ae8 100644 --- a/platform/darwin/src/MGLAccountManager_Private.h +++ b/platform/darwin/src/MGLAccountManager_Private.h @@ -15,8 +15,7 @@ NS_ASSUME_NONNULL_BEGIN #if TARGET_OS_IPHONE || TARGET_OS_SIMULATOR /// The current global SKU. -@property (class, atomic, readonly, nullable) NSString *skuToken; -@property (class, nonatomic, readonly) BOOL isAccountsSDKEnabled; +@property (class, atomic, readonly) NSString *skuToken; #endif @end diff --git a/platform/darwin/src/http_file_source.mm b/platform/darwin/src/http_file_source.mm index c4b18ffd3c..29f8f7db68 100644 --- a/platform/darwin/src/http_file_source.mm +++ b/platform/darwin/src/http_file_source.mm @@ -208,17 +208,10 @@ std::unique_ptr<AsyncRequest> HTTPFileSource::request(const Resource& resource, if (impl->accountType == 0 && ([url.host isEqualToString:@"mapbox.com"] || [url.host hasSuffix:@".mapbox.com"])) { NSURLComponents *components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO]; - - NSMutableArray *newQueryItems = [NSMutableArray arrayWithArray:@[ - [NSURLQueryItem queryItemWithName:@"events" value:@"true"] - ]]; - - // Only add the token if we have enabled the accounts SDK - if (MGLAccountManager.isAccountsSDKEnabled) - { - NSCAssert(MGLAccountManager.skuToken, @"skuToken should be non-nil if the accounts SDK is enabled"); - [newQueryItems addObject:[NSURLQueryItem queryItemWithName:@"sku" value:MGLAccountManager.skuToken]]; - } + NSArray *newQueryItems = @[ + [NSURLQueryItem queryItemWithName:@"events" value:@"true"], + [NSURLQueryItem queryItemWithName:@"sku" value:MGLAccountManager.skuToken] + ]; components.queryItems = components.queryItems ? [components.queryItems arrayByAddingObjectsFromArray:newQueryItems] : newQueryItems; |