Files
sodalive-android/docs/20260313_알림수신설정페이지개발.md

4.1 KiB

2026-03-13 알림 수신 설정 페이지 개발

완료 기준

  • 알림 리스트 우측 상단 이미지(iv_settings) 터치 시 신규 알림 수신 설정 페이지로 이동한다.
  • 신규 페이지는 기존 알림 설정 페이지를 대체하지 않고 별도 Activity로 생성된다.
  • 페이지는 서비스 알림 + 팔로잉 채널 2개 섹션이며 전체가 하나의 스크롤로 동작한다.
  • 서비스 알림 섹션 UI/토글 액션은 기존 NotificationSettingsActivity와 동일하게 동작한다.
  • 팔로잉 채널 섹션 UI는 기존 팔로잉 리스트와 동일하며 무한 스크롤로 20개씩 로드한다.

체크리스트

  • 기존 진입/재사용 패턴 분석
  • 신규 알림 수신 설정 Activity/ViewModel/Layout 구현
  • 서비스 알림 토글 액션 기존 로직과 동일하게 연결
  • 팔로잉 채널 리스트(20개 페이징/무한 스크롤) 연결
  • 알림 리스트 우측 상단 이미지 진입 연결
  • 검증(진단/테스트/빌드) 수행 및 기록

검증 기록

  • 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 정책으로 차단됨을 확인했다. 내부 네비게이션(PushNotificationListActivityiv_settings)을 통한 진입은 앱 내 수동 확인이 필요하다.