Merge 4950c8088c into 5ade152bc5
commit
c85605cfbc
|
|
@ -10,6 +10,7 @@ import 'package:immich_mobile/presentation/widgets/images/one_frame_multi_image_
|
|||
import 'package:immich_mobile/providers/image/cache/remote_image_cache_manager.dart';
|
||||
import 'package:immich_mobile/services/api.service.dart';
|
||||
import 'package:immich_mobile/utils/image_url_builder.dart';
|
||||
import 'package:openapi/api.dart';
|
||||
|
||||
class RemoteThumbProvider extends CancellableImageProvider<RemoteThumbProvider>
|
||||
with CancellableImageProviderMixin<RemoteThumbProvider> {
|
||||
|
|
@ -104,9 +105,34 @@ class RemoteFullImageProvider extends CancellableImageProvider<RemoteFullImagePr
|
|||
return;
|
||||
}
|
||||
|
||||
// If loading originals is enabled, attempt to load the original
|
||||
// and fall back to the fullsize preview when that fails.
|
||||
if (AppSetting.get(Setting.loadOriginal)) {
|
||||
final request = this.request = RemoteImageRequest(uri: getOriginalUrlForRemoteId(key.assetId), headers: headers);
|
||||
yield* loadRequest(request, decode);
|
||||
try {
|
||||
final request = this.request = RemoteImageRequest(uri: getOriginalUrlForRemoteId(key.assetId), headers: headers);
|
||||
yield* loadRequest(request, decode);
|
||||
} catch (e) {
|
||||
if (isCancelled) {
|
||||
unawaited(evict());
|
||||
return;
|
||||
}
|
||||
|
||||
// Fallback to fullsize preview when original fails
|
||||
final fullResRequest = this.request = RemoteImageRequest(
|
||||
uri: getThumbnailUrlForRemoteId(key.assetId, type: AssetMediaSize.fullsize),
|
||||
headers: headers,
|
||||
cacheManager: cacheManager,
|
||||
);
|
||||
yield* loadRequest(fullResRequest, decode);
|
||||
}
|
||||
} else {
|
||||
// When load original is disabled, always load the fullsize preview after the preview.
|
||||
final fullResRequest = this.request = RemoteImageRequest(
|
||||
uri: getThumbnailUrlForRemoteId(key.assetId, type: AssetMediaSize.fullsize),
|
||||
headers: headers,
|
||||
cacheManager: cacheManager,
|
||||
);
|
||||
yield* loadRequest(fullResRequest, decode);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue