mirror of
				https://github.com/immich-app/immich.git
				synced 2025-11-03 19:17:11 -05: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;
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 |