Skip to content

Commit

Permalink
fix: updated to iOS 0.12.20
Browse files Browse the repository at this point in the history
  • Loading branch information
ethanneff committed Dec 15, 2016
1 parent 7c9f1c1 commit d1e87d3
Show file tree
Hide file tree
Showing 18 changed files with 375 additions and 207 deletions.
1 change: 1 addition & 0 deletions plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ SOFTWARE.

<header-file src="src/ios/dependencies/Branch-SDK/BNCCallbacks.h" />
<header-file src="src/ios/dependencies/Branch-SDK/BNCConfig.h" />
<source-file src="src/ios/dependencies/Branch-SDK/BNCConfig.m" />
<header-file src="src/ios/dependencies/Branch-SDK/BNCContentDiscoveryManager.h" />
<source-file src="src/ios/dependencies/Branch-SDK/BNCContentDiscoveryManager.m" />
<header-file src="src/ios/dependencies/Branch-SDK/BNCDeviceInfo.h" />
Expand Down
6 changes: 3 additions & 3 deletions src/ios/dependencies/Branch-SDK/BNCCallbacks.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@

@class BranchUniversalObject, BranchLinkProperties;

typedef void (^callbackWithParams) (NSDictionary * _Nonnull params, NSError * _Nullable error);
typedef void (^callbackWithUrl) (NSString * _Nonnull url, NSError * _Nullable error);
typedef void (^callbackWithParams) (NSDictionary * _Nullable params, NSError * _Nullable error);
typedef void (^callbackWithUrl) (NSString * _Nullable url, NSError * _Nullable error);
typedef void (^callbackWithStatus) (BOOL changed, NSError * _Nullable error);
typedef void (^callbackWithList) (NSArray * _Nullable list, NSError * _Nullable error);
typedef void (^callbackWithUrlAndSpotlightIdentifier) (NSString * _Nullable url, NSString * _Nullable spotlightIdentifier, NSError * _Nullable error);
typedef void (^callbackWithBranchUniversalObject) (BranchUniversalObject * _Nonnull universalObject, BranchLinkProperties * _Nonnull linkProperties, NSError * _Nullable error);
typedef void (^callbackWithBranchUniversalObject) (BranchUniversalObject * _Nullable universalObject, BranchLinkProperties * _Nullable linkProperties, NSError * _Nullable error);

#endif /* BNCCallbacks_h */
30 changes: 5 additions & 25 deletions src/ios/dependencies/Branch-SDK/BNCConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,9 @@
// Copyright (c) 2014 Branch Metrics. All rights reserved.
//

#ifndef Branch_SDK_Config_h
#define Branch_SDK_Config_h
#import <Foundation/Foundation.h>

#define SDK_VERSION @"0.12.19"

#define BNC_PROD_ENV
//#define BNC_STAGE_ENV
//#define BNC_DEV_ENV

#ifdef BNC_PROD_ENV
#define BNC_API_BASE_URL @"https://api.branch.io"
#endif

#ifdef BNC_STAGE_ENV
#define BNC_API_BASE_URL @"http://api.dev.branch.io"
#endif

#define BNC_LINK_URL @"https://bnc.lt"

#ifdef BNC_DEV_ENV
#define BNC_API_BASE_URL @"http://localhost:3001"
#endif

#define BNC_API_VERSION @"v1"

#endif
extern NSString * const SDK_VERSION;
extern NSString * const BNC_API_BASE_URL;
extern NSString * const BNC_LINK_URL;
extern NSString * const BNC_API_VERSION;
14 changes: 14 additions & 0 deletions src/ios/dependencies/Branch-SDK/BNCConfig.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//
// BNCConfig.c
// Branch-TestBed
//
// Created by edward on 12/12/16.
// Copyright © 2016 Branch Metrics. All rights reserved.
//

#include "BNCConfig.h"

NSString * const BNC_API_BASE_URL = @"https://api.branch.io";
NSString * const BNC_API_VERSION = @"v1";
NSString * const BNC_LINK_URL = @"https://bnc.lt";
NSString * const SDK_VERSION = @"0.12.20";
21 changes: 16 additions & 5 deletions src/ios/dependencies/Branch-SDK/BNCDeviceInfo.m
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ - (id)init {
self.isRealHardwareId = isRealHardwareId;
self.hardwareIdType = hardwareIdType;
}

self.vendorId = [BNCSystemObserver getVendorId];
self.brandName = [BNCSystemObserver getBrand];
self.modelName = [BNCSystemObserver getModel];
Expand Down Expand Up @@ -83,10 +83,21 @@ - (id)init {

}

self.browserUserAgent =
[[[UIWebView alloc]
initWithFrame:CGRectZero]
stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
void (^setUpBrowserUserAgent)() = ^() {
self.browserUserAgent = [[[UIWebView alloc]
initWithFrame:CGRectZero]
stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
};

if (NSThread.isMainThread) {

setUpBrowserUserAgent();

} else {

dispatch_sync(dispatch_get_main_queue(), setUpBrowserUserAgent);

}

return self;
}
Expand Down
89 changes: 52 additions & 37 deletions src/ios/dependencies/Branch-SDK/BNCPreferenceHelper.m
Original file line number Diff line number Diff line change
Expand Up @@ -374,17 +374,20 @@ - (void)setUniversalLinkUrl:(NSString *)universalLinkUrl {
}

- (NSString *)sessionParams {
if (_sessionParams) {
_sessionParams = [self readStringFromDefaults:BRANCH_PREFS_KEY_SESSION_PARAMS];
@synchronized (self) {
if (!_sessionParams) {
_sessionParams = [self readStringFromDefaults:BRANCH_PREFS_KEY_SESSION_PARAMS];
}
return _sessionParams;
}

return _sessionParams;
}

- (void)setSessionParams:(NSString *)sessionParams {
if (![_sessionParams isEqualToString:sessionParams]) {
_sessionParams = sessionParams;
[self writeObjectToDefaults:BRANCH_PREFS_KEY_SESSION_PARAMS value:sessionParams];
@synchronized (self) {
if (![_sessionParams isEqualToString:sessionParams]) {
_sessionParams = sessionParams;
[self writeObjectToDefaults:BRANCH_PREFS_KEY_SESSION_PARAMS value:sessionParams];
}
}
}

Expand Down Expand Up @@ -479,22 +482,28 @@ - (void)setRequestMetadataKey:(NSString *)key value:(NSObject *)value {
}

- (NSMutableDictionary *)instrumentationDictionary {
if (!_instrumentationDictionary) {
_instrumentationDictionary = [NSMutableDictionary dictionary];
@synchronized (self) {
if (!_instrumentationDictionary) {
_instrumentationDictionary = [NSMutableDictionary dictionary];
}
return _instrumentationDictionary;
}
return _instrumentationDictionary;
}

- (void)addInstrumentationDictionaryKey:(NSString *)key value:(NSString *)value {
if (key && value) {
[self.instrumentationDictionary setObject:value forKey:key];
@synchronized (self) {
if (key && value) {
[self.instrumentationDictionary setObject:value forKey:key];
}
}
}

- (void)clearInstrumentationDictionary {
NSArray *keys = [_instrumentationDictionary allKeys];
for (int i = 0 ; i < [keys count]; i++) {
[_instrumentationDictionary removeObjectForKey:keys[i]];
@synchronized (self) {
NSArray *keys = [_instrumentationDictionary allKeys];
for (int i = 0 ; i < [keys count]; i++) {
[_instrumentationDictionary removeObjectForKey:keys[i]];
}
}
}

Expand Down Expand Up @@ -606,42 +615,48 @@ - (NSDictionary *)getContentAnalyticsManifest {
return (NSDictionary *)[self readObjectFromDefaults:BRANCH_PREFS_KEY_ANALYTICS_MANIFEST];
}


#pragma mark - Writing To Persistence


- (void)writeIntegerToDefaults:(NSString *)key value:(NSInteger)value {
self.persistenceDict[key] = @(value);
[self persistPrefsToDisk];
[self writeObjectToDefaults:key value:@(value)];
}

- (void)writeBoolToDefaults:(NSString *)key value:(BOOL)value {
self.persistenceDict[key] = @(value);
[self persistPrefsToDisk];
[self writeObjectToDefaults:key value:@(value)];
}

- (void)writeObjectToDefaults:(NSString *)key value:(NSObject *)value {
if (value) {
self.persistenceDict[key] = value;
}
else {
[self.persistenceDict removeObjectForKey:key];
@synchronized (self) {
if (value) {
self.persistenceDict[key] = value;
}
else {
[self.persistenceDict removeObjectForKey:key];
}
[self persistPrefsToDisk];
}

[self persistPrefsToDisk];
}

- (void)persistPrefsToDisk {
@synchronized (self) {
NSDictionary *persistenceDict = [self.persistenceDict copy];
if (!self.persistenceDict) return;
NSData *data = nil;
@try {
data = [NSKeyedArchiver archivedDataWithRootObject:self.persistenceDict];
}
@catch (id exception) {
data = nil;
[self logWarning:
[NSString stringWithFormat:@"Exception creating preferences data: %@.",
exception]];
}
if (!data) {
[self logWarning:@"Can't create preferences data."];
return;
}
NSBlockOperation *newPersistOp = [NSBlockOperation blockOperationWithBlock:^ {
NSData *data = nil;
@try {
data = [NSKeyedArchiver archivedDataWithRootObject:persistenceDict];
} @catch (id n) {
}
if (!data) {
[self logWarning:@"Can't create preferences archive."];
return;
}
NSError *error = nil;
[data writeToURL:self.class.URLForPrefsFile
options:NSDataWritingAtomic error:&error];
Expand All @@ -651,7 +666,7 @@ - (void)persistPrefsToDisk {
@"Failed to persist preferences to disk: %@.", error]];
}
}];
[self.persistPrefsQueue addOperation:newPersistOp];
[self.persistPrefsQueue addOperation:newPersistOp];
}
}

Expand Down
1 change: 1 addition & 0 deletions src/ios/dependencies/Branch-SDK/BNCServerRequestQueue.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
- (void)clearQueue;

- (BOOL)containsInstallOrOpen;
- (BOOL)removeInstallOrOpen;
- (BOOL)containsClose;
- (BranchOpenRequest *)moveInstallOrOpenToFront:(NSInteger)networkCount;

Expand Down
15 changes: 15 additions & 0 deletions src/ios/dependencies/Branch-SDK/BNCServerRequestQueue.m
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,21 @@ - (BOOL)containsInstallOrOpen {
return NO;
}

- (BOOL)removeInstallOrOpen {
@synchronized (self.queue) {
for (int i = 0; i < self.queue.count; i++) {
BranchOpenRequest *req = [self.queue objectAtIndex:i];
// Install extends open, so only need to check open.
if ([req isKindOfClass:[BranchOpenRequest class]]) {
req.callback = nil;
[self remove:req];
return YES;
}
}
return NO;
}
}

- (BranchOpenRequest *)moveInstallOrOpenToFront:(NSInteger)networkCount {
BOOL requestAlreadyInProgress = networkCount > 0;

Expand Down
5 changes: 4 additions & 1 deletion src/ios/dependencies/Branch-SDK/BNCStrongMatchHelper.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,17 @@
// Copyright © 2015 Branch Metrics. All rights reserved.
//


#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>


@interface BNCStrongMatchHelper : NSObject

+ (BNCStrongMatchHelper *)strongMatchHelper;
- (void)createStrongMatchWithBranchKey:(NSString *)branchKey;
- (BOOL)shouldDelayInstallRequest;
+ (NSURL *)getUrlForCookieBasedMatchingWithBranchKey:(NSString *)branchKey redirectUrl:(NSString *)redirectUrl;
+ (NSURL *)getUrlForCookieBasedMatchingWithBranchKey:(NSString *)branchKey
redirectUrl:(NSString *)redirectUrl;

@end
Loading

0 comments on commit d1e87d3

Please sign in to comment.