ente/lib/core/cache/image_cache.dart
2020-08-13 05:44:13 +05:30

42 lines
893 B
Dart

import 'dart:io' as dart;
import 'dart:typed_data';
import 'package:photos/core/cache/lru_map.dart';
import 'package:photos/models/file.dart';
class FileLruCache {
static LRUMap<String, dart.File> _map = LRUMap(25);
static dart.File get(File file) {
return _map.get(file.tag());
}
static void put(File file, dart.File imageData) {
_map.put(file.tag(), imageData);
}
}
class ThumbnailFileLruCache {
static LRUMap<String, dart.File> _map = LRUMap(500);
static dart.File get(File file) {
return _map.get(file.tag());
}
static void put(File file, dart.File imageData) {
_map.put(file.tag(), imageData);
}
}
class BytesLruCache {
static LRUMap<String, Uint8List> _map = LRUMap(25);
static Uint8List get(File file) {
return _map.get(file.tag());
}
static void put(File file, Uint8List imageData) {
_map.put(file.tag(), imageData);
}
}