From d5575cc9331b4a06e1faf707a32cbe9a7a7e43ed Mon Sep 17 00:00:00 2001 From: Marty Fuhry Date: Mon, 22 Apr 2024 09:37:05 -0400 Subject: [PATCH] Fixes equality operator for immich local image provider --- .../image_providers/immich_local_image_provider.dart | 8 +++++--- mobile/lib/shared/cache/custom_image_cache.dart | 4 ++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mobile/lib/modules/asset_viewer/image_providers/immich_local_image_provider.dart b/mobile/lib/modules/asset_viewer/image_providers/immich_local_image_provider.dart index 3094c69076258..d1e154e3681b6 100644 --- a/mobile/lib/modules/asset_viewer/image_providers/immich_local_image_provider.dart +++ b/mobile/lib/modules/asset_viewer/image_providers/immich_local_image_provider.dart @@ -10,7 +10,6 @@ import 'package:immich_mobile/shared/models/asset.dart'; import 'package:photo_manager/photo_manager.dart'; /// The local image provider for an asset -/// Only viable class ImmichLocalImageProvider extends ImageProvider { final Asset asset; @@ -94,9 +93,12 @@ class ImmichLocalImageProvider extends ImageProvider { @override bool operator ==(Object other) { - if (other is! ImmichLocalImageProvider) return false; if (identical(this, other)) return true; - return asset == other.asset; + if (other is ImmichLocalImageProvider) { + return asset == other.asset; + } + + return false; } @override diff --git a/mobile/lib/shared/cache/custom_image_cache.dart b/mobile/lib/shared/cache/custom_image_cache.dart index 3f8b35e3fa7c1..61ada59d4454b 100644 --- a/mobile/lib/shared/cache/custom_image_cache.dart +++ b/mobile/lib/shared/cache/custom_image_cache.dart @@ -1,6 +1,8 @@ import 'package:flutter/painting.dart'; import 'package:immich_mobile/modules/asset_viewer/image_providers/immich_local_image_provider.dart'; +import 'package:immich_mobile/modules/asset_viewer/image_providers/immich_local_thumbnail_provider.dart'; import 'package:immich_mobile/modules/asset_viewer/image_providers/immich_remote_image_provider.dart'; +import 'package:immich_mobile/modules/asset_viewer/image_providers/immich_remote_thumbnail_provider.dart'; /// [ImageCache] that uses two caches for small and large images /// so that a single large image does not evict all small iamges @@ -33,6 +35,8 @@ final class CustomImageCache implements ImageCache { } /// Gets the cache for the given key + /// [_large] is used for [ImmichLocalImageProvider] and [ImmichRemoteImageProvider] + /// [_small] is used for [ImmichLocalThumbnailProvider] and [ImmichRemoteThumbnailProvider] ImageCache _cacheForKey(Object key) => (key is ImmichLocalImageProvider || key is ImmichRemoteImageProvider) ? _large