ente/lib/utils/archive_util.dart

30 lines
1 KiB
Dart

import 'package:flutter/widgets.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:logging/logging.dart';
import 'package:photos/models/file.dart';
import 'package:photos/models/magic_metadata.dart';
import 'package:photos/services/file_magic_service.dart';
import 'package:photos/utils/dialog_util.dart';
import 'package:photos/utils/toast_util.dart';
Future<void> changeVisibility(
BuildContext context, List<File> files, int newVisibility) async {
final dialog = createProgressDialog(context,
newVisibility == kVisibilityArchive ? "archiving..." : "unarchiving...");
await dialog.show();
try {
await FileMagicService.instance.changeVisibility(files, newVisibility);
showToast(
newVisibility == kVisibilityArchive
? "successfully archived"
: "successfully unarchived",
toastLength: Toast.LENGTH_SHORT);
await dialog.hide();
} catch (e, s) {
Logger("ArchiveUtil").severe("failed to update file visibility", e, s);
await dialog.hide();
rethrow;
}
}