import 'package:jj_mkvmaker/services/platform_services.dart'; import 'package:jj_mkvmaker/services/system_usage.dart'; import '../../test/support/test_explorer_device.dart'; /// 캡처용 (관리자 10/24): 위 막대의 CPU · 메모리는 이 PC 의 실제 값이라 실행마다 달라 캡처가 흔들렸다 - 정한 값 (시험 쪽에서만) class FixedUsage implements SystemUsage { const FixedUsage(); @override UsageSample? read() => const UsageSample(cpu: 0.05, memUsed: 31, memTotal: 100); @override (int, int)? disk(String path) => null; } /// 캡처용 실제 조립 ([PlatformServices.create] 그대로) 에서 실행마다 다른 값만 정한 값으로: /// CPU · 메모리 ([FixedUsage]) · 디스크 남은 / 전체 (100 GB / 500 GB). 나머지 (엔진 · 저장소 · 기기) 는 실제 것 PlatformServices shotServices() { final r = PlatformServices.create(); return PlatformServices( mediaTool: r.mediaTool, storage: r.storage, createPlayer: r.createPlayer, createMediaPlayer: r.createMediaPlayer, createRecognizer: r.createRecognizer, createTranslator: r.createTranslator, createDownloadBackends: r.createDownloadBackends, createSubtitleProviders: r.createSubtitleProviders, createUpscaler: r.createUpscaler, findLanSmb: r.findLanSmb, diskSpace: (_) async => (107374182400, 536870912000), updater: r.updater, usage: r.usage == null ? null : const FixedUsage(), models: r.models, shell: r.shell, platform: r.platform, ); } /// 캡처용 파일 탐색기 기기: 실제 기기 그대로 (목록 · 드라이브 · 휴지통) 에서 드라이브 남은 / 전체 (TC 모양 창 위 줄) 만 정한 값 TestExplorerDevice shotDevice() => TestExplorerDevice()..space = (_) => (107374182400, 536870912000);