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

This commit is contained in:
Vishnu Mohandas 2020-10-18 01:38:50 +05:30
parent 964a5e6f50
commit 2c6fa9c242
3 changed files with 19 additions and 16 deletions

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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