3.0 KiB
3.0 KiB
연령제한 설정 UI 표시 조건 수정
작업 목표
- 라이브 생성, 콘텐츠 업로드 페이지의 연령제한 설정 UI 표시 조건을 접속국가와
isAdultContentVisible기준으로 조정한다.
체크리스트
- AC1: 공통 필수조건으로
isAdultContentVisible == true일 때만 연령제한 설정 UI를 표시한다.- QA:
isAdultContentVisible=false에서 UI 미표시,isAdultContentVisible=true에서 국가별 추가 조건 적용 확인
- QA:
- AC2: 접속국가가 한국(
countryCode == "KR")인 경우isAuth == true일 때만 연령제한 설정 UI를 표시한다.- QA: KR +
isAuth=false미표시, KR +isAuth=true표시
- QA: KR +
- AC3: 접속국가가 한국이 아닌 경우
isAuth와 무관하게 AC1만 충족하면 UI를 표시한다.- QA: non-KR +
isAdultContentVisible=true에서isAuthtrue/false 모두 표시
- QA: non-KR +
- AC4: 라이브 생성/콘텐츠 업로드 양쪽 페이지에 동일 규칙이 적용된다.
- QA: 두 화면에서 동일 입력 조건 대비 동일 표시 결과 확인
- AC5: 변경 파일 진단/테스트/빌드 검증을 통과한다.
- QA: Kotlin LSP 미지원 환경 확인,
./gradlew :app:testDebugUnitTest,./gradlew :app:assembleDebug
- QA: Kotlin LSP 미지원 환경 확인,
검증 기록
-
무엇/왜/어떻게: 라이브 생성(
LiveRoomCreateActivity)과 콘텐츠 업로드(AudioContentUploadActivity)의 연령제한 UI 노출 조건을 공통 정책(AdultContentVisibilityPolicy)으로 통합했다. 요청 조건(필수isAdultContentVisible=true, KR 추가isAuth=true)을 두 화면에서 동일하게 적용하기 위해 기존isAuth단일 조건을 정책 함수 호출로 교체했다.- 실행 명령: 코드 수정(해당 3개 Kotlin 파일 + 정책 테스트 1개 파일 추가)
- 결과: 두 화면 모두
shouldShowAdultRestrictionSetting()기반으로llSetAdult표시 및 연령선택 핸들러 등록 조건이 동작하도록 반영됨
-
무엇/왜/어떻게: 정책 로직의 조건 분기 오동작을 방지하기 위해 단위 테스트(
AdultContentVisibilityPolicyTest)로 KR/non-KR,isAdultContentVisible,isAuth, 빈countryCode조합을 검증했다.- 실행 명령:
./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.common.AdultContentVisibilityPolicyTest" - 결과: BUILD SUCCESSFUL
- 실행 명령:
-
무엇/왜/어떻게: 변경 영향 범위의 회귀 확인을 위해 디버그 단위 테스트 전체와 디버그 빌드를 수행했다.
- 실행 명령:
./gradlew :app:testDebugUnitTest - 결과: BUILD SUCCESSFUL
- 실행 명령:
./gradlew :app:assembleDebug - 결과: BUILD SUCCESSFUL
- 실행 명령:
-
무엇/왜/어떻게: 정적 진단 요구사항 확인을 위해 LSP diagnostics를 시도했으나 현재 실행 환경에는
.kt용 LSP 서버가 구성되어 있지 않음을 확인했다. 대신 Gradle 컴파일/테스트/빌드 성공으로 Kotlin 컴파일 오류 유무를 검증했다.- 실행 명령:
lsp_diagnostics(4개 Kotlin 파일) - 결과:
No LSP server configured for extension: .kt
- 실행 명령: