fix(live): 종료 라이브 상대시간을 로컬 기준으로 국제화한다

This commit is contained in:
2026-03-05 11:24:01 +09:00
parent 2e700d4385
commit d83c4b12ec
6 changed files with 123 additions and 2 deletions

View File

@@ -0,0 +1,22 @@
# 종료 라이브 상대시간 국제화 적용
- [x] `GetLatestFinishedLiveResponse``dateUtc`를 기준으로 상대시간 계산 방식 정의 확인
- [x] `LatestFinishedLiveAdapter`에서 UTC -> 기기 타임존 기준 상대시간 계산 로직 적용
- [x] `방금 전 / OO분 전 / OO시간 전 / OO일 전` 문자열 국제화 리소스 적용
- [x] 변경 파일 진단 및 테스트/빌드 검증 수행
## 검증 기록
### 2026-03-05
- 무엇을: `LatestFinishedLiveAdapter`에서 `item.timeAgo` 직접 노출 대신 `dateUtc`를 UTC로 파싱한 후 기기 타임존 기준 현재 시각과 비교해 `방금 전 / 분 전 / 시간 전 / 일 전` 형태로 표시하도록 변경.
- 왜: 서버 문자열 의존을 줄이고, 기기 로컬 타임존 기준의 일관된 상대시간 표기 및 다국어 리소스 기반 UI를 적용하기 위해.
- 어떻게:
- `app/src/main/java/kr/co/vividnext/sodalive/live/LatestFinishedLiveAdapter.kt`에 UTC 파싱(`parseDateUtcToMillis`)과 상대시간 계산(`relativeTimeText`) 추가.
- `app/src/main/res/values/strings.xml`, `app/src/main/res/values-en/strings.xml`, `app/src/main/res/values-ja/strings.xml``latest_finished_live_time_*` 문자열 추가.
- LSP 진단 시도: `.kt`, `.xml` 확장자용 LSP 서버 미구성으로 자동 진단 불가 확인.
- 실행 명령: `./gradlew :app:testDebugUnitTest :app:assembleDebug`
- 결과: `BUILD SUCCESSFUL` (단위 테스트 및 디버그 빌드 성공, 기존 경고만 존재)
- 실행 명령: `./gradlew :app:lintDebug`
- 결과: `:app:lintDebug FAILED` (기존 이슈로 판단되는 `AndroidManifest.xml``com.facebook.FacebookActivity` MissingClass 포함, 총 16 errors/573 warnings)
- 재검증 명령: `./gradlew :app:testDebugUnitTest :app:assembleDebug`
- 재검증 결과: `BUILD SUCCESSFUL` (어댑터 파싱 패턴 보강 후에도 테스트/빌드 정상)