From ce01bdb79ec72160e47c300f97de7d919e5708b9 Mon Sep 17 00:00:00 2001 From: Wenqi Li Date: Tue, 25 Jul 2023 22:35:53 +0800 Subject: [PATCH] catch exception of getting medium thumbnail to show default image --- .../image_providers/thumbnail_provider.dart | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/lib/src/image_providers/thumbnail_provider.dart b/lib/src/image_providers/thumbnail_provider.dart index d047235..c2e1424 100644 --- a/lib/src/image_providers/thumbnail_provider.dart +++ b/lib/src/image_providers/thumbnail_provider.dart @@ -29,14 +29,19 @@ class ThumbnailProvider extends ImageProvider { Future _loadAsync(ThumbnailProvider key, ImageDecoderCallback decode) async { assert(key == this); - final data = await PhotoGallery.getThumbnail( - mediumId: mediumId, - mediumType: mediumType, - height: height, - width: width, - highQuality: highQuality, - ); - ui.ImmutableBuffer buffer = await ui.ImmutableBuffer.fromUint8List(Uint8List.fromList(data)); + late ui.ImmutableBuffer buffer; + try { + final data = await PhotoGallery.getThumbnail( + mediumId: mediumId, + mediumType: mediumType, + height: height, + width: width, + highQuality: highQuality, + ); + buffer = await ui.ImmutableBuffer.fromUint8List(Uint8List.fromList(data)); + } catch (e) { + buffer = await ui.ImmutableBuffer.fromAsset("packages/photo_gallery/images/grey.bmp"); + } return decode(buffer); }