feat(notification): 알림 수신 설정 화면을 추가한다
This commit is contained in:
38
docs/20260313_알림수신설정페이지개발.md
Normal file
38
docs/20260313_알림수신설정페이지개발.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# 2026-03-13 알림 수신 설정 페이지 개발
|
||||
|
||||
## 완료 기준
|
||||
- [x] 알림 리스트 우측 상단 이미지(`iv_settings`) 터치 시 신규 알림 수신 설정 페이지로 이동한다.
|
||||
- [x] 신규 페이지는 기존 알림 설정 페이지를 대체하지 않고 별도 Activity로 생성된다.
|
||||
- [x] 페이지는 `서비스 알림` + `팔로잉 채널` 2개 섹션이며 전체가 하나의 스크롤로 동작한다.
|
||||
- [x] `서비스 알림` 섹션 UI/토글 액션은 기존 `NotificationSettingsActivity`와 동일하게 동작한다.
|
||||
- [x] `팔로잉 채널` 섹션 UI는 기존 팔로잉 리스트와 동일하며 무한 스크롤로 20개씩 로드한다.
|
||||
|
||||
## 체크리스트
|
||||
- [x] 기존 진입/재사용 패턴 분석
|
||||
- [x] 신규 알림 수신 설정 Activity/ViewModel/Layout 구현
|
||||
- [x] 서비스 알림 토글 액션 기존 로직과 동일하게 연결
|
||||
- [x] 팔로잉 채널 리스트(20개 페이징/무한 스크롤) 연결
|
||||
- [x] 알림 리스트 우측 상단 이미지 진입 연결
|
||||
- [x] 검증(진단/테스트/빌드) 수행 및 기록
|
||||
|
||||
## 검증 기록
|
||||
- 2026-03-13
|
||||
- 무엇/왜/어떻게: 작업 시작 전 요구사항을 완료 기준으로 고정하고 구현 체크리스트를 문서화했다.
|
||||
- 실행 명령: `glob(pattern="docs/*.md", path="/Users/klaus/Develop/sodalive/Android/SodaLive")`, `read(filePath="/Users/klaus/Develop/sodalive/Android/SodaLive/docs/20260312_알림리스트구현.md")`
|
||||
- 결과: 기존 문서 형식을 확인하고 신규 계획 문서를 생성했다.
|
||||
- 2026-03-13
|
||||
- 무엇/왜/어떻게: 알림 리스트 진입점과 재사용 가능한 알림/팔로잉 구현 패턴을 교차 확인해 신규 화면 구성 근거를 확보했다.
|
||||
- 실행 명령: `background_output(task_id="bg_8f327a73")`, `background_output(task_id="bg_d549966d")`, `read(filePath="/Users/klaus/Develop/sodalive/Android/SodaLive/app/src/main/java/kr/co/vividnext/sodalive/home/pushnotification/PushNotificationListActivity.kt")`, `read(filePath="/Users/klaus/Develop/sodalive/Android/SodaLive/app/src/main/java/kr/co/vividnext/sodalive/settings/notification/NotificationSettingsActivity.kt")`, `read(filePath="/Users/klaus/Develop/sodalive/Android/SodaLive/app/src/main/java/kr/co/vividnext/sodalive/following/FollowingCreatorActivity.kt")`
|
||||
- 결과: `iv_settings` 클릭 미연결 상태를 확인했고, 토글/팔로잉 리스트 패턴 및 페이징 구조를 신규 화면에 반영했다.
|
||||
- 2026-03-13
|
||||
- 무엇/왜/어떻게: 신규 화면/연결 코드의 정적 진단 가능 여부를 확인했다.
|
||||
- 실행 명령: `lsp_diagnostics(filePath="/Users/klaus/Develop/sodalive/Android/SodaLive/app/src/main/java/kr/co/vividnext/sodalive/settings/notification/NotificationReceiveSettingsActivity.kt")`, `lsp_diagnostics(filePath="/Users/klaus/Develop/sodalive/Android/SodaLive/app/src/main/java/kr/co/vividnext/sodalive/settings/notification/NotificationReceiveSettingsViewModel.kt")`, `lsp_diagnostics(filePath="/Users/klaus/Develop/sodalive/Android/SodaLive/app/src/main/res/layout/activity_notification_receive_settings.xml")`
|
||||
- 결과: 현 환경은 `.kt`, `.xml` LSP 서버 미구성으로 진단 실행이 불가함을 확인했다.
|
||||
- 2026-03-13
|
||||
- 무엇/왜/어떻게: 구현 변경분의 컴파일/테스트/코드스타일 상태를 검증해 배포 전 안정성을 확인했다.
|
||||
- 실행 명령: `./gradlew :app:assembleDebug :app:testDebugUnitTest :app:ktlintCheck`
|
||||
- 결과: `BUILD SUCCESSFUL`.
|
||||
- 2026-03-13
|
||||
- 무엇/왜/어떻게: 연결된 단말에서 수동 실행 가능성을 점검했다.
|
||||
- 실행 명령: `adb devices`, `./gradlew :app:installDebug`, `adb shell am start -W -n kr.co.vividnext.sodalive.debug/kr.co.vividnext.sodalive.settings.notification.NotificationReceiveSettingsActivity`, `adb shell run-as kr.co.vividnext.sodalive.debug am start --user 0 -n kr.co.vividnext.sodalive.debug/kr.co.vividnext.sodalive.settings.notification.NotificationReceiveSettingsActivity`
|
||||
- 결과: APK 설치는 성공했고, 쉘 직접 실행은 non-exported Activity 정책으로 차단됨을 확인했다. 내부 네비게이션(`PushNotificationListActivity`의 `iv_settings`)을 통한 진입은 앱 내 수동 확인이 필요하다.
|
||||
Reference in New Issue
Block a user