Parcourir la source

Skip uncat and fav colleciton while auto-deleting

Neeraj Gupta il y a 2 ans
Parent
commit
f0a8e1d2d7
2 fichiers modifiés avec 10 ajouts et 1 suppressions
  1. 5 0
      lib/models/collection.dart
  2. 5 1
      lib/ui/viewer/actions/delete_empty_albums.dart

+ 5 - 0
lib/models/collection.dart

@@ -210,6 +210,11 @@ enum CollectionType {
   unknown,
   unknown,
 }
 }
 
 
+extension CollectionTypeExtn on CollectionType {
+  bool get canDelete =>
+      this != CollectionType.favorites && this != CollectionType.uncategorized;
+}
+
 enum CollectionParticipantRole {
 enum CollectionParticipantRole {
   unknown,
   unknown,
   viewer,
   viewer,

+ 5 - 1
lib/ui/viewer/actions/delete_empty_albums.dart

@@ -1,6 +1,7 @@
 import 'package:flutter/material.dart';
 import 'package:flutter/material.dart';
 import 'package:photos/core/event_bus.dart';
 import 'package:photos/core/event_bus.dart';
 import 'package:photos/events/collection_updated_event.dart';
 import 'package:photos/events/collection_updated_event.dart';
+import 'package:photos/models/collection.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/models/file.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/services/collections_service.dart';
 import 'package:photos/ui/components/action_sheet_widget.dart';
 import 'package:photos/ui/components/action_sheet_widget.dart';
@@ -86,7 +87,10 @@ class _DeleteEmptyAlbumsState extends State<DeleteEmptyAlbums> {
   Future<void> _deleteEmptyAlbums() async {
   Future<void> _deleteEmptyAlbums() async {
     final collections =
     final collections =
         await CollectionsService.instance.getCollectionsWithThumbnails();
         await CollectionsService.instance.getCollectionsWithThumbnails();
-    collections.removeWhere((element) => element.thumbnail != null);
+    collections.removeWhere(
+      (element) =>
+          element.thumbnail != null || element.collection.type.canDelete,
+    );
     int failedCount = 0;
     int failedCount = 0;
     for (int i = 0; i < collections.length; i++) {
     for (int i = 0; i < collections.length; i++) {
       if (mounted && !_isCancelled) {
       if (mounted && !_isCancelled) {