mirror of
https://github.com/immich-app/immich.git
synced 2025-05-24 01:12:58 -04:00
* Features: Local file movement to trash and restoration back to the album added. (Android) * Comments fixes * settings button marked as [EXPERIMENTAL] * _moveToTrashMatchedAssets refactored, moveToTrash renamed. * fix: bad merge * Permission check and request for local storage added. * Permission request added on settings switcher * Settings button logic changed * Method channel file_trash moved to BackgroundServicePlugin --------- Co-authored-by: Alex <alex.tran1502@gmail.com>
40 lines
1.1 KiB
Dart
40 lines
1.1 KiB
Dart
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/services.dart';
|
|
|
|
class LocalFilesManager {
|
|
static const MethodChannel _channel = MethodChannel('file_trash');
|
|
|
|
static Future<bool> moveToTrash(String fileName) async {
|
|
try {
|
|
final bool success =
|
|
await _channel.invokeMethod('moveToTrash', {'fileName': fileName});
|
|
return success;
|
|
} on PlatformException catch (e) {
|
|
debugPrint('Error moving to trash: ${e.message}');
|
|
return false;
|
|
}
|
|
}
|
|
|
|
static Future<bool> restoreFromTrash(String fileName) async {
|
|
try {
|
|
final bool success = await _channel
|
|
.invokeMethod('restoreFromTrash', {'fileName': fileName});
|
|
return success;
|
|
} on PlatformException catch (e) {
|
|
debugPrint('Error restoring file: ${e.message}');
|
|
return false;
|
|
}
|
|
}
|
|
|
|
static Future<bool> requestManageStoragePermission() async {
|
|
try {
|
|
final bool success =
|
|
await _channel.invokeMethod('requestManageStoragePermission');
|
|
return success;
|
|
} on PlatformException catch (e) {
|
|
debugPrint('Error requesting permission: ${e.message}');
|
|
return false;
|
|
}
|
|
}
|
|
}
|