import 'package:jj_mkvmaker/app/explorer_device.dart'; /// 시험용 [ExplorerDevice]: 정한 것만 바꾸고 나머지는 이 기기 그대로. /// [android] · [trash] · [nomediaOn] 은 Windows 에서 Android 의 갈래를 지나게 할 뿐이다 - 논리만 확인, Android 실제 확인은 노트 10+ class TestExplorerDevice implements ExplorerDevice { static const _real = RealExplorerDevice(); /// 저장 장치 목록 (null 이면 이 기기) List<(String, String)> Function()? volumes; /// 드라이브를 열 수 있는지 (null 이면 이 기기) Future Function(String path)? probe; /// 경로 입력 SMB 안내 · 앱 휴지통 · .nomedia 메뉴 (null 이면 이 기기) bool? android, trash, nomediaOn; @override Future> listVolumes() async => volumes?.call() ?? await _real.listVolumes(); @override Future probeDrive(String path) => (probe ?? _real.probeDrive)(path); @override bool get androidPaths => android ?? _real.androidPaths; @override bool get androidTrash => trash ?? _real.androidTrash; @override bool get nomedia => nomediaOn ?? _real.nomedia; }