Browse Source

Ensure that shared folder files don't pop up in the local folder page

Vishnu Mohandas 4 years ago
parent
commit
2c6fa9c242

+ 17 - 0
lib/models/filters/device_folder_name_filter.dart

@@ -0,0 +1,17 @@
+import 'package:photos/core/configuration.dart';
+import 'package:photos/models/filters/gallery_items_filter.dart';
+import 'package:photos/models/file.dart';
+import 'package:path/path.dart' as path;
+
+class DeviceFolderNameFilter implements GalleryItemsFilter {
+  final String folderName;
+
+  DeviceFolderNameFilter(this.folderName);
+
+  @override
+  bool shouldInclude(File file) {
+    return (file.ownerID == null ||
+            file.ownerID == Configuration.instance.getUserID()) &&
+        path.basename(file.deviceFolder) == folderName;
+  }
+}

+ 0 - 14
lib/models/filters/folder_name_filter.dart

@@ -1,14 +0,0 @@
-import 'package:photos/models/filters/gallery_items_filter.dart';
-import 'package:photos/models/file.dart';
-import 'package:path/path.dart' as path;
-
-class FolderNameFilter implements GalleryItemsFilter {
-  final String folderName;
-
-  FolderNameFilter(this.folderName);
-
-  @override
-  bool shouldInclude(File file) {
-    return path.basename(file.deviceFolder) == folderName;
-  }
-}

+ 2 - 2
lib/ui/device_folders_gallery_widget.dart

@@ -8,7 +8,7 @@ import 'package:photos/events/local_photos_updated_event.dart';
 import 'package:photos/services/favorites_service.dart';
 import 'package:photos/models/device_folder.dart';
 import 'package:photos/models/filters/favorite_items_filter.dart';
-import 'package:photos/models/filters/folder_name_filter.dart';
+import 'package:photos/models/filters/device_folder_name_filter.dart';
 import 'package:photos/models/filters/video_file_filter.dart';
 import 'package:photos/ui/common_elements.dart';
 import 'package:photos/ui/device_folder_page.dart';
@@ -79,7 +79,7 @@ class _DeviceFolderGalleryWidgetState extends State<DeviceFolderGalleryWidget> {
       final file = await FilesDB.instance.getLatestFileInPath(path);
       final folderName = p.basename(path);
       folders.add(
-          DeviceFolder(folderName, path, file, FolderNameFilter(folderName)));
+          DeviceFolder(folderName, path, file, DeviceFolderNameFilter(folderName)));
     }
     folders.sort((first, second) {
       return second.thumbnail.creationTime