From 0e50d7f8d5292f3fd75074770d25c9a1884ff7a7 Mon Sep 17 00:00:00 2001 From: klaus Date: Tue, 2 Jun 2026 16:34:27 +0900 Subject: [PATCH] =?UTF-8?q?docs(home):=20adapter=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EB=B6=84=EB=A6=AC=20=EA=B8=B0=EB=A1=9D=EC=9D=84=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/20260601_메인_홈_추천_UI와_API_연동/plan-task.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/20260601_메인_홈_추천_UI와_API_연동/plan-task.md b/docs/20260601_메인_홈_추천_UI와_API_연동/plan-task.md index 81661bfb..81399b10 100644 --- a/docs/20260601_메인_홈_추천_UI와_API_연동/plan-task.md +++ b/docs/20260601_메인_홈_추천_UI와_API_연동/plan-task.md @@ -239,6 +239,15 @@ - 닉네임은 `18sp` bold, activity type은 `gray_700` tag, 보조 텍스트는 `activityAt` 표시 - 검증: `HomeMainFragmentLayoutTest`에 Figma capsule 치수 회귀 테스트를 추가한다. +- [x] **Task 6.6: 홈 추천 섹션 adapter 파일 분리** + - 삭제: `app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomePhase6Adapters.kt` + - 생성: `HomeLiveAdapter.kt`, `HomeBannerBinder.kt`, `HomeRecentActivityCreatorAdapter.kt`, `HomeRecentDebutCreatorAdapter.kt`, `HomeFirstAudioAdapter.kt`, `HomeAiCharacterAdapter.kt`, `HomeCreatorProfileAdapter.kt`, `HomeGenreCreatorAdapter.kt`, `HomeCheerCreatorAdapter.kt`, `HomeFollowAllButtonBinder.kt`, `HomeRecyclerItemLayoutParams.kt` + - 구현 내용: + - 한 파일에 모여 있던 섹션별 adapter/binder를 섹션 단위 파일로 분리 + - 공통 `RecyclerView.LayoutParams` 생성 로직은 package-private helper로 분리 + - UI 동작과 바인딩 계약은 변경하지 않음 + - 검증: `./gradlew :app:compileDebugKotlin`, `./gradlew :app:testDebugUnitTest --tests kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest`, `./gradlew :app:ktlintCheck`를 실행한다. + --- ### Phase 7: FeedCommunityView 추천 페이지 확장 @@ -380,3 +389,4 @@ - 2026-06-02: Phase 6 리뷰에서 Phase 7 전 빈 `popularCommunityPosts` 상태에도 `인기 커뮤니티` 섹션 container가 기본 노출될 수 있음을 확인했다. `HomeMainFragmentLayoutTest`에 `popular community section is hidden until phase7 binding is implemented` 회귀 테스트를 추가해 수정 전 실패(AssertionError)를 확인했고, `fragment_v2_main_home.xml` 기본 visibility와 `HomeMainFragment.bindPopularCommunitySection()`을 추가한 뒤 동일 테스트가 BUILD SUCCESSFUL로 통과함을 확인했다. - 2026-06-02: Phase 6 수정 후 `./gradlew :app:mergeDebugResources`, `./gradlew :app:compileDebugKotlin`, `./gradlew :app:ktlintCheck`, `./gradlew :app:testDebugUnitTest`를 재실행했고 모두 BUILD SUCCESSFUL을 확인했다. 재리뷰에서 이전 `인기 커뮤니티` 빈 섹션 노출 지적이 수정됐고, Phase 6.1-6.4 범위의 남은 승인 차단 이슈가 없다는 무조건 승인을 받았다. - 2026-06-02: Figma `24:5529` 기준 `방금 활동한 크리에이터` 섹션을 확인해 기존 세로 프로필형 카드가 디자인과 다름을 확인했다. `HomeMainFragmentLayoutTest`에 `recent activity creator item matches figma capsule dimensions` 테스트를 먼저 추가했고, 기존 구현에서 실패하는 RED 상태를 확인했다. 이후 `item_home_recent_activity_creator.xml`을 `244dp x 76dp` 가로 capsule 구조로 변경하고 `HomePhase6Adapters.kt`에서 보조 텍스트를 `activityAt`으로 바인딩하도록 수정했으며, 동일 테스트가 BUILD SUCCESSFUL로 통과함을 확인했다. +- 2026-06-02: `HomePhase6Adapters.kt`에 모든 섹션 adapter/binder가 모여 있어 섹션별 유지보수가 어렵다는 지적에 따라 adapter/binder를 섹션 단위 파일로 분리했다. `HomePhase6Adapters.kt`는 삭제하고, 공통 item margin 생성 로직은 `HomeRecyclerItemLayoutParams.kt`로 분리했다. 동작 변경 없이 파일 구조만 정리하는 리팩터링이다.