|
@@ -1,6 +1,8 @@
|
|
import 'package:photo_manager/photo_manager.dart';
|
|
import 'package:photo_manager/photo_manager.dart';
|
|
|
|
+import 'package:photos/core/cache/image_cache.dart';
|
|
import 'package:photos/db/files_db.dart';
|
|
import 'package:photos/db/files_db.dart';
|
|
import 'package:photos/models/file.dart';
|
|
import 'package:photos/models/file.dart';
|
|
|
|
+import 'package:photos/models/file_type.dart';
|
|
|
|
|
|
Future<void> deleteFiles(List<File> files,
|
|
Future<void> deleteFiles(List<File> files,
|
|
{bool deleteEveryWhere = false}) async {
|
|
{bool deleteEveryWhere = false}) async {
|
|
@@ -12,3 +14,24 @@ Future<void> deleteFiles(List<File> files,
|
|
: await FilesDB.instance.delete(file);
|
|
: await FilesDB.instance.delete(file);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+void preloadFile(File file) {
|
|
|
|
+ if (file.fileType == FileType.video) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (file.localId == null) {
|
|
|
|
+ if (BytesLruCache.get(file) == null) {
|
|
|
|
+ file.getBytes().then((data) {
|
|
|
|
+ BytesLruCache.put(file, data);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ if (FileLruCache.get(file) == null) {
|
|
|
|
+ file.getAsset().then((asset) {
|
|
|
|
+ asset.file.then((assetFile) {
|
|
|
|
+ FileLruCache.put(file, assetFile);
|
|
|
|
+ });
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|