docs(v2): 라이브 액션 검증 기록을 갱신한다
This commit is contained in:
@@ -129,7 +129,7 @@ Access 판단 결과를 기존 로그인, 본인인증, 설정 이동 UX에 연
|
||||
- raw `RESULT_OK`, nullable extra, 화면별 boolean은 `v2` adapter에서 명시적인 도메인 Action 결과 또는 change 타입으로 변환한다.
|
||||
- feature는 변환된 결과를 `handleContentChange`, `handleLiveChange`, `handleCommunityChange`, `handleChatChange`와 같은 의미 있는 단일 handler에 전달한다.
|
||||
- 단일 handler는 현재 feature가 조합하는 projection 갱신, Activity result 재전달, navigation, 화면별 후처리를 결정한다.
|
||||
- 도메인 Action은 `refreshHome`, `refreshTab`, Fragment 참조처럼 호출 화면의 구성을 나타내는 callback을 입력으로 받지 않는다.
|
||||
- 순수 도메인 정책과 결과 타입은 `refreshHome`, `refreshTab`, Fragment 참조처럼 호출 화면의 구성을 나타내는 callback을 입력으로 받지 않는다. Android Dialog/Activity를 직접 조립하는 presentation adapter는 레거시 UI side effect를 연결하기 위해 호출 화면 후처리 callback을 주입받을 수 있으나, 해당 callback은 도메인 정책과 결과 타입으로 전파하지 않는다.
|
||||
- Repository 또는 Action이 현재 화면 안에서 직접 반환하는 비동기 결과는 불필요하게 `ActivityResult`로 변환하지 않고 같은 단일 handler에 전달한다.
|
||||
- 발행자와 처리자가 직접 연결되고 갱신 대상이 한 feature 내부에 있으면 명시적인 결과 전달을 기본값으로 사용한다.
|
||||
- Activity 밖의 서로 독립적인 소비자가 여러 개 생기거나 백그라운드 변경을 함께 관찰해야 할 때만 Activity 범위 `SharedFlow`, application event 또는 Repository Flow를 검토한다.
|
||||
@@ -159,13 +159,17 @@ Access 판단 결과를 기존 로그인, 본인인증, 설정 이동 UX에 연
|
||||
- 라이브 상세 조회, 입장 가능 여부, 무료/결제, 비밀번호, 상세 표시 분기를 한 번만 구현한다.
|
||||
- 기존 오디오 서비스 중단, 라이브 입장 API, 예약/결제/비밀번호 Dialog, `LiveRoomActivity` 이동 동작을 보존한다.
|
||||
- Home, Creator Channel, On-air가 동일한 Live 진입점을 사용한다.
|
||||
- Home 새로고침과 같은 호출 화면 전용 후처리는 Live 규칙과 분리된 callback/result 처리로 유지한다.
|
||||
- Home 새로고침과 같은 호출 화면 전용 후처리는 Live 규칙과 분리된 callback/result 처리로 유지한다. `LiveActionCoordinator`는 레거시 Dialog/Activity를 조립하는 presentation adapter이므로 `refreshHome` callback을 주입받을 수 있지만, `LiveEntryPolicy`, `LiveEntryDecision`, `LiveCreationResult`에는 호출 화면 callback을 포함하지 않는다.
|
||||
- 라이브 생성처럼 하위 Activity가 결과를 반환하는 흐름은 raw `ActivityResult`를 명시적 Live 결과로 변환하고 Creator Channel의 단일 Live result handler에서 입장 또는 안내 후처리를 결정한다.
|
||||
- 라이브 상세의 channel 정보가 없어 unavailable로 분기되는 경우 성인 접근 확인과 오디오 중단보다 먼저 처리한다.
|
||||
- unavailable callback이 있으면 호출 화면의 후처리를 실행하고, callback이 없으면 호출자가 전달한 성인 여부와 상세 응답의 성인 여부를 OR로 합성한 동일 조건으로 접근을 확인한 뒤 상세 화면을 표시한다.
|
||||
- 라이브 생성 `RESULT_OK`는 즉시 입장할 수 없는 결과도 Home을 새로고침하며, channel 정보가 있지만 room ID가 유효하지 않으면 `RefreshOnly`로 변환한다. 실패 또는 취소만 `Ignored`로 변환한다.
|
||||
- 레거시 `LiveViewModel`, Dialog, Activity는 수정하지 않고 adapter로 사용한다.
|
||||
|
||||
#### Edge Cases
|
||||
- 방 관리자 본인 입장, 무료/결제 완료, 비밀번호 방, 유료 방 조건의 기존 분기 순서를 유지한다.
|
||||
- 라이브 상세에 channel 정보가 없는 경우 기존처럼 상세 화면 흐름을 사용한다.
|
||||
- 호출자가 전달한 성인 여부와 재조회한 상세 응답의 성인 여부가 다르면 하나라도 `true`인 경우 성인 접근을 요구한다.
|
||||
- 입장 성공 이후 호출 화면 새로고침 여부가 달라도 입장 정책은 중복 구현하지 않는다.
|
||||
|
||||
### Feature F: Creator, Community, Chat 공통 Action
|
||||
|
||||
Reference in New Issue
Block a user