From 5e5cb1a5525f7c3cba75650ba177304c0fa14d40 Mon Sep 17 00:00:00 2001 From: "Hedden, Kyle Matthew" Date: Tue, 7 Aug 2018 12:21:15 -0400 Subject: [PATCH] Adjust timing of session timer extension. PR resolution. --- MVMCore/MVMCore/LoadHandling/MVMCoreLoadObject.h | 5 +++-- MVMCore/MVMCore/LoadHandling/MVMCoreLoadObject.m | 2 +- .../LoadHandling/MVMCoreLoadRequestOperation.m | 11 ++++++----- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadObject.h b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadObject.h index dbaee70..014e4ba 100644 --- a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadObject.h +++ b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadObject.h @@ -48,8 +48,6 @@ @property (nonatomic) BOOL pageDataFromCache; @property (nonatomic) BOOL moduleDataFromCache; -@property (nonatomic, readonly) BOOL extendsAppSession; - - (nullable instancetype)initWithPageJSON:(nullable NSDictionary *)pageJSON modulesJSON:(nullable NSDictionary *)modulesJSON requestParameters:(nullable MVMCoreRequestParameters *)requestParameters dataForPage:(nullable NSDictionary *)dataForPage delegate:(nullable NSObject*)delegate; - (nullable instancetype)initWithRequestParameters:(nullable MVMCoreRequestParameters *)requestParameters dataForPage:(nullable NSDictionary *)dataForPage delegate:(nullable NSObject*)delegate; @@ -58,4 +56,7 @@ - (nullable instancetype)initWithPageJSON:(nullable NSDictionary *)pageJSON errorObject:(nullable MVMCoreErrorObject *)errorObject; +// Returns whether the load will extend the app session timer based on the response provided by the server. +- (BOOL)extendsAppSession; + @end diff --git a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadObject.m b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadObject.m index 01fd7cf..388f911 100644 --- a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadObject.m +++ b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadObject.m @@ -55,7 +55,7 @@ return self; } -- (BOOL) extendsAppSession { +- (BOOL)extendsAppSession { NSNumber *extendSessionFlag = [self.responseInfoMap objectForKey:@"appSessionExtended" ofType:[NSNumber class]]; return !extendSessionFlag || [extendSessionFlag boolValue]; // Default to YES if the key does not exist. } diff --git a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m index 020d724..f525969 100644 --- a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m +++ b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m @@ -164,6 +164,11 @@ return; } + // Update the session timer on a good response. + if (loadObject.extendsAppSession) { + [[MVMCoreSessionTimeHandler sharedSessionHandler] startSessionTimer]; + } + if (loadObject.pageDataFromCache || loadObject.pageType) { // Can continue loading with the page. @@ -283,12 +288,8 @@ if ([jsonObject isKindOfClass:[NSDictionary class]]) { - // Update the session timer on a good response. - if (loadObject.extendsAppSession) { - [[MVMCoreSessionTimeHandler sharedSessionHandler] startSessionTimer]; - } - completionHandler(jsonObject); + } else { // Error json not correct format.