|
18 | 18 | @interface RCTBundleAssetImageLoader () <RCTTurboModule> |
19 | 19 | @end |
20 | 20 |
|
| 21 | +static void RCTCompleteLocalAssetLoad( |
| 22 | + UIImage *image, |
| 23 | + NSURL *imageURL, |
| 24 | + RCTImageLoaderProgressBlock progressHandler, |
| 25 | + RCTImageLoaderCompletionBlock completionHandler) |
| 26 | +{ |
| 27 | + if (image != nullptr) { |
| 28 | + if (progressHandler != nullptr) { |
| 29 | + progressHandler(1, 1); |
| 30 | + } |
| 31 | + completionHandler(nil, image); |
| 32 | + } else { |
| 33 | + NSString *message = [NSString stringWithFormat:@"Could not find image %@", imageURL]; |
| 34 | + RCTLogWarn(@"%@", message); |
| 35 | + completionHandler(RCTErrorWithMessage(message), nil); |
| 36 | + } |
| 37 | +} |
| 38 | + |
21 | 39 | @implementation RCTBundleAssetImageLoader |
22 | 40 |
|
23 | 41 | RCT_EXPORT_MODULE() |
@@ -49,18 +67,26 @@ - (nullable RCTImageLoaderCancellationBlock)loadImageForURL:(NSURL *)imageURL |
49 | 67 | partialLoadHandler:(RCTImageLoaderPartialLoadBlock)partialLoadHandler |
50 | 68 | completionHandler:(RCTImageLoaderCompletionBlock)completionHandler |
51 | 69 | { |
52 | | - UIImage *image = RCTImageFromLocalAssetURL(imageURL); |
53 | | - if (image != nullptr) { |
54 | | - if (progressHandler != nullptr) { |
55 | | - progressHandler(1, 1); |
56 | | - } |
57 | | - completionHandler(nil, image); |
58 | | - } else { |
59 | | - NSString *message = [NSString stringWithFormat:@"Could not find image %@", imageURL]; |
60 | | - RCTLogWarn(@"%@", message); |
61 | | - completionHandler(RCTErrorWithMessage(message), nil); |
62 | | - } |
| 70 | + RCTCompleteLocalAssetLoad(RCTImageFromLocalAssetURL(imageURL), imageURL, progressHandler, completionHandler); |
| 71 | + return nil; |
| 72 | +} |
63 | 73 |
|
| 74 | +- (nullable RCTImageLoaderCancellationBlock) |
| 75 | + loadImageIgnoringCacheForURL:(NSURL *)imageURL |
| 76 | + size:(CGSize)size |
| 77 | + scale:(CGFloat)scale |
| 78 | + resizeMode:(RCTResizeMode)resizeMode |
| 79 | + progressHandler:(RCTImageLoaderProgressBlock)progressHandler |
| 80 | + partialLoadHandler:(RCTImageLoaderPartialLoadBlock)partialLoadHandler |
| 81 | + completionHandlerWithMetadata:(RCTImageLoaderCompletionBlockWithMetadata)completionHandler |
| 82 | +{ |
| 83 | + RCTCompleteLocalAssetLoad( |
| 84 | + RCTImageFromLocalAssetURLIgnoringSystemCache(imageURL), |
| 85 | + imageURL, |
| 86 | + progressHandler, |
| 87 | + ^(NSError *error, UIImage *image) { |
| 88 | + completionHandler(error, image, nil); |
| 89 | + }); |
64 | 90 | return nil; |
65 | 91 | } |
66 | 92 |
|
|
0 commit comments