mirror of
https://github.com/immich-app/immich.git
synced 2025-09-29 15:31:13 -04:00
* platform image providers * use key * fix cache manager * more logs, cancel on dispose instead * split into separate files * fix saving to cache * cancel multi-stage provider * refactored `getInitialImage` * only wait for disposal for full images * cached image works * formatting * lower asset viewer ram usage --------- Co-authored-by: Alex <alex.tran1502@gmail.com>
26 lines
673 B
Dart
26 lines
673 B
Dart
part of 'image_request.dart';
|
|
|
|
class ThumbhashImageRequest extends ImageRequest {
|
|
final String thumbhash;
|
|
|
|
ThumbhashImageRequest({required this.thumbhash});
|
|
|
|
@override
|
|
Future<ImageInfo?> load(ImageDecoderCallback decode, {double scale = 1.0}) async {
|
|
if (_isCancelled) {
|
|
return null;
|
|
}
|
|
|
|
final Map<String, int> info = await thumbnailApi.getThumbhash(thumbhash);
|
|
final frame = await _fromPlatformImage(info);
|
|
return frame == null ? null : ImageInfo(image: frame.image, scale: scale);
|
|
}
|
|
|
|
@override
|
|
void _onCancelled() {
|
|
if (!kReleaseMode) {
|
|
debugPrint('Thumbhash request $requestId for $thumbhash was cancelled');
|
|
}
|
|
}
|
|
}
|