summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Switzer <dswitzer@xevo.com>2017-05-01 11:30:31 -0700
committerDavid Switzer <dswitzer@xevo.com>2017-05-01 11:30:31 -0700
commit266ea5353b71576152c0cc357a24c733c7d99052 (patch)
treea59c8a7b903182ce8225c8760580b244ace0a312
parent0c351672c542222956635b0f08988b6965276d9f (diff)
downloadsdl_ios-266ea5353b71576152c0cc357a24c733c7d99052.tar.gz
Incorporate PR review feedback.
-rw-r--r--SmartDeviceLink/SDLIAPTransport.m24
1 files changed, 19 insertions, 5 deletions
diff --git a/SmartDeviceLink/SDLIAPTransport.m b/SmartDeviceLink/SDLIAPTransport.m
index 2ba2d93e8..b4b73ac42 100644
--- a/SmartDeviceLink/SDLIAPTransport.m
+++ b/SmartDeviceLink/SDLIAPTransport.m
@@ -20,7 +20,7 @@
NSString *const legacyProtocolString = @"com.ford.sync.prot0";
NSString *const controlProtocolString = @"com.smartdevicelink.prot0";
NSString *const indexedProtocolStringPrefix = @"com.smartdevicelink.prot";
-NSString *const backgroundTaskName = @"com.sdl.transport.iap.connectloop";
+NSString *const backgroundTaskName = @"com.sdl.transport.iap.backgroundTask";
int const createSessionRetries = 1;
int const protocolIndexTimeoutSeconds = 20;
@@ -33,7 +33,7 @@ int const streamOpenTimeoutSeconds = 2;
}
@property (assign) int retryCounter;
-@property (assign) BOOL sessionSetupInProgress;
+@property (nonatomic, assign) BOOL sessionSetupInProgress;
@property (strong) SDLTimer *protocolIndexTimer;
@property (nonatomic, assign) UIBackgroundTaskIdentifier backgroundTaskId;
@@ -42,6 +42,8 @@ int const streamOpenTimeoutSeconds = 2;
@implementation SDLIAPTransport
+@synthesize sessionSetupInProgress = _sessionSetupInProgress;
+
- (instancetype)init {
if (self = [super init]) {
_alreadyDestructed = NO;
@@ -106,6 +108,20 @@ int const streamOpenTimeoutSeconds = 2;
self.backgroundTaskId = UIBackgroundTaskInvalid;
}
+#pragma mark session setup getter/setter
+
+- (void)setSessionSetupInProgress:(BOOL)inProgress{
+ _sessionSetupInProgress = inProgress;
+ if (!inProgress){
+ // End the background task here to catch all cases
+ [self sdl_backgroundTaskEnd];
+ }
+}
+
+- (BOOL)sessionSetupInProgress{
+ return _sessionSetupInProgress;
+}
+
#pragma mark - EAAccessory Notifications
- (void)sdl_accessoryConnected:(NSNotification *)notification {
@@ -123,7 +139,6 @@ int const streamOpenTimeoutSeconds = 2;
EAAccessory *accessory = [notification.userInfo objectForKey:EAAccessoryKey];
if (accessory.connectionID == self.session.accessory.connectionID) {
self.sessionSetupInProgress = NO;
- [self sdl_backgroundTaskEnd];
[self disconnect];
[self.delegate onTransportDisconnected];
}
@@ -270,7 +285,6 @@ int const streamOpenTimeoutSeconds = 2;
// Data Session Opened
if (![controlProtocolString isEqualToString:session.protocol]) {
self.sessionSetupInProgress = NO;
- [self sdl_backgroundTaskEnd];
[SDLDebugTool logInfo:@"Data Session Established"];
[self.delegate onTransportConnected];
}
@@ -486,7 +500,7 @@ int const streamOpenTimeoutSeconds = 2;
self.controlSession = nil;
self.session = nil;
self.delegate = nil;
- [self sdl_backgroundTaskEnd];
+ self.sessionSetupInProgress = NO;
}
}