diff --git a/mobile/lib/providers/image/immich_local_image_provider.dart b/mobile/lib/providers/image/immich_local_image_provider.dart index c152934333..4c77ee4b56 100644 --- a/mobile/lib/providers/image/immich_local_image_provider.dart +++ b/mobile/lib/providers/image/immich_local_image_provider.dart @@ -53,50 +53,35 @@ class ImmichLocalImageProvider extends ImageProvider { ImageDecoderCallback decode, StreamController chunkEvents, ) async* { - ui.ImmutableBuffer? buffer; try { final local = asset.local; if (local == null) { throw StateError('Asset ${asset.fileName} has no local data'); } - var thumbBytes = await local - .thumbnailDataWithSize(const ThumbnailSize.square(256), quality: 80); - if (thumbBytes == null) { - throw StateError("Loading thumbnail for ${asset.fileName} failed"); - } - buffer = await ui.ImmutableBuffer.fromUint8List(thumbBytes); - thumbBytes = null; - yield await decode(buffer); - buffer = null; - switch (asset.type) { case AssetType.image: final File? file = await local.originFile; if (file == null) { throw StateError("Opening file for asset ${asset.fileName} failed"); } - buffer = await ui.ImmutableBuffer.fromFilePath(file.path); + final buffer = await ui.ImmutableBuffer.fromFilePath(file.path); yield await decode(buffer); - buffer = null; break; case AssetType.video: final size = ThumbnailSize(width.ceil(), height.ceil()); - thumbBytes = await local.thumbnailDataWithSize(size); + final thumbBytes = await local.thumbnailDataWithSize(size); if (thumbBytes == null) { throw StateError("Failed to load preview for ${asset.fileName}"); } - buffer = await ui.ImmutableBuffer.fromUint8List(thumbBytes); - thumbBytes = null; + final buffer = await ui.ImmutableBuffer.fromUint8List(thumbBytes); yield await decode(buffer); - buffer = null; break; default: throw StateError('Unsupported asset type ${asset.type}'); } } catch (error, stack) { log.severe('Error loading local image ${asset.fileName}', error, stack); - buffer?.dispose(); } finally { chunkEvents.close(); } diff --git a/mobile/lib/providers/image/immich_remote_image_provider.dart b/mobile/lib/providers/image/immich_remote_image_provider.dart index 9e1d8aa120..d5189fa4fc 100644 --- a/mobile/lib/providers/image/immich_remote_image_provider.dart +++ b/mobile/lib/providers/image/immich_remote_image_provider.dart @@ -57,12 +57,6 @@ class ImmichRemoteImageProvider AppSettingsEnum.loadOriginal.defaultValue, ); - /// Whether to load the preview thumbnail first or not - bool get _loadPreview => Store.get( - AppSettingsEnum.loadPreview.storeKey, - AppSettingsEnum.loadPreview.defaultValue, - ); - // Streams in each stage of the image as we ask for it Stream _codec( ImmichRemoteImageProvider key, @@ -70,21 +64,6 @@ class ImmichRemoteImageProvider ImageDecoderCallback decode, StreamController chunkEvents, ) async* { - // Load a preview to the chunk events - if (_loadPreview) { - final preview = getThumbnailUrlForRemoteId( - key.assetId, - type: api.AssetMediaSize.thumbnail, - ); - - yield await ImageLoader.loadImageFromCache( - preview, - cache: cache, - decode: decode, - chunkEvents: chunkEvents, - ); - } - // Load the higher resolution version of the image final url = getThumbnailUrlForRemoteId( key.assetId,