Skip to content

Commit cf654f1

Browse files
committed
cleanup: remove legacy binary fragment UI
1 parent 92134e2 commit cf654f1

4 files changed

Lines changed: 5 additions & 25 deletions

File tree

app/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,6 @@ dependencies {
147147

148148
implementation "androidx.multidex:multidex:2.0.1"
149149
implementation 'com.google.android.material:material:1.9.0'
150-
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta02'
151150
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
152151
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0'
153152

app/src/main/res/layout/fragment_binary.xml

Lines changed: 0 additions & 21 deletions
This file was deleted.

docs/maintenance/backlog-triage.ko.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# 백로그 1차 분류표
22

3-
이 문서는 2026-03-20 기준으로 열려 있는 GitHub PR 1개, 이슈 42개를 유지보수 재가동 관점에서 다시 묶은 결과다.
3+
이 문서는 2026-03-20 기준으로 열려 있는 GitHub PR 1개, 이슈 40개를 유지보수 재가동 관점에서 다시 묶은 결과다.
44
상태 이름은 `docs/maintenance/issue-triage.md`의 공통 분류를 따른다.
55

66
## 요약
77

88
| 항목 | 수량 | 판단 |
99
| --- | --- | --- |
1010
| 오픈 PR | 1 | 오래된 자동 bump PR과 `#728`에 흡수된 PR은 정리했고, `#726`도 현재 릴리스 워크플로에 superseded 되었다 |
11-
| 오픈 이슈 | 42 | 표면상 42개지만, 실제 작업 묶음은 대략 15~20개 수준으로 수렴한다 |
11+
| 오픈 이슈 | 40 | 표면상 40개지만, 실제 작업 묶음은 대략 15~20개 수준으로 수렴한다 |
1212
| 즉시 닫기/대체 가능 후보 | 감소 | SWF 중복 이슈와 구형 Android 지원 이슈까지 포함해 일부 정리했다 |
1313
| 즉시 구현 후보 | 소수 | 릴리스 파이프라인, storage 정책 마감, crash 재현 클러스터가 우선이다 |
1414

@@ -27,6 +27,7 @@
2727
| 이슈 `#112` | 닫음 | SWF 요청은 `#721`로 통합 |
2828
| 이슈 `#221` | 닫음 | 현재 유지보수 방향은 최신 Android 대응이며 Android 4.4 지원 복구는 범위 밖 |
2929
| 이슈 `#280` | 닫음 | API 23에서 죽던 color picker dialog 경로는 현재 설정 화면에서 이미 제거되어 더 이상 활성 코드 경로가 아님 |
30+
| 이슈 `#376`, `#490` | 닫음 | crash stack이 가리키던 예전 binary fragment/ViewPager2 UI는 현재 Compose 탭으로 대체되었고, 남아 있던 죽은 layout과 의존성도 제거함 |
3031

3132
## 오픈 이슈 클러스터
3233

@@ -40,7 +41,7 @@
4041
| `.so`/ELF/autosetup | `#514`, `#543`, `#576`, `#137` | `covered-by-open-pr` | `#728`에서 64-bit ELF machine type 매핑과 override autosetup 재적용 경로를 먼저 수정했다 | `#728` 병합 후 실제 `.so` 샘플로 재검증하고 남는 parser 문제만 분리 |
4142
| 구형 Android archive 감지 크래시 | `#507`, `#508` | `covered-by-open-pr` | `#728`에서 archive 확장자 fast path와 `NoClassDefFoundError` 방어를 넣어 구형 Android의 Commons Compress 감지 크래시 경로를 우회했다 | `#728` 병합 후 Android 6~7 계열에서 archive chooser와 open 경로를 재확인하고 정리 |
4243
| project-relative path assertion 크래시 | `#512` | `covered-by-open-pr` | `#728`에서 drawer/tab 경로가 project 바깥 항목을 열려다 `getRelPath()` 예외로 죽지 않도록 null-safe guard를 넣었다 | `#728` 병합 후 stale project/drawer entry에서 실패 메시지로만 처리되는지 확인하고 정리 |
43-
| crash report 저신호 묶음 | `#716`, `#672`, `#490`, `#438`, `#376` | `needs-repro` | 제목만으로는 원인 판단이 어렵고 재현 자료가 부족하다 | 공통 템플릿으로 추가 정보 요청 후 재현 안 되면 정리 |
44+
| crash report 저신호 묶음 | `#716`, `#672`, `#438` | `needs-repro` | 제목만으로는 원인 판단이 어렵고 재현 자료가 부족하다 | 공통 템플릿으로 추가 정보 요청 후 재현 안 되면 정리 |
4445
| SWF 요청 | `#721` | `planned-fast-follow` | 모바일 SWF 확장/디컴파일 요구는 남아 있지만 추적 스레드는 하나로 줄었다 | 기준선 병합 후 포맷 확장 우선순위에서 다시 평가 |
4546
| 포맷 확장 요청 | `#120`, `#116`, `#124`, `#129` | `planned-fast-follow` | `#129``#728`에서 generic archive extraction으로 먼저 흡수했고, 나머지는 기준선 복구 후가 맞다 | `#129``#728` 병합 후 정리하고 나머지는 포맷별 난이도와 수요를 다시 평가 |
4647
| export/저장 유틸 | `#123`, `#159`, `#720` | `covered-by-open-pr` | `#728`에서 project ZIP export, detail `.txt` 저장, import 파일명 정규화/테스트를 함께 정리했다 | `#728` 병합 후 실제 기기에서 export/save 동작 확인하고 정리 |

docs/maintenance/implementation-log.ko.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
| 이슈 `#129` `.ar` archive 지원 | 공용 archive extractor를 추가하고, Compose/legacy drawer의 archive 확장 경로를 ZIP 전용 구현에서 generic archive extractor로 교체했다 | archive 판정은 되는데 실제 확장은 ZIP만 되던 불일치를 제거해서 `.ar` 같은 지원 가능한 archive도 실제로 탐색 가능하게 만들었다 | `app/src/main/java/com/kyhsgeekcode/Util.kt`, `app/src/main/java/com/kyhsgeekcode/disassembler/ui/FileDrawerTree.kt`, `app/src/main/java/com/kyhsgeekcode/disassembler/FileDrawerListItem.kt`, `app/src/main/java/com/kyhsgeekcode/disassembler/FileDrawerListAdapter.kt`, `app/src/test/java/com/kyhsgeekcode/disassembler/ArchiveExtractionTest.kt` | 완료 |
4646
| 이슈 `#507`, `#508` 구형 Android archive 감지 크래시 | archive 판정에 확장자 fast path를 추가하고, Commons Compress 탐지/추출 경로가 `NoClassDefFoundError`를 앱 크래시로 터뜨리지 않도록 방어했다. ZIP 추출기는 첫 엔트리 뒤 스트림을 닫던 버그도 같이 수정했다 | Android 6~7 계열에서 `ArchiveStreamFactory.detect(...)`가 내부적으로 사용할 수 없는 클래스를 건드리며 죽던 경로를 우회했고, ZIP/APK/JAR/AAR는 안전한 내장 경로로 처리하도록 바꿔 chooser와 archive open 경계를 안정화했다 | `app/src/main/java/com/kyhsgeekcode/FileExtensions.kt`, `app/src/main/java/com/kyhsgeekcode/Util.kt`, `app/src/test/java/com/kyhsgeekcode/ArchiveDetectionTest.kt`, `app/src/test/java/com/kyhsgeekcode/disassembler/ArchiveExtractionTest.kt` | 완료 |
4747
| 이슈 `#512` project-relative path assertion 크래시 | drawer와 탭 생성 경로가 더 이상 `getRelPath()` 예외를 그대로 올리지 않고, project 경계 밖 항목은 실패 메시지로만 처리하도록 가드했다 | 오래된 project 구조나 stale drawer entry 때문에 relative path 계산이 실패해도 앱이 바로 죽지 않고, invalid entry를 열지 못했다는 정보만 보여주도록 바꿔 project reopen/drawer 경계를 안정화했다 | `app/src/main/java/com/kyhsgeekcode/disassembler/project/ProjectManager.kt`, `app/src/main/java/com/kyhsgeekcode/disassembler/FileDrawerListItem.kt`, `app/src/main/java/com/kyhsgeekcode/disassembler/FileDrawerListAdapter.kt`, `app/src/main/java/com/kyhsgeekcode/disassembler/ui/FileDrawerTree.kt`, `app/src/main/java/com/kyhsgeekcode/disassembler/viewmodel/MainViewModel.kt`, `app/src/test/java/com/kyhsgeekcode/disassembler/ProjectManagerTest.kt` | 완료 |
48+
| 이슈 `#376`, `#490` 예전 binary fragment UI 크래시 정리 | 현재 활성 binary UI는 Compose 기반 탭이므로, 더 이상 쓰이지 않는 `fragment_binary.xml``viewpager2` 의존성을 제거했다 | crash stack이 가리키던 `BinaryOverviewFragment` / `FragmentStateAdapter` / `ViewPager2` 경로는 최신 기준선에서 더 이상 도달할 수 없고, 남아 있던 죽은 자산까지 제거해서 obsolete 상태를 코드와 문서에서 일치시켰다 | `app/build.gradle`, `app/src/main/res/layout/fragment_binary.xml` | 완료 |
4849
| 프로젝트 경로/파일명 회귀 방지 | 프로젝트 상대경로 계산과 import 파일명 정규화를 pure helper로 분리 | 단위 테스트가 가능하도록 로직을 분리하고 경계 케이스를 줄였다 | `app/src/main/java/com/kyhsgeekcode/disassembler/project/ProjectManager.kt`, `app/src/main/java/com/kyhsgeekcode/disassembler/viewmodel/MainViewModel.kt` | 완료 |
4950
| 회귀 테스트 부재 | `ProjectManager`, 저장소 권한, Hex 레이아웃, import 파일명 테스트 추가 | 최소한의 유지보수 안전망을 확보했다 | `app/src/test/java/com/kyhsgeekcode/disassembler/ProjectManagerTest.kt`, `app/src/test/java/com/kyhsgeekcode/disassembler/PermissionUtilsTest.kt`, `app/src/test/java/com/kyhsgeekcode/disassembler/ui/components/HexViewLayoutTest.kt`, `app/src/test/java/com/kyhsgeekcode/disassembler/viewmodel/ImportedFileNameTest.kt` | 완료 |
5051

0 commit comments

Comments
 (0)