docs(home): 추천 상태 연결 검증을 기록한다
This commit is contained in:
@@ -413,7 +413,7 @@
|
|||||||
|
|
||||||
### Phase 9: 라우팅, empty/error/loading 정책 연결
|
### Phase 9: 라우팅, empty/error/loading 정책 연결
|
||||||
|
|
||||||
- [ ] **Task 9.1: Fragment observe와 loading/toast 연결**
|
- [x] **Task 9.1: Fragment observe와 loading/toast 연결**
|
||||||
- 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/main/HomeMainFragment.kt`
|
- 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/main/HomeMainFragment.kt`
|
||||||
- 구현 내용:
|
- 구현 내용:
|
||||||
- `HomeRecommendationViewModel` 주입
|
- `HomeRecommendationViewModel` 주입
|
||||||
@@ -423,7 +423,7 @@
|
|||||||
- `toastLiveData`는 `BaseFragment.showToast()` 사용
|
- `toastLiveData`는 `BaseFragment.showToast()` 사용
|
||||||
- 검증: API 실패 시 앱 크래시 없이 toast/error 처리.
|
- 검증: API 실패 시 앱 크래시 없이 toast/error 처리.
|
||||||
|
|
||||||
- [ ] **Task 9.2: 클릭 라우팅 연결**
|
- [x] **Task 9.2: 클릭 라우팅 연결**
|
||||||
- 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/main/HomeMainFragment.kt`
|
- 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/main/HomeMainFragment.kt`
|
||||||
- 확인: 기존 상세 화면 Activity/Fragment 라우팅 파일
|
- 확인: 기존 상세 화면 Activity/Fragment 라우팅 파일
|
||||||
- 구현 내용:
|
- 구현 내용:
|
||||||
@@ -542,3 +542,8 @@
|
|||||||
- 2026-06-05: 사업자 정보 `더보기/접기`를 하단 별도 버튼에서 본문 inline action으로 변경했다. `tv_home_business_info_toggle` View를 제거하고 `HomeBusinessInfoBinder`에서 접힘 상태는 `… 더보기`, 펼침 상태는 본문 뒤 `접기`를 clickable span으로 붙이도록 구현했다. `HomeMainFragmentLayoutTest`에 별도 toggle View 제거, inline 더보기 suffix, clickable span 확장/접기, 3줄 이하 action 미노출 테스트를 추가했다. 검증으로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest"`, `./gradlew :app:mergeDebugResources`, `./gradlew :app:compileDebugKotlin`, `./gradlew :app:ktlintCheck`, `./gradlew :app:testDebugUnitTest`를 실행했고 모두 BUILD SUCCESSFUL을 확인했다.
|
- 2026-06-05: 사업자 정보 `더보기/접기`를 하단 별도 버튼에서 본문 inline action으로 변경했다. `tv_home_business_info_toggle` View를 제거하고 `HomeBusinessInfoBinder`에서 접힘 상태는 `… 더보기`, 펼침 상태는 본문 뒤 `접기`를 clickable span으로 붙이도록 구현했다. `HomeMainFragmentLayoutTest`에 별도 toggle View 제거, inline 더보기 suffix, clickable span 확장/접기, 3줄 이하 action 미노출 테스트를 추가했다. 검증으로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest"`, `./gradlew :app:mergeDebugResources`, `./gradlew :app:compileDebugKotlin`, `./gradlew :app:ktlintCheck`, `./gradlew :app:testDebugUnitTest`를 실행했고 모두 BUILD SUCCESSFUL을 확인했다.
|
||||||
- 2026-06-05: 사업자 정보 inline `더보기`가 말줄임표와 너무 붙어 보여 `… 더보기`에서 `… 더보기`로 간격을 한 칸 늘렸다. 관련 inline suffix 테스트 기대값도 함께 갱신한다.
|
- 2026-06-05: 사업자 정보 inline `더보기`가 말줄임표와 너무 붙어 보여 `… 더보기`에서 `… 더보기`로 간격을 한 칸 늘렸다. 관련 inline suffix 테스트 기대값도 함께 갱신한다.
|
||||||
- 2026-06-05: 펼침 상태의 `접기` action도 본문에 붙어 보이지 않도록 action 앞에 공백 2칸을 추가했다. 접힘 상태의 `더보기` 간격과 동일한 시각적 여백을 유지하도록 테스트 기대값을 갱신했다.
|
- 2026-06-05: 펼침 상태의 `접기` action도 본문에 붙어 보이지 않도록 action 앞에 공백 2칸을 추가했다. 접힘 상태의 `더보기` 간격과 동일한 시각적 여백을 유지하도록 테스트 기대값을 갱신했다.
|
||||||
|
|
||||||
|
- 2026-06-05: Phase 9 RED 검증으로 `HomeMainFragmentLayoutTest`에 `home main fragment phase9 replaces sample content with viewmodel state binding`, `home main fragment phase9 connects loading toast and follow all callbacks` 소스 계약 테스트를 추가했다. 최초 실행은 테스트 source 경로 기준 문제로 `FileNotFoundException`이 발생해 경로를 보정했고, 이후 `phase6SampleContent`가 남아 있어 `AssertionError`로 RED 실패하는 것을 확인했다.
|
||||||
|
- 2026-06-05: Phase 9.1로 `HomeMainFragment`에서 임시 `phase6SampleContent()`와 sample helper를 제거하고 `HomeRecommendationViewModel`을 주입해 `recommendationStateLiveData`, `isLoading`, `toastLiveData` observe 및 `loadRecommendations()` 호출을 연결했다. `Content`는 섹션 bind, `Empty`/`Error`는 빈 content bind로 섹션을 숨기고, loading은 `LoadingDialog`, toast는 `BaseFragment.showToast()`로 처리한다.
|
||||||
|
- 2026-06-05: Phase 9.2로 live/banner/popular community callback을 Fragment에 연결하고, 기존 라우팅 extra가 확인된 creator/audio/AI/community만 최소 Intent 이동으로 연결했다. 목적지가 확정되지 않은 live/banner는 adapter callback을 Fragment로 위임하되 no-op으로 유지했다. `HomeRecentActivityCreatorAdapter`, `HomeRecentDebutCreatorAdapter`, `HomeFirstAudioAdapter`, `HomeAiCharacterAdapter`, `HomeGenreCreatorAdapter`, `HomeCheerCreatorAdapter`에는 기존 호출부 영향이 없도록 기본값 있는 click callback을 추가했다.
|
||||||
|
- 2026-06-05: Phase 9 GREEN/검증으로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest.home main fragment phase9*"`, `./gradlew :app:compileDebugKotlin`, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest"`, `./gradlew :app:mergeDebugResources`, `./gradlew :app:ktlintCheck`, `./gradlew :app:testDebugUnitTest`를 실행했고 모두 BUILD SUCCESSFUL을 확인했다. 최초 병렬 `compileDebugKotlin`은 Kotlin output directory 경합으로 실패했으나 순차 재실행에서 성공해 캐시/경합 문제로 분리했다. `lsp_diagnostics`는 Kotlin/XML LSP 미구성으로 실행하지 못해 Gradle compile/test/ktlint로 보완했다.
|
||||||
|
|||||||
Reference in New Issue
Block a user