Skip uncat and fav colleciton while auto-deleting

This commit is contained in:
Neeraj Gupta 2023-01-12 09:56:01 +05:30
parent e560c21107
commit f0a8e1d2d7
No known key found for this signature in database
GPG key ID: 3C5A1684DC1729E1
2 changed files with 10 additions and 1 deletions

View file

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

View file

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