Converted shouldSaveAtAppLevelWithInfoDictionary to swift from objective-c
This commit is contained in:
parent
37a9cea3f4
commit
b64602939d
@ -134,3 +134,19 @@ extension PersistentCacheManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@objc public extension MVMCoreCache {
|
||||||
|
|
||||||
|
@objc func shouldSaveAtAppLevel(infoDictionary:[String: AnyHashable]) -> Bool {
|
||||||
|
|
||||||
|
guard let cachePolicy = infoDictionary[KeyCachePolicy] as? Dictionary<String, Any>,
|
||||||
|
let appLevelKey = cachePolicy[KeyAppVelelCachePolicy] as? Bool,
|
||||||
|
appLevelKey == true,
|
||||||
|
self.shouldCachePageJSON(infoDictionary, pageType: PageTypeOfflineFeedback) == true,
|
||||||
|
self.isJSONExpired(infoDictionary) == false else {return false}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -14,6 +14,9 @@
|
|||||||
|
|
||||||
extern NSString * _Nonnull const KeyCachePolicy;
|
extern NSString * _Nonnull const KeyCachePolicy;
|
||||||
extern NSString * _Nonnull const KeyCacheExpiry;
|
extern NSString * _Nonnull const KeyCacheExpiry;
|
||||||
|
extern NSString * _Nonnull const KeyAppVelelCachePolicy;
|
||||||
|
extern NSString * _Nonnull const PageTypeOfflineFeedback;
|
||||||
|
|
||||||
|
|
||||||
//block returned when getting image
|
//block returned when getting image
|
||||||
//parameters are UIImage object for the image, NSData for gif images, UIImage object for the image, A BOOL to indicate if it is a fall back image.
|
//parameters are UIImage object for the image, NSData for gif images, UIImage object for the image, A BOOL to indicate if it is a fall back image.
|
||||||
|
|||||||
@ -19,6 +19,9 @@
|
|||||||
|
|
||||||
NSString * _Nonnull const KeyCachePolicy = @"cachePolicy";
|
NSString * _Nonnull const KeyCachePolicy = @"cachePolicy";
|
||||||
NSString * _Nonnull const KeyCacheExpiry = @"expiry";
|
NSString * _Nonnull const KeyCacheExpiry = @"expiry";
|
||||||
|
NSString * _Nonnull const KeyAppVelelCachePolicy = @"applicationLevelCache";
|
||||||
|
NSString * _Nonnull const PageTypeOfflineFeedback = @"offlineFeedback";
|
||||||
|
|
||||||
|
|
||||||
@interface MVMCoreCache ()
|
@interface MVMCoreCache ()
|
||||||
|
|
||||||
@ -138,15 +141,6 @@ static NSString * const STATIC_CACHE_COMPONENT = @"StaticCache.txt";
|
|||||||
return [self shouldPersistentlyCacheJSON:jsonDictionary];
|
return [self shouldPersistentlyCacheJSON:jsonDictionary];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)shouldSaveAtAppLevel:(nonnull NSDictionary *)jsonDictionary{
|
|
||||||
|
|
||||||
NSDictionary *cachePolicy = [jsonDictionary dict:KeyCachePolicy];
|
|
||||||
if (![cachePolicy boolForKey:@"applicationLevelCache"] || ![self shouldPersistentlyCacheJSON:jsonDictionary]) {
|
|
||||||
return NO;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (nullable NSURL *)getPathForPersistentCachePage:(nonnull NSString *)pageType isAppLevel:(BOOL)isAppLevel{
|
- (nullable NSURL *)getPathForPersistentCachePage:(nonnull NSString *)pageType isAppLevel:(BOOL)isAppLevel{
|
||||||
|
|
||||||
if (isAppLevel) {
|
if (isAppLevel) {
|
||||||
@ -298,7 +292,7 @@ static NSString * const STATIC_CACHE_COMPONENT = @"StaticCache.txt";
|
|||||||
- (void)addPageToPersistentCache:(nonnull NSDictionary *)jsonDictionary pageType:(nonnull NSString *)pageType expirationDate:(nonnull NSDate *)expirationDate{
|
- (void)addPageToPersistentCache:(nonnull NSDictionary *)jsonDictionary pageType:(nonnull NSString *)pageType expirationDate:(nonnull NSDate *)expirationDate{
|
||||||
|
|
||||||
NSError *error = nil;
|
NSError *error = nil;
|
||||||
[[PersistentCacheManager shared] saveWithData:jsonDictionary forKey:pageType path:[self getPathForPersistentCachePage:pageType isAppLevel:[self shouldSaveAtAppLevel:jsonDictionary]] expirationDate:expirationDate error:&error];
|
[[PersistentCacheManager shared] saveWithData:jsonDictionary forKey:pageType path:[self getPathForPersistentCachePage:pageType isAppLevel:[self shouldSaveAtAppLevelWithInfoDictionary:jsonDictionary]] expirationDate:expirationDate error:&error];
|
||||||
if (error) {
|
if (error) {
|
||||||
[[MVMCoreLoggingHandler sharedLoggingHandler] addErrorToLog:[MVMCoreErrorObject createErrorObjectForNSError:error location:[NSString stringWithFormat:@"%s_%@",__PRETTY_FUNCTION__,pageType]]];
|
[[MVMCoreLoggingHandler sharedLoggingHandler] addErrorToLog:[MVMCoreErrorObject createErrorObjectForNSError:error location:[NSString stringWithFormat:@"%s_%@",__PRETTY_FUNCTION__,pageType]]];
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user