Skip to content

refactor(setting): 편집 화면 3개의 MVI·UiState 신호를 선행 적용 #2179

Closed

Description

@1hyok

작업 유형

refactor — 동작 변경 없는 구조·책임·경계 개선

주 담당 모듈

setting — 설정

개요

프로필 수정, 수신자 수정, 전달 조건 편집은 저장 UseCase와 사진 선택 후속 PR에서 상태·이벤트 처리가 확장된다. 이 코드를 MVI 전환 뒤 다시 작성하지 않도록 #1502에서 세 편집 화면의 전환을 독립 선행으로 분리한다.

Nav3 #1695와 좁은 저장소 주입 #1429를 소비하고 기존 API·입력 검증·성공 후 이동 동작을 보존한다.

  • ProfileEditViewModel, ReceiverEditViewModel, DeliveryConditionViewModel을 MviViewModel<Intent, UiState, ReducerEvent>로 전환한다.
  • 공개 입력은 onIntent로 모으고 비동기 결과 상태 전이는 reduce에서 처리한다.
  • Channel 이벤트를 nullable UiState 신호로 옮기고 화면이 ObserveSignal과 Consume Intent로 소비한다.
  • 저장 중 중복 제출, 성공 신호 유지·소비, 실패 재시도와 취소 전파를 검증한다.
  • 세 VM을 MVI 미전환 허용 목록에서 제거한다.

완료 조건:

  • 세 VM과 화면이 MVI 및 UiState 신호 계약을 사용한다.
  • 설정 단위 테스트, Konsist, 앱 main/unit/androidTest 컴파일을 통과한다.

참고

Activity

  1. added
    refactor동작 변경 없이 코드 구조·책임·경계를 개선하는 작업
    on Sep 27, 2026
  2. added
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Sep 27, 2026
  3. github-actions commented on Sep 27, 2026

    @github-actions
    Contributor

    이 이슈를 맡은 PR 은 #2180 다 (base refactor/1695-setting-nav3).

    base 가 기본 브랜치(develop)가 아니라서 GitHub 은 이 이슈의 Development 칸에
    아무것도 표시하지 않는다. 본문에 Closes #N 이 있어도 마찬가지다 — 그 링크는 기본 브랜치를
    target 하는 PR 에서만 만들어진다.

    PR 이 닫히거나 머지되면 이 이슈의 pr-open 라벨은 다음 리컨사일에서 떨어진다.

  4. removed
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Oct 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:setting설정 기능 영역refactor동작 변경 없이 코드 구조·책임·경계를 개선하는 작업

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions