diff --git a/lib/widgets/common/image_providers/app_icon_image_provider.dart b/lib/widgets/common/image_providers/app_icon_image_provider.dart index a1a1ff3a4..06d21092c 100644 --- a/lib/widgets/common/image_providers/app_icon_image_provider.dart +++ b/lib/widgets/common/image_providers/app_icon_image_provider.dart @@ -39,11 +39,13 @@ class AppIconImage extends ImageProvider { Future _loadAsync(AppIconImageKey key, DecoderCallback decode) async { try { final bytes = await AndroidAppService.getAppIcon(key.packageName, key.size); - if (bytes == null) return null; + if (bytes == null) { + throw StateError('$packageName app icon loading failed'); + } return await decode(bytes); } catch (error) { debugPrint('$runtimeType _loadAsync failed with packageName=$packageName, error=$error'); - return null; + throw StateError('$packageName app icon decoding failed'); } } } diff --git a/lib/widgets/common/image_providers/thumbnail_provider.dart b/lib/widgets/common/image_providers/thumbnail_provider.dart index 328b37f42..ff99e6031 100644 --- a/lib/widgets/common/image_providers/thumbnail_provider.dart +++ b/lib/widgets/common/image_providers/thumbnail_provider.dart @@ -50,11 +50,13 @@ class ThumbnailProvider extends ImageProvider { Future _loadAsync(ThumbnailProviderKey key, DecoderCallback decode) async { try { final bytes = await ImageFileService.getThumbnail(key.entry, extent, extent, taskKey: _cancellationKey); - if (bytes == null) return null; + if (bytes == null) { + throw StateError('${entry.uri} (${entry.mimeType}) loading failed'); + } return await decode(bytes); } catch (error) { debugPrint('$runtimeType _loadAsync failed with path=${entry.path}, error=$error'); - return null; + throw StateError('${entry.mimeType} decoding failed'); } } diff --git a/lib/widgets/common/image_providers/uri_image_provider.dart b/lib/widgets/common/image_providers/uri_image_provider.dart index afd08b802..79e02276b 100644 --- a/lib/widgets/common/image_providers/uri_image_provider.dart +++ b/lib/widgets/common/image_providers/uri_image_provider.dart @@ -55,11 +55,13 @@ class UriImage extends ImageProvider { )); }, ); - if (bytes == null) return null; + if (bytes == null) { + throw StateError('$uri ($mimeType) loading failed'); + } return await decode(bytes); } catch (error) { debugPrint('$runtimeType _loadAsync failed with mimeType=$mimeType, uri=$uri, error=$error'); - return null; + throw StateError('$mimeType decoding failed'); } finally { unawaited(chunkEvents.close()); }