mirror of
https://github.com/immich-app/immich.git
synced 2025-05-24 01:12:58 -04:00
fix: auto trash using MANAGE_MEDIA Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
39 lines
1.1 KiB
Dart
39 lines
1.1 KiB
Dart
import 'package:flutter/services.dart';
|
|
import 'package:logging/logging.dart';
|
|
|
|
abstract final class LocalFilesManager {
|
|
static final Logger _logger = Logger('LocalFilesManager');
|
|
static const MethodChannel _channel = MethodChannel('file_trash');
|
|
|
|
static Future<bool> moveToTrash(List<String> mediaUrls) async {
|
|
try {
|
|
return await _channel
|
|
.invokeMethod('moveToTrash', {'mediaUrls': mediaUrls});
|
|
} catch (e, s) {
|
|
_logger.warning('Error moving file to trash', e, s);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
static Future<bool> restoreFromTrash(String fileName, int type) async {
|
|
try {
|
|
return await _channel.invokeMethod(
|
|
'restoreFromTrash',
|
|
{'fileName': fileName, 'type': type},
|
|
);
|
|
} catch (e, s) {
|
|
_logger.warning('Error restore file from trash', e, s);
|
|
return false;
|
|
}
|
|
}
|
|
|
|
static Future<bool> requestManageMediaPermission() async {
|
|
try {
|
|
return await _channel.invokeMethod('requestManageMediaPermission');
|
|
} catch (e, s) {
|
|
_logger.warning('Error requesting manage media permission', e, s);
|
|
return false;
|
|
}
|
|
}
|
|
}
|