28 lines
1.1 KiB
Dart
28 lines
1.1 KiB
Dart
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<bool> Function(String path)? probe;
|
|
|
|
/// 경로 입력 SMB 안내 · 앱 휴지통 · .nomedia 메뉴 (null 이면 이 기기)
|
|
bool? android, trash, nomediaOn;
|
|
|
|
@override
|
|
Future<List<(String, String)>> listVolumes() async => volumes?.call() ?? await _real.listVolumes();
|
|
@override
|
|
Future<bool> 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;
|
|
}
|