@@ -146,6 +146,7 @@ - (float)handlerPriority
146
146
{
147
147
return 2 ;
148
148
}
149
+ #pragma mark - RCTImageLoaderProtocol 1/3
149
150
150
151
- (id <RCTImageCache>)imageCache
151
152
{
@@ -228,6 +229,8 @@ - (void)setImageCache:(id<RCTImageCache>)cache
228
229
return nil ;
229
230
}
230
231
232
+ # pragma mark - Private Image Decoding & Resizing
233
+
231
234
- (id <RCTImageDataDecoder>)imageDataDecoderForData : (NSData *)data
232
235
{
233
236
if (!_maxConcurrentLoadingTasks) {
@@ -309,24 +312,56 @@ - (void)setImageCache:(id<RCTImageCache>)cache
309
312
return image;
310
313
}
311
314
312
- - (RCTImageLoaderCancellationBlock) loadImageWithURLRequest : (NSURLRequest *)imageURLRequest
313
- callback : (RCTImageLoaderCompletionBlock)callback
315
+ #pragma mark - RCTImageLoaderProtocol 2/3
316
+
317
+ - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest : (NSURLRequest *)imageURLRequest
318
+ callback : (RCTImageLoaderCompletionBlock)callback
319
+ {
320
+ return [self loadImageWithURLRequest: imageURLRequest
321
+ priority: RCTImageLoaderPriorityImmediate
322
+ callback: callback];
323
+ }
324
+
325
+ - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest : (NSURLRequest *)imageURLRequest
326
+ priority : (RCTImageLoaderPriority)priority
327
+ callback : (RCTImageLoaderCompletionBlock)callback {
328
+ return [self loadImageWithURLRequest: imageURLRequest
329
+ size: CGSizeZero
330
+ scale: 1
331
+ clipped: YES
332
+ resizeMode: RCTResizeModeStretch
333
+ priority: priority
334
+ progressBlock: nil
335
+ partialLoadBlock: nil
336
+ completionBlock: callback];
337
+ }
338
+
339
+ - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest : (NSURLRequest *)imageURLRequest
340
+ size : (CGSize )size
341
+ scale : (CGFloat )scale
342
+ clipped : (BOOL )clipped
343
+ resizeMode : (RCTResizeMode)resizeMode
344
+ progressBlock : (RCTImageLoaderProgressBlock)progressBlock
345
+ partialLoadBlock : (RCTImageLoaderPartialLoadBlock)partialLoadBlock
346
+ completionBlock : (RCTImageLoaderCompletionBlock)completionBlock
314
347
{
315
- return [self loadImageWithURLRequest: imageURLRequest
316
- size: CGSizeZero
317
- scale: 1
318
- clipped: YES
319
- resizeMode: RCTResizeModeStretch
320
- progressBlock: nil
321
- partialLoadBlock: nil
322
- completionBlock: callback];
348
+ return [self loadImageWithURLRequest: imageURLRequest
349
+ size: size
350
+ scale: scale
351
+ clipped: clipped
352
+ resizeMode: resizeMode
353
+ priority: RCTImageLoaderPriorityImmediate
354
+ progressBlock: progressBlock
355
+ partialLoadBlock: partialLoadBlock
356
+ completionBlock: completionBlock];
323
357
}
324
358
325
359
- (RCTImageLoaderCancellationBlock)loadImageWithURLRequest : (NSURLRequest *)imageURLRequest
326
360
size : (CGSize )size
327
361
scale : (CGFloat )scale
328
362
clipped : (BOOL )clipped
329
363
resizeMode : (RCTResizeMode)resizeMode
364
+ priority : (RCTImageLoaderPriority)priority
330
365
progressBlock : (RCTImageLoaderProgressBlock)progressBlock
331
366
partialLoadBlock : (RCTImageLoaderPartialLoadBlock)partialLoadBlock
332
367
completionBlock : (RCTImageLoaderCompletionBlock)completionBlock
@@ -336,6 +371,7 @@ - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)image
336
371
scale: scale
337
372
clipped: clipped
338
373
resizeMode: resizeMode
374
+ priority: priority
339
375
attribution: {}
340
376
progressBlock: progressBlock
341
377
partialLoadBlock: partialLoadBlock
@@ -345,6 +381,8 @@ - (RCTImageLoaderCancellationBlock)loadImageWithURLRequest:(NSURLRequest *)image
345
381
};
346
382
}
347
383
384
+ #pragma mark - Private Downloader Methods
385
+
348
386
- (void )dequeueTasks
349
387
{
350
388
dispatch_async (_URLRequestQueue, ^{
@@ -415,6 +453,7 @@ - (RCTImageURLLoaderRequest *)_loadImageOrDataWithURLRequest:(NSURLRequest *)req
415
453
size : (CGSize )size
416
454
scale : (CGFloat )scale
417
455
resizeMode : (RCTResizeMode)resizeMode
456
+ priority : (RCTImageLoaderPriority)priority
418
457
attribution : (const ImageURLLoaderAttribution &)attribution
419
458
progressBlock : (RCTImageLoaderProgressBlock)progressHandler
420
459
partialLoadBlock : (RCTImageLoaderPartialLoadBlock)partialLoadHandler
@@ -481,6 +520,7 @@ - (RCTImageURLLoaderRequest *)_loadImageOrDataWithURLRequest:(NSURLRequest *)req
481
520
scale: scale
482
521
resizeMode: resizeMode
483
522
requestId: requestId
523
+ priority: priority
484
524
attribution: attributionCopy
485
525
progressHandler: progressHandler
486
526
partialLoadHandler: partialLoadHandler
@@ -520,6 +560,7 @@ - (RCTImageURLLoaderRequest *)_loadImageOrDataWithURLRequest:(NSURLRequest *)req
520
560
scale: scale
521
561
resizeMode: resizeMode
522
562
requestId: requestId
563
+ priority: priority
523
564
attribution: attributionCopy
524
565
progressHandler: progressHandler
525
566
partialLoadHandler: partialLoadHandler
@@ -701,6 +742,7 @@ - (RCTImageURLLoaderRequest *)loadImageWithURLRequest:(NSURLRequest *)imageURLRe
701
742
scale : (CGFloat )scale
702
743
clipped : (BOOL )clipped
703
744
resizeMode : (RCTResizeMode)resizeMode
745
+ priority : (RCTImageLoaderPriority)priority
704
746
attribution : (const ImageURLLoaderAttribution &)attribution
705
747
progressBlock : (RCTImageLoaderProgressBlock)progressBlock
706
748
partialLoadBlock : (RCTImageLoaderPartialLoadBlock)partialLoadBlock
@@ -768,6 +810,7 @@ - (RCTImageURLLoaderRequest *)loadImageWithURLRequest:(NSURLRequest *)imageURLRe
768
810
size: size
769
811
scale: scale
770
812
resizeMode: resizeMode
813
+ priority: priority
771
814
attribution: attribution
772
815
progressBlock: progressBlock
773
816
partialLoadBlock: partialLoadBlock
@@ -825,6 +868,8 @@ - (void)trackURLImageDidDestroy:(RCTImageURLLoaderRequest *)loaderRequest
825
868
}
826
869
}
827
870
871
+ #pragma mark - RCTImageLoaderProtocol 3/3
872
+
828
873
- (RCTImageLoaderCancellationBlock)decodeImageData : (NSData *)data
829
874
size : (CGSize )size
830
875
scale : (CGFloat )scale
@@ -976,6 +1021,7 @@ - (RCTImageLoaderCancellationBlock)getImageSizeForURLRequest:(NSURLRequest *)ima
976
1021
size: CGSizeZero
977
1022
scale: 1
978
1023
resizeMode: RCTResizeModeStretch
1024
+ priority: RCTImageLoaderPriorityImmediate
979
1025
attribution: {}
980
1026
progressBlock: NULL
981
1027
partialLoadBlock: NULL
@@ -1134,6 +1180,7 @@ - (void)cancelRequest:(id)requestToken
1134
1180
{
1135
1181
NSURLRequest *request = [RCTConvert NSURLRequest: uri];
1136
1182
[self loadImageWithURLRequest: request
1183
+ priority: RCTImageLoaderPriorityPrefetch
1137
1184
callback: ^(NSError *error, UIImage *image) {
1138
1185
if (error) {
1139
1186
reject (@" E_PREFETCH_FAILURE" , nil , error);
0 commit comments