Files
sodalive-android/docs/20260305_종료라이브상대시간국제화적용.md

1.9 KiB

종료 라이브 상대시간 국제화 적용

  • GetLatestFinishedLiveResponsedateUtc를 기준으로 상대시간 계산 방식 정의 확인
  • LatestFinishedLiveAdapter에서 UTC -> 기기 타임존 기준 상대시간 계산 로직 적용
  • 방금 전 / OO분 전 / OO시간 전 / OO일 전 문자열 국제화 리소스 적용
  • 변경 파일 진단 및 테스트/빌드 검증 수행

검증 기록

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.xmllatest_finished_live_time_* 문자열 추가.
    • LSP 진단 시도: .kt, .xml 확장자용 LSP 서버 미구성으로 자동 진단 불가 확인.
    • 실행 명령: ./gradlew :app:testDebugUnitTest :app:assembleDebug
    • 결과: BUILD SUCCESSFUL (단위 테스트 및 디버그 빌드 성공, 기존 경고만 존재)
    • 실행 명령: ./gradlew :app:lintDebug
    • 결과: :app:lintDebug FAILED (기존 이슈로 판단되는 AndroidManifest.xmlcom.facebook.FacebookActivity MissingClass 포함, 총 16 errors/573 warnings)
    • 재검증 명령: ./gradlew :app:testDebugUnitTest :app:assembleDebug
    • 재검증 결과: BUILD SUCCESSFUL (어댑터 파싱 패턴 보강 후에도 테스트/빌드 정상)