From 2913332a8c86d0f4188d99b07e40ad36fc1ca027 Mon Sep 17 00:00:00 2001 From: RyuJongJin <266630912+RyuJongJin@users.noreply.github.com> Date: Sun, 25 Oct 2026 18:50:48 +0900 Subject: [PATCH] =?UTF-8?q?M4=202=EB=AC=B6=EC=9D=8C:=20LanFinder=20?= =?UTF-8?q?=EC=9D=98=20=EB=A7=9D=20=EC=A2=85=EB=A5=98=20(netKindsOf)=20?= =?UTF-8?q?=EB=A5=BC=20=EB=B0=94=EA=BF=80=20=EC=88=98=20=EC=9E=88=EB=8A=94?= =?UTF-8?q?=20=EC=A0=84=EC=97=AD=20=EB=B3=80=EC=88=98=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EB=B3=B4=ED=86=B5=20=ED=95=A8=EC=88=98=EB=A1=9C=20+=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=20=EC=A0=90=EA=B2=80=20=EB=B3=B5=EC=82=AC=20?= =?UTF-8?q?=EC=B0=BD=20=EC=9E=A5=EB=A9=B4=EC=9D=80=20=EC=B0=BD=20=EC=95=A0?= =?UTF-8?q?=EB=8B=88=EB=A9=94=EC=9D=B4=EC=85=98=20=EB=92=A4=EC=97=90=20?= =?UTF-8?q?=EC=B0=8D=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - lan_scan.netKindsOf: 시험은 그 위 (WifiShareNet · findLanSmb) 를 넘기므로 바꿀 자리가 필요 없음 - 보통 함수로 - 점검만 (바꾸지 않음): TorService.dataDir 는 main 이 한 번 정하는 설정 (원격 서버 목록과 같은 꼴) · WebProxy.target 은 이미 주입 자리 · keepPlayingWhenHidden 은 켤 때 설정에 한 번 이음 - 시험: explorer_use_check 의 "복사 단추" 장면은 창이 뜨며 어두운 막이 덮이는 중에 찍혀 [←] 밝기가 흔들렸다 - 400ms 뒤에 찍음 (두 번 base11 214장 0px) - 사용자가 보게 될 동작: 없음 Co-Authored-By: Claude Opus 5.5 --- integration_test/explorer_use_check_test.dart | 6 +++++- lib/core/lan_scan.dart | 7 +++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/integration_test/explorer_use_check_test.dart b/integration_test/explorer_use_check_test.dart index ebb9b5d..dc134d9 100644 --- a/integration_test/explorer_use_check_test.dart +++ b/integration_test/explorer_use_check_test.dart @@ -216,7 +216,11 @@ void main() { await step('선택 켜기', selectOn); await step('ep02 표시 단추', () => t.tap(mark('ep02.mkv'))); await step('ep03 표시 단추', () => t.tap(mark('ep03.mkv'))); - await step('복사 단추', () => t.tap(tip('복사'))); + // 복사 창이 뜨며 뒤의 어두운 막이 덮이는 중에 찍히면 [←] 밝기가 실행마다 달라 (관리자 10/25) - 창 애니메이션이 끝난 뒤에 + await step('복사 단추', () async { + await t.tap(tip('복사')); + await t.pump(const Duration(milliseconds: 400)); + }); await step('복사 확인 누르기', () async { if (find.byType(Dialog).evaluate().isNotEmpty) { await okDialog(); diff --git a/lib/core/lan_scan.dart b/lib/core/lan_scan.dart index a955bca..9e893dd 100644 --- a/lib/core/lan_scan.dart +++ b/lib/core/lan_scan.dart @@ -27,10 +27,9 @@ final _virtualIf = RegExp(r'vethernet|hyper-v|virtualbox|vbox|vmware|vmnet|wsl|docker|^br-|^veth|virbr|^tun|^tap|^ppp|^ipsec|wireguard|^wg|zerotier|openvpn|tailscale'); /// 28 APK 점검 · 관리자 판단 (10/19): Android 의 망 종류 (ConnectivityManager · NetworkCapabilities) - 주소 → "wifi" · "ethernet" · -/// "cellular" · "vpn" · "other". 판단하지 못하면 (Android 가 아님 · 오류) null → 연결 이름으로 (예전 방식). 시험에서 바꾼다 -Future?> Function() netKindsOf = _androidNetKinds; - -Future?> _androidNetKinds() async { +/// "cellular" · "vpn" · "other". 판단하지 못하면 (Android 가 아님 · 오류) null → 연결 이름으로 (예전 방식). +/// 설계 M4 LanFinder: 바꿀 수 있는 전역 변수였으나 시험은 그 위 (WifiShareNet · findLanSmb) 를 넘기므로 보통 함수로 +Future?> netKindsOf() async { if (!Platform.isAndroid) return null; try { final m = await const MethodChannel('jj_mkvmaker/android').invokeMethod>('netKinds');