Skip to content

Commit bf2af07

Browse files
committed
Remove the cache key mapping for old fullpath style cache keys
1 parent 3d2b0ef commit bf2af07

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

Storage/FirebaseStorageUI/UIImageView+FirebaseStorage.m

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
#import "UIImageView+FirebaseStorage.h"
1818
#import "SDWebImageFirebaseLoader.h"
1919

20-
static SDWebImageManager *SharedFirebaseWebImageManager(void) {
20+
static SDWebImageManager *DefaultFirebaseWebImageManager(void) {
2121
static dispatch_once_t onceToken;
2222
static SDWebImageManager *manager;
2323
dispatch_once(&onceToken, ^{
24-
manager = [[SDWebImageManager alloc] initWithCache:SDImageCache.sharedImageCache loader:SDWebImageFirebaseLoader.sharedLoader];
24+
manager = [[SDWebImageManager alloc] initWithCache:SDWebImageManager.defaultImageCache loader:SDWebImageFirebaseLoader.sharedLoader];
2525
});
2626
return manager;
2727
}
@@ -121,14 +121,12 @@ - (void)sd_setImageWithStorageReference:(FIRStorageReference *)storageRef
121121
} else {
122122
mutableContext = [NSMutableDictionary dictionary];
123123
}
124-
mutableContext[SDWebImageContextCustomManager] = SharedFirebaseWebImageManager();
125-
mutableContext[SDWebImageContextFirebaseMaxImageSize] = @(size);
126-
127-
// TODO: Current version use `fullpath` as cache key, but not the URL. Do we need to keep compabitle ?
128-
SDWebImageCacheKeyFilter *cacheKeyFilter = [SDWebImageCacheKeyFilter cacheKeyFilterWithBlock:^NSString * _Nullable(NSURL * _Nonnull url) {
129-
return url.sd_storageReference.fullPath;
130-
}];
131-
mutableContext[SDWebImageContextCacheKeyFilter] = cacheKeyFilter;
124+
if (!mutableContext[SDWebImageContextCustomManager]) {
125+
mutableContext[SDWebImageContextCustomManager] = DefaultFirebaseWebImageManager();
126+
}
127+
if (!mutableContext[SDWebImageContextFirebaseMaxImageSize]) {
128+
mutableContext[SDWebImageContextFirebaseMaxImageSize] = @(size);
129+
}
132130

133131
[self sd_setImageWithURL:url placeholderImage:placeholder options:options context:[mutableContext copy] progress:^(NSInteger receivedSize, NSInteger expectedSize, NSURL * _Nullable targetURL) {
134132
if (progressBlock) {

Storage/FirebaseStorageUITests/FUIImageViewCategoryTests.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,13 @@ - (void)testItSetsAPlaceholder {
9797

9898
- (void)testItCancelsTheCurrentDownloadWhenSettingAnImage {
9999
OCMStub([self.ref dataWithMaxSize:512 completion:[OCMArg any]])
100-
.andReturn(OCMClassMock([FIRStorageDownloadTask class]));
100+
.andReturn(OCMClassMock(NSClassFromString(@"FIRStorageDownloadTask"))); // Must using `NSClassFromString` instead of `FIRStorageDownloadTask.class` for OCMock, or the isKindOfClass: failed.
101101
[self.imageView sd_setImageWithStorageReference:self.ref
102102
maxImageSize:512
103103
placeholderImage:nil
104104
options:SDWebImageFromLoaderOnly // Disable cache
105105
completion:nil];
106-
FIRStorageDownloadTask *download = self.imageView.sd_currentDownloadTask; // TODO: using OCMock, the `isKindOfClass:` return NO and break the real logic. What about using the actual request ?
106+
FIRStorageDownloadTask *download = self.imageView.sd_currentDownloadTask;
107107
self.ref = OCMClassMock([FIRStorageReference class]);
108108
[self.imageView sd_setImageWithStorageReference:self.ref
109109
maxImageSize:512

0 commit comments

Comments
 (0)