From 5099795d2937b6cc6243c7134f43dabffef27c7a Mon Sep 17 00:00:00 2001 From: klaus Date: Sat, 27 Jun 2026 06:02:48 +0900 Subject: [PATCH] =?UTF-8?q?docs(content):=20chevron=20=ED=91=9C=EC=8B=9C?= =?UTF-8?q?=20=EA=B2=80=EC=A6=9D=EC=9D=84=20=EA=B8=B0=EB=A1=9D=ED=95=9C?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/20260627_콘텐츠_전체보기/plan-task.md | 25 ++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/docs/20260627_콘텐츠_전체보기/plan-task.md b/docs/20260627_콘텐츠_전체보기/plan-task.md index e3423fdc..bdf74e1d 100644 --- a/docs/20260627_콘텐츠_전체보기/plan-task.md +++ b/docs/20260627_콘텐츠_전체보기/plan-task.md @@ -129,7 +129,7 @@ ### Phase 1: 기존 구조 확인과 작업 경계 고정 -- [ ] **Task 1.1: PRD와 기존 구현 상태 대조** +- [x] **Task 1.1: PRD와 기존 구현 상태 대조** - 확인: - `docs/20260627_콘텐츠_전체보기/prd.md` - `app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragment.kt` @@ -144,8 +144,12 @@ - Expected: 홈 title helper와 콘텐츠 title helper, chevron view id가 확인된다. - 검증 기록: - 구현 시 이 Task 아래에 명령, 결과, 확인 내용을 한국어로 누적한다. + - 2026-06-27 실행: `rg -n "setTitle\(|ivSectionTitleChevron|viewHomeFirstAudioTitle|viewContentNewAndHotTitle|viewContentOriginalSeriesTitle" app/src/main/java/kr/co/vividnext/sodalive/v2/main app/src/main/res/layout/view_section_title.xml` + - 결과: `view_section_title.xml`의 `iv_section_title_chevron`, `HomeMainFragment`의 `setTitle(titleResId, showMore)`, `ContentMainFragment`의 section title 설정 지점을 확인했다. + - 확인: 홈 title helper는 `showMore`로 chevron 표시를 이미 지원하며 `viewHomeFirstAudioTitle`은 `showMore = true` 상태였다. 콘텐츠 title helper는 기존에 chevron을 숨기고 있어 Phase 2에서 helper 확장이 필요했다. + - 확인: 이번 Phase 1~2 범위에서는 레거시 `audio_content/*` 파일을 직접 수정하지 않았다. -- [ ] **Task 1.2: 기존 콘텐츠 전체 탭 이동 가능 지점 확인** +- [x] **Task 1.2: 기존 콘텐츠 전체 탭 이동 가능 지점 확인** - 확인: - `app/src/main/java/kr/co/vividnext/sodalive/v2/main/MainV2Activity.kt` - `app/src/main/java/kr/co/vividnext/sodalive/v2/main/content/ContentMainFragment.kt` @@ -160,12 +164,15 @@ - Expected: type/sort 선택과 bottom tab 전환 지점이 확인된다. - 검증 기록: - 구현 시 이 Task 아래에 명령, 결과, 확인 내용을 한국어로 누적한다. + - 2026-06-27 실행: `rg -n "MainContentAllType|ContentSort|showAllContent|changeType|changeSort|clickTab\(MainV2Tab.CONTENT\)" app/src/main/java/kr/co/vividnext/sodalive/v2/main` + - 결과: `MainV2Activity.clickTab(MainV2Tab.CONTENT)`, `ContentMainFragment.showAllContent()`, `ContentAllTabViewModel.changeType/changeSort`, `MainContentAllType.ORIGINAL/AUDIO/FREE/POINT`, `ContentSort` 사용 지점을 확인했다. + - 확인: Phase 1에서는 기존 콘텐츠 전체 탭 이동 가능 지점만 확인했고, 실제 contract/API 추가는 Phase 3 범위로 남겼다. --- ### Phase 2: 홈/콘텐츠 추천 섹션 chevron 먼저 표시 -- [ ] **Task 2.1: 홈 추천 탭 FIRST 섹션 chevron 표시** +- [x] **Task 2.1: 홈 추천 탭 FIRST 섹션 chevron 표시** - 수정: - `app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragment.kt` - 테스트: @@ -179,8 +186,12 @@ - Expected: 홈 FIRST chevron 표시 source 테스트 PASS. - 검증 기록: - 구현 시 이 Task 아래에 명령, 결과, 확인 내용을 한국어로 누적한다. + - 2026-06-27 확인: `HomeMainFragment`의 `viewHomeFirstAudioTitle.setTitle(R.string.home_recommendation_section_first_audio_contents, showMore = true)`가 이미 적용되어 있었다. + - 2026-06-27 테스트 추가: `HomeMainFragmentSourceTest`를 생성해 FIRST 섹션 `showMore = true`와 Phase 2 범위에서 click listener가 아직 연결되지 않았음을 검증했다. + - 2026-06-27 실행: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentSourceTest"` + - 결과: PASS. -- [ ] **Task 2.2: 콘텐츠 추천 탭 section title helper 확장** +- [x] **Task 2.2: 콘텐츠 추천 탭 section title helper 확장** - 수정: - `app/src/main/java/kr/co/vividnext/sodalive/v2/main/content/ContentMainFragment.kt` - 테스트: @@ -195,6 +206,12 @@ - Expected: 콘텐츠 추천 chevron 표시/숨김 source 테스트 PASS. - 검증 기록: - 구현 시 이 Task 아래에 명령, 결과, 확인 내용을 한국어로 누적한다. + - 2026-06-27 RED 실행: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.content.ContentMainFragmentSourceTest"` + - RED 결과: 신규 `content recommendation section titles show only Phase 2 chevrons` 테스트가 `ContentMainFragmentSourceTest.kt:463`에서 실패했다. 원인은 콘텐츠 title helper가 `showMore`를 지원하지 않고 chevron을 항상 숨기는 기존 구현이었다. + - 2026-06-27 구현: `ContentMainFragment`의 `ViewSectionTitleBinding.setTitle(titleResId, showMore = false)`를 추가하고 `오직 보이스온에서만!`, `새로 올라온 오디오`, `New&Hot`, `무료 오디오`, `포인트 오디오`에만 `showMore = true`를 지정했다. `댓글 많은 오디오`, `추천 오디오`는 기본값 `false`를 유지했다. + - 2026-06-27 GREEN 실행: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.content.ContentMainFragmentSourceTest"` + - GREEN 결과: PASS. + - 참고: 홈/콘텐츠 source 테스트를 병렬 실행하던 중 한 번 `:app:kspDebugKotlin` generated file 접근 오류가 발생했으나, 동일 콘텐츠 테스트 단독 재실행 시 정상 PASS했다. ---