From 5f87227e7675d0268e1a5254c120e8f38befd0fb Mon Sep 17 00:00:00 2001 From: Andreas Linde Date: Thu, 10 Oct 2013 03:07:29 +0200 Subject: [PATCH] Properly check for identification before calling BITUpdateManager startManager only if the user is identified or JMC is setup Also fixes a problem when Authenticator was excluded but UpdateManager was included. --- Classes/BITHockeyManager.m | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/Classes/BITHockeyManager.m b/Classes/BITHockeyManager.m index 22283d2166..3a94d55be4 100644 --- a/Classes/BITHockeyManager.m +++ b/Classes/BITHockeyManager.m @@ -240,15 +240,23 @@ #endif /* HOCKEYSDK_FEATURE_AUTHENTICATOR */ #if HOCKEYSDK_FEATURE_UPDATES - // Setup UpdateManager - if (![self isUpdateManagerDisabled] + BOOL jmcIsPresent = NO; + BOOL isIdentified = NO; + #if HOCKEYSDK_FEATURE_JIRA_MOBILE_CONNECT - || [[self class] isJMCPresent] + jmcIsPresent = [[self class] isJMCPresent] #endif /* HOCKEYSDK_FEATURE_JIRA_MOBILE_CONNECT */ - ) { - if ([self.authenticator isIdentified]) { - [self invokeStartUpdateManager]; - } + +#if HOCKEYSDK_FEATURE_AUTHENTICATOR + if (![self isAppStoreEnvironment]) + isIdentified = [self.authenticator isIdentified]; +#endif /* HOCKEYSDK_FEATURE_AUTHENTICATOR */ + + // Setup UpdateManager + if ( + (![self isUpdateManagerDisabled] && isIdentified) || + jmcIsPresent) { + [self invokeStartUpdateManager]; } #endif /* HOCKEYSDK_FEATURE_UPDATES */ } @@ -307,12 +315,8 @@ [object valueForKey:@"isIdentified"] ) { if (![self isAppStoreEnvironment]) { BOOL identified = [(NSNumber *)[object valueForKey:@"isIdentified"] boolValue]; - if (identified) { -#if HOCKEYSDK_FEATURE_UPDATES - if (![self isUpdateManagerDisabled]) { - [self invokeStartUpdateManager]; - } -#endif + if (identified && ![self isUpdateManagerDisabled]) { + [self invokeStartUpdateManager]; } } #if HOCKEYSDK_FEATURE_JIRA_MOBILE_CONNECT