ソースを参照

Reuse existing method for loading archived files

Neeraj Gupta 3 年 前
コミット
3e5a54220c
3 ファイル変更19 行追加35 行削除
  1. 10 26
      lib/db/files_db.dart
  2. 3 3
      lib/ui/archive_page.dart
  3. 6 6
      lib/ui/gallery_app_bar_widget.dart

+ 10 - 26
lib/db/files_db.dart

@@ -247,7 +247,7 @@ class FilesDB {
         ALTER TABLE $table ADD COLUMN $columnMMdVersion INTEGER DEFAULT 0;
         ALTER TABLE $table ADD COLUMN $columnMMdVersion INTEGER DEFAULT 0;
       ''',
       ''',
       '''
       '''
-        ALTER TABLE $table ADD COLUMN $columnMMdVisibility INTEGER DEFAULT 0;
+        ALTER TABLE $table ADD COLUMN $columnMMdVisibility INTEGER DEFAULT $kVisibilityVisible;
       '''
       '''
     ];
     ];
   }
   }
@@ -357,21 +357,22 @@ class FilesDB {
   }
   }
 
 
   Future<FileLoadResult> getAllUploadedFiles(int startTime, int endTime,
   Future<FileLoadResult> getAllUploadedFiles(int startTime, int endTime,
-      int ownerID, {int limit, bool asc}) async {
+      int ownerID, {int limit, bool asc, int visibility = kVisibilityVisible}) async {
     final db = await instance.database;
     final db = await instance.database;
     final order = (asc ?? false ? 'ASC' : 'DESC');
     final order = (asc ?? false ? 'ASC' : 'DESC');
     final results = await db.query(
     final results = await db.query(
       table,
       table,
       where:
       where:
           '$columnCreationTime >= ? AND $columnCreationTime <= ? AND  $columnOwnerID = ? AND ($columnCollectionID IS NOT NULL AND $columnCollectionID IS NOT -1)'
           '$columnCreationTime >= ? AND $columnCreationTime <= ? AND  $columnOwnerID = ? AND ($columnCollectionID IS NOT NULL AND $columnCollectionID IS NOT -1)'
-              ' AND ($columnMMdVisibility IS NULL OR $columnMMdVisibility = ?)',
-      whereArgs: [startTime, endTime, ownerID, kVisibilityVisible],
+              ' AND $columnMMdVisibility = ?',
+      whereArgs: [startTime, endTime, ownerID, visibility],
       orderBy:
       orderBy:
           '$columnCreationTime ' + order + ', $columnModificationTime ' + order,
           '$columnCreationTime ' + order + ', $columnModificationTime ' + order,
       limit: limit,
       limit: limit,
     );
     );
     final files = _convertToFiles(results);
     final files = _convertToFiles(results);
-    return FileLoadResult(files, files.length == limit);
+    List<File> deduplicatedFiles = _deduplicatedFiles(files);
+    return FileLoadResult(deduplicatedFiles, files.length == limit);
   }
   }
 
 
   Future<FileLoadResult> getAllLocalAndUploadedFiles(int startTime, int endTime, int ownerID,
   Future<FileLoadResult> getAllLocalAndUploadedFiles(int startTime, int endTime, int ownerID,
@@ -450,25 +451,6 @@ class FilesDB {
     return FileLoadResult(files, files.length == limit);
     return FileLoadResult(files, files.length == limit);
   }
   }
 
 
-  Future<FileLoadResult> getFilesWithVisibility(int startTime, int endTime,
-      int ownerID, int visibility, {int limit, bool asc}) async {
-    final db = await instance.database;
-    final order = (asc ?? false ? 'ASC' : 'DESC');
-    final results = await db.query(
-      table,
-      where:
-      '$columnCreationTime >= ? AND $columnCreationTime <= ? AND $columnOwnerID = ? AND $columnMMdVisibility = ?',
-      whereArgs: [startTime, endTime, ownerID, visibility],
-      orderBy:
-      '$columnCreationTime ' + order + ', $columnModificationTime ' + order,
-      limit: limit,
-    );
-    final files = _convertToFiles(results);
-    _logger.info("Fetched " + files.length.toString() + " files");
-    List<File> deduplicatedFiles = _deduplicatedFiles(files);
-    return FileLoadResult(deduplicatedFiles, files.length == limit);
-  }
-
   Future<FileLoadResult> getFilesInPath(String path, int startTime, int endTime,
   Future<FileLoadResult> getFilesInPath(String path, int startTime, int endTime,
       {int limit, bool asc}) async {
       {int limit, bool asc}) async {
     final db = await instance.database;
     final db = await instance.database;
@@ -931,7 +913,8 @@ class FilesDB {
     row[columnMetadataVersion] = file.metadataVersion;
     row[columnMetadataVersion] = file.metadataVersion;
     row[columnMMdVersion] = file.mMdVersion ?? 0;
     row[columnMMdVersion] = file.mMdVersion ?? 0;
     row[columnMMdEncodedJson] = file.mMdEncodedJson ?? '{}';
     row[columnMMdEncodedJson] = file.mMdEncodedJson ?? '{}';
-    row[columnMMdVisibility] = file.fileMagicMetadata?.visibility ?? 0;
+    row[columnMMdVisibility] =
+        file.fileMagicMetadata?.visibility ?? kVisibilityVisible;
     return row;
     return row;
   }
   }
 
 
@@ -961,7 +944,8 @@ class FilesDB {
 
 
     row[columnMMdVersion] = file.mMdVersion ?? 0;
     row[columnMMdVersion] = file.mMdVersion ?? 0;
     row[columnMMdEncodedJson] == file.mMdEncodedJson ?? '{}';
     row[columnMMdEncodedJson] == file.mMdEncodedJson ?? '{}';
-    row[columnMMdVisibility] = file.fileMagicMetadata?.visibility ?? 0;
+    row[columnMMdVisibility] =
+        file.fileMagicMetadata?.visibility ?? kVisibilityVisible;
     return row;
     return row;
   }
   }
 
 

+ 3 - 3
lib/ui/archive_page.dart

@@ -27,9 +27,9 @@ class ArchivePage extends StatelessWidget {
   Widget build(Object context) {
   Widget build(Object context) {
     final gallery = Gallery(
     final gallery = Gallery(
       asyncLoader: (creationStartTime, creationEndTime, {limit, asc}) {
       asyncLoader: (creationStartTime, creationEndTime, {limit, asc}) {
-        return FilesDB.instance.getFilesWithVisibility(creationStartTime,
-            creationEndTime, Configuration.instance.getUserID(), kVisibilityArchive,
-            limit: limit, asc: asc);
+        return FilesDB.instance.getAllUploadedFiles(creationStartTime,
+            creationEndTime, Configuration.instance.getUserID(),
+            visibility: kVisibilityArchive, limit: limit, asc: asc);
       },
       },
       reloadEvent: Bus.instance.on<FilesUpdatedEvent>().where((event) =>
       reloadEvent: Bus.instance.on<FilesUpdatedEvent>().where((event) =>
       event.updatedFiles
       event.updatedFiles

+ 6 - 6
lib/ui/gallery_app_bar_widget.dart

@@ -283,12 +283,12 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
     try {
     try {
       await changeVisibility(
       await changeVisibility(
           widget.selectedFiles.files.toList(), newVisibility);
           widget.selectedFiles.files.toList(), newVisibility);
-      if (newVisibility == kVisibilityArchive) {
-        showToast("successfully archived", toastLength: Toast.LENGTH_SHORT)
-      } else {
-        showToast("successfully unarchived",
-            toastLength: Toast.LENGTH_SHORT);
-      }
+      showToast(
+          newVisibility == kVisibilityArchive
+              ? "successfully archived"
+              : "successfully unarchived",
+          toastLength: Toast.LENGTH_SHORT);
+
       await dialog.hide();
       await dialog.hide();
     } catch (e, s) {
     } catch (e, s) {
       _logger.severe("failed to update file visibility", e, s);
       _logger.severe("failed to update file visibility", e, s);