mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-31 18:47:09 -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;
 | |
|     }
 | |
|   }
 | |
| }
 |