Procházet zdrojové kódy

Clear in-memory thumbcache on file updation

Neeraj Gupta před 3 roky
rodič
revize
e8da432be5
2 změnil soubory, kde provedl 9 přidání a 0 odebrání
  1. 7 0
      lib/core/cache/thumbnail_cache.dart
  2. 2 0
      lib/utils/file_util.dart

+ 7 - 0
lib/core/cache/thumbnail_cache.dart

@@ -24,4 +24,11 @@ class ThumbnailLruCache {
             (size != null ? size.toString() : kThumbnailLargeSize.toString()),
             (size != null ? size.toString() : kThumbnailLargeSize.toString()),
         imageData);
         imageData);
   }
   }
+
+  static void clearCache(File file) {
+    _map.remove(
+        file.generatedID.toString() + "_" + kThumbnailLargeSize.toString());
+    _map.remove(
+        file.generatedID.toString() + "_" + kThumbnailSmallSize.toString());
+  }
 }
 }

+ 2 - 0
lib/utils/file_util.dart

@@ -11,6 +11,7 @@ import 'package:logging/logging.dart';
 import 'package:motionphoto/motionphoto.dart';
 import 'package:motionphoto/motionphoto.dart';
 import 'package:path/path.dart';
 import 'package:path/path.dart';
 import 'package:photos/core/cache/image_cache.dart';
 import 'package:photos/core/cache/image_cache.dart';
+import 'package:photos/core/cache/thumbnail_cache.dart';
 import 'package:photos/core/cache/video_cache_manager.dart';
 import 'package:photos/core/cache/video_cache_manager.dart';
 import 'package:photos/core/configuration.dart';
 import 'package:photos/core/configuration.dart';
 import 'package:photos/core/constants.dart';
 import 'package:photos/core/constants.dart';
@@ -296,6 +297,7 @@ Future<void> clearCache(ente.File file) async {
   if (cachedThumbnail.existsSync()) {
   if (cachedThumbnail.existsSync()) {
     await cachedThumbnail.delete();
     await cachedThumbnail.delete();
   }
   }
+  ThumbnailLruCache.clearCache(file);
 }
 }
 
 
 class _LivePhoto {
 class _LivePhoto {