mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-09-08 05:30:47 +00:00
Merge pull request #1085 from chrisze/master
[ASNetworkImageNode] Add error handler to ASNetworkImageNodeDelegate
This commit is contained in:
commit
cb5e5704e2
@ -95,6 +95,16 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@optional
|
||||
|
||||
/**
|
||||
* Notification that the image node failed to download the image.
|
||||
*
|
||||
* @param imageNode The sender.
|
||||
* @param error The error with details.
|
||||
*
|
||||
* @discussion Called on a background queue.
|
||||
*/
|
||||
- (void)imageNode:(ASNetworkImageNode *)imageNode didFailWithError:(NSError *)error;
|
||||
|
||||
/**
|
||||
* Notification that the image node finished decoding an image.
|
||||
*
|
||||
|
@ -168,14 +168,14 @@
|
||||
_cacheUUID = nil;
|
||||
}
|
||||
|
||||
- (void)_downloadImageWithCompletion:(void (^)(CGImageRef))finished
|
||||
- (void)_downloadImageWithCompletion:(void (^)(CGImageRef, NSError*))finished
|
||||
{
|
||||
_imageDownload = [_downloader downloadImageWithURL:_URL
|
||||
callbackQueue:dispatch_get_main_queue()
|
||||
downloadProgressBlock:NULL
|
||||
completion:^(CGImageRef responseImage, NSError *error) {
|
||||
if (finished != NULL) {
|
||||
finished(responseImage);
|
||||
finished(responseImage, error);
|
||||
}
|
||||
}];
|
||||
}
|
||||
@ -210,7 +210,7 @@
|
||||
}
|
||||
} else {
|
||||
__weak __typeof__(self) weakSelf = self;
|
||||
void (^finished)(CGImageRef) = ^(CGImageRef responseImage) {
|
||||
void (^finished)(CGImageRef, NSError *) = ^(CGImageRef responseImage, NSError *error) {
|
||||
__typeof__(self) strongSelf = weakSelf;
|
||||
if (strongSelf == nil) {
|
||||
return;
|
||||
@ -232,6 +232,9 @@
|
||||
if (responseImage != NULL) {
|
||||
[strongSelf->_delegate imageNode:strongSelf didLoadImage:strongSelf.image];
|
||||
}
|
||||
else if (error && [strongSelf->_delegate respondsToSelector:@selector(imageNode:didFailWithError:)]) {
|
||||
[strongSelf->_delegate imageNode:strongSelf didFailWithError:error];
|
||||
}
|
||||
};
|
||||
|
||||
if (_cache != nil) {
|
||||
@ -247,7 +250,7 @@
|
||||
if (image == NULL && _downloader != nil) {
|
||||
[self _downloadImageWithCompletion:finished];
|
||||
} else {
|
||||
finished(image);
|
||||
finished(image, NULL);
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user