Merge pull request #5 in BPHVB/mvm_core from feature/image_cache_update to develop
* commit '09463532bf44c9f85167922d32f271ac58608c5a': mfcache image block return bool to indicate if the image is fall back image
This commit is contained in:
commit
4582a45bfe
@ -10,6 +10,10 @@
|
|||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
//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.
|
||||||
|
typedef void(^MVMCoreGetImageBlock)(UIImage * _Nullable, NSData * _Nullable, BOOL);
|
||||||
|
|
||||||
@interface MVMCoreCache : NSObject
|
@interface MVMCoreCache : NSObject
|
||||||
|
|
||||||
// The static string cache. Stored on the device.
|
// The static string cache. Stored on the device.
|
||||||
@ -114,12 +118,12 @@
|
|||||||
// Most cases only need to provide the width. If both are provided and the aspect ratio is different from the images, it will center the image.
|
// Most cases only need to provide the width. If both are provided and the aspect ratio is different from the images, it will center the image.
|
||||||
// In the future, may need to use align for the shop flow.
|
// In the future, may need to use align for the shop flow.
|
||||||
// localFallbackImageName: should be the name of a local file to use in case of failure to download.
|
// localFallbackImageName: should be the name of a local file to use in case of failure to download.
|
||||||
- (void)getImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull void (^)(UIImage * _Nullable))completionHandler;
|
- (void)getImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull MVMCoreGetImageBlock)completionHandler;
|
||||||
- (void)getImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 format:(nullable NSString *)format localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull void (^)(UIImage * _Nullable))completionHandler;
|
- (void)getImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 format:(nullable NSString *)format localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull MVMCoreGetImageBlock)completionHandler;
|
||||||
- (void)getGif:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 format:(nullable NSString *)format localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull void (^)(NSData * _Nullable, UIImage * _Nullable))completionHandler;
|
- (void)getGif:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 format:(nullable NSString *)format localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull MVMCoreGetImageBlock)completionHandler;
|
||||||
|
|
||||||
// Gets a cropped version of the requested image. Similar to the method above, but you can specify the final rect
|
// Gets a cropped version of the requested image. Similar to the method above, but you can specify the final rect
|
||||||
- (void)getCroppedImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 finalRect:(CGRect)finalRect flipImage:(BOOL)flipImage localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull void (^)(UIImage * _Nullable))completionHandler;
|
- (void)getCroppedImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 finalRect:(CGRect)finalRect flipImage:(BOOL)flipImage localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull MVMCoreGetImageBlock)completionHandler;
|
||||||
|
|
||||||
// Gets an image from the cache.
|
// Gets an image from the cache.
|
||||||
- (nullable UIImage *)getCachedImageWithName:(nonnull NSString *)imageName;
|
- (nullable UIImage *)getCachedImageWithName:(nonnull NSString *)imageName;
|
||||||
|
|||||||
@ -445,18 +445,18 @@ static NSString * const STATIC_CACHE_COMPONENT = @"StaticCache.txt";
|
|||||||
return [components URL];
|
return [components URL];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)getImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull void (^)(UIImage * _Nullable))completionHandler {
|
- (void)getImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull MVMCoreGetImageBlock)completionHandler {
|
||||||
[self getImage:pathOrName useWidth:useWidth widthForS7:widthForS7 useHeight:useHeight heightForS7:heightForS7 format:nil localFallbackImageName:fallbackImageName completionHandler:completionHandler];
|
[self getImage:pathOrName useWidth:useWidth widthForS7:widthForS7 useHeight:useHeight heightForS7:heightForS7 format:nil localFallbackImageName:fallbackImageName completionHandler:completionHandler];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)getImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 format:(nullable NSString *)format localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull void (^)(UIImage * _Nullable))completionHandler {
|
- (void)getImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 format:(nullable NSString *)format localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull MVMCoreGetImageBlock)completionHandler {
|
||||||
[self getImage:pathOrName useWidth:useWidth widthForS7:widthForS7 useHeight:useHeight heightForS7:heightForS7 format:format finalRect:CGRectNull flipImage:NO localFallbackImageName:fallbackImageName completionHandler:completionHandler];
|
[self getImage:pathOrName useWidth:useWidth widthForS7:widthForS7 useHeight:useHeight heightForS7:heightForS7 format:format finalRect:CGRectNull flipImage:NO localFallbackImageName:fallbackImageName completionHandler:completionHandler];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)getGif:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 format:(nullable NSString *)format localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull void (^)(NSData * _Nullable, UIImage * _Nullable))completionHandler {
|
- (void)getGif:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 format:(nullable NSString *)format localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull MVMCoreGetImageBlock)completionHandler {
|
||||||
|
|
||||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
||||||
|
BOOL isFallBackImage = NO;
|
||||||
NSData *imageData = nil;
|
NSData *imageData = nil;
|
||||||
if (pathOrName.length > 0) {
|
if (pathOrName.length > 0) {
|
||||||
|
|
||||||
@ -493,7 +493,7 @@ static NSString * const STATIC_CACHE_COMPONENT = @"StaticCache.txt";
|
|||||||
// Set to the fallback image.
|
// Set to the fallback image.
|
||||||
UIImage *fallbackImage = nil;
|
UIImage *fallbackImage = nil;
|
||||||
if (!imageData && fallbackImageName) {
|
if (!imageData && fallbackImageName) {
|
||||||
|
isFallBackImage = YES;
|
||||||
// Grab fallback from cache
|
// Grab fallback from cache
|
||||||
fallbackImage = [self getCachedImageWithName:fallbackImageName];
|
fallbackImage = [self getCachedImageWithName:fallbackImageName];
|
||||||
if (!fallbackImage) {
|
if (!fallbackImage) {
|
||||||
@ -507,18 +507,18 @@ static NSString * const STATIC_CACHE_COMPONENT = @"StaticCache.txt";
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
completionHandler(imageData,fallbackImage);
|
completionHandler(fallbackImage, imageData, isFallBackImage);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)getCroppedImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 finalRect:(CGRect)finalRect flipImage:(BOOL)flip localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull void (^)(UIImage * _Nullable))completionHandler {
|
- (void)getCroppedImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 finalRect:(CGRect)finalRect flipImage:(BOOL)flip localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull MVMCoreGetImageBlock)completionHandler {
|
||||||
|
|
||||||
[self getImage:pathOrName useWidth:useWidth widthForS7:widthForS7 useHeight:useHeight heightForS7:heightForS7 format:nil finalRect:finalRect flipImage:flip localFallbackImageName:fallbackImageName completionHandler:completionHandler];
|
[self getImage:pathOrName useWidth:useWidth widthForS7:widthForS7 useHeight:useHeight heightForS7:heightForS7 format:nil finalRect:finalRect flipImage:flip localFallbackImageName:fallbackImageName completionHandler:completionHandler];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)getImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 format:(nullable NSString *)format finalRect:(CGRect)finalRect flipImage:(BOOL)flip localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull void (^)(UIImage * _Nullable))completionHandler {
|
- (void)getImage:(nonnull NSString *)pathOrName useWidth:(BOOL)useWidth widthForS7:(NSInteger)widthForS7 useHeight:(BOOL)useHeight heightForS7:(NSInteger)heightForS7 format:(nullable NSString *)format finalRect:(CGRect)finalRect flipImage:(BOOL)flip localFallbackImageName:(nullable NSString *)fallbackImageName completionHandler:(nonnull MVMCoreGetImageBlock)completionHandler {
|
||||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
||||||
|
BOOL isFallBackImage = NO;
|
||||||
UIImage *img = nil;
|
UIImage *img = nil;
|
||||||
if (pathOrName.length > 0) {
|
if (pathOrName.length > 0) {
|
||||||
|
|
||||||
@ -557,7 +557,7 @@ static NSString * const STATIC_CACHE_COMPONENT = @"StaticCache.txt";
|
|||||||
|
|
||||||
// Set to the fallback image.
|
// Set to the fallback image.
|
||||||
if (!img && fallbackImageName) {
|
if (!img && fallbackImageName) {
|
||||||
|
isFallBackImage = YES;
|
||||||
// Grab fallback from cache
|
// Grab fallback from cache
|
||||||
img = [self getCachedImageWithName:fallbackImageName];
|
img = [self getCachedImageWithName:fallbackImageName];
|
||||||
if (!img) {
|
if (!img) {
|
||||||
@ -570,7 +570,7 @@ static NSString * const STATIC_CACHE_COMPONENT = @"StaticCache.txt";
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
completionHandler(img);
|
completionHandler(img, nil, isFallBackImage);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user