Skip to content

Commit

Permalink
[Release] 버전 업데이트 - 1.0.0 (#96)
Browse files Browse the repository at this point in the history
* [Feat] Google Services 추가 (#54)

[build] : google-services 추가

* 버전 업데이트 0.9.2-beta

* [refactor] : 자기소개 api 호출 순서 변경

* [refactor] : 자기소개 바텀 버튼 활성 상태 로직 변경

* [build] : 이미지 blur 이펙트 라이브러리 추가

* [fix] : 보틀 보관함 리스트, 핑퐁 상대방 이미지 블러 효과 처리

* [Docs] Read.me 작성 (#60)

* [docs] : 리드미 제작

* [docs] : 리드미 수정

* [Release] 0.9.2-beta (#59)

* 버전 코드 수정 - 0.9.0-beta

* [fix] : 텍스트 필드 포커스 시 화면 스크롤 영역 정상 작동

* [fix] : 신고 화면 화면이동 로직 수정

* [fix] : 보틀 보관함에 대화중 보틀만 존재시 모래사장 화면 상태의 IN_BOTTLE_BOX 갯수 수정

* [fix] : 자기소개 이미지 선택 안했을 시 생성 불가

* [fix] : 자기소개, 프로필 이미지 API 동시에 전달

* [refactor] : 자기소개 뒤로가기 버튼 클릭 효과 제거

* [feat] : 스플래쉬 화면에서 프로필 제작 상태에 따라 화면 이동 온보딩/모래사장 분기 처리

* [fix] : 카카오 로그인 취소시 로그인 화면 버튼 비활성화 오류 수정

* [build] : google-services 추가

* 버전 코드 수정 및 광고 ID 퍼미션 추가

* [Docs] 이슈, 풀리퀘 템플릿 추가 (#61)

[docs] : 이슈, 풀리퀘 템플릿 추가

* Update issue templates

* [Fix] 프로필 이미지 다운 샘플링 (#65)

* [feat] : 로딩 화면시 터치 제어

* [refactor] : BottlesTopBar Modifier 파라미터 변경

* [fix] : 이미지 다운샘플링 적용

* [feat] : 프로필 이미지 로딩 스크린 적용

* [Feat] Firebase Crashlytics 및 Analytics 셋팅 (#67)

* [build] : 파이어베이스 크래시리틱스 라이브러리 및 플러그인 추가

* [build] : 파이어베이스 관련 플러그인 빌드로직으로 관리

* [refactor] : 로그 삭제

* [feat] : 파이어베이스 애널리틱스 인스턴스 활성화

* [refactor] : 자기소개 화면 이동 오류 수정

* [Feat] 핑퐁 화면 캡처 제한 (#69)

[feat] : 핑퐁 화면 캡처 제한

* [Fix] 모래사장 상태 오류 수정 (#70)

* [fix] : 모래사장 상태 오류 수정

* [refactor] : 온보딩 버튼 클릭 영역 확장

* [Release] 버전 업데이트 - 0.9.3-beta (#71)

* 버전 코드 수정 - 0.9.0-beta

* [fix] : 텍스트 필드 포커스 시 화면 스크롤 영역 정상 작동

* [fix] : 신고 화면 화면이동 로직 수정

* [fix] : 보틀 보관함에 대화중 보틀만 존재시 모래사장 화면 상태의 IN_BOTTLE_BOX 갯수 수정

* [fix] : 자기소개 이미지 선택 안했을 시 생성 불가

* [fix] : 자기소개, 프로필 이미지 API 동시에 전달

* [refactor] : 자기소개 뒤로가기 버튼 클릭 효과 제거

* [feat] : 스플래쉬 화면에서 프로필 제작 상태에 따라 화면 이동 온보딩/모래사장 분기 처리

* [fix] : 카카오 로그인 취소시 로그인 화면 버튼 비활성화 오류 수정

* [build] : google-services 추가

* 버전 업데이트 0.9.2-beta

* [refactor] : 자기소개 api 호출 순서 변경

* [refactor] : 자기소개 바텀 버튼 활성 상태 로직 변경

* [build] : 이미지 blur 이펙트 라이브러리 추가

* [fix] : 보틀 보관함 리스트, 핑퐁 상대방 이미지 블러 효과 처리

* 버전 코드 수정 및 광고 ID 퍼미션 추가

* [Docs] Read.me 작성 (#60)

* [docs] : 리드미 제작

* [docs] : 리드미 수정

* 버전 업데이트 - 0.9.3-beta

* [feat] : 하드웨어 가속 설정

* [Feat] 핑퐁 화면 당겨서 새로고침 기능 구현 (#74)

* [feat] : 핑퐁 화면 Pull To Refresh 기능 구현

* [chore] : 주석 제거

* [feat] : 핑퐁 읽음 처리 usecase 구현

* [feat] : 핑퐁 디테일 화면 생성시 읽음 처리

* [feat] : 시스템 네비게이션 뒤로가기 시 뒤로가기 인텐트 추가

* [Feat] FCM 기능 추가 (#76)

* [build] : FCM 의존성 추가

* [feat] : fcm 토큰 로컬 저장 및 가져오기 구현

* [feat] : fcm 토큰 proto 파일 추가

* [feat] : 토큰 재발행시 fcm 토큰 전달 구현

* [feat] : 토큰 재발행시 fcm 토큰 전달

* [feat] : 카카오 로그인시 fcm 토큰 전달

* [feat] : fcm 토큰 획득 및 fcm 서비스 구현

* [feat] : 모래사장 화면에서 알림 권한 획득 구현

* [Release] 버전 업데이트 - 0.9.4-beta (#77)

* 버전 업데이트 - 0.9.4-beta / 10005

* [hotfix] : 알람 권한 결과 메세지 삭제

* [Feat] Timber 적용 및 FCM 토큰 업데이트 대응 (#82)

* [build] : Timber 라이브러리 추가

* [feat] : Timber 디버그 모드 일때만 활성화 및 FCM 토큰 획득 시 로그 출력

* [build] : app 모듈 - datastore 모듈 의존성 제거

* [build] : data 모듈 Timber 의존성 추가

* [feat] : Token Preferences에 isUpdatedFcmToken Boolean 값 추가

* [feat] : fcm 토큰 업데이트 시 데이터 스토어 로직 정의

* [feat] : fcm 토큰 업데이트 api 구현

* [feat] : AuthRepository - fcm 토큰 로컬 업데이트 및 앱 서버 업데이트 로직 구현

* [feat] : fcm 토큰 업데이트 시 로컬 저장 및 onResum 마다 업데이트 판별시 앱 서버 토큰 전달 로직 구현

* [Feat] 데이터 스토어에 FCM 토큰이 없을 경우 저장하는 로직 구현 (#83)

[feat] : 데이터 스토어에 FCM 토큰이 없을 경우 저장하는 로직

* [Release] 버전 업데이트 - 0.9.5-beta (#84)

* 버전 코드 수정 - 0.9.0-beta

* [fix] : 텍스트 필드 포커스 시 화면 스크롤 영역 정상 작동

* [fix] : 신고 화면 화면이동 로직 수정

* [fix] : 보틀 보관함에 대화중 보틀만 존재시 모래사장 화면 상태의 IN_BOTTLE_BOX 갯수 수정

* [fix] : 자기소개 이미지 선택 안했을 시 생성 불가

* [fix] : 자기소개, 프로필 이미지 API 동시에 전달

* [refactor] : 자기소개 뒤로가기 버튼 클릭 효과 제거

* [feat] : 스플래쉬 화면에서 프로필 제작 상태에 따라 화면 이동 온보딩/모래사장 분기 처리

* [fix] : 카카오 로그인 취소시 로그인 화면 버튼 비활성화 오류 수정

* [build] : google-services 추가

* 버전 업데이트 0.9.2-beta

* [refactor] : 자기소개 api 호출 순서 변경

* [refactor] : 자기소개 바텀 버튼 활성 상태 로직 변경

* [build] : 이미지 blur 이펙트 라이브러리 추가

* [fix] : 보틀 보관함 리스트, 핑퐁 상대방 이미지 블러 효과 처리

* 버전 코드 수정 및 광고 ID 퍼미션 추가

* [Docs] Read.me 작성 (#60)

* [docs] : 리드미 제작

* [docs] : 리드미 수정

* [Release] 버전 업데이트 - 0.9.3-beta (#72)

* [Feat] Google Services 추가 (#54)

[build] : google-services 추가

* 버전 업데이트 0.9.2-beta

* [refactor] : 자기소개 api 호출 순서 변경

* [refactor] : 자기소개 바텀 버튼 활성 상태 로직 변경

* [build] : 이미지 blur 이펙트 라이브러리 추가

* [fix] : 보틀 보관함 리스트, 핑퐁 상대방 이미지 블러 효과 처리

* [Docs] Read.me 작성 (#60)

* [docs] : 리드미 제작

* [docs] : 리드미 수정

* [Release] 0.9.2-beta (#59)

* 버전 코드 수정 - 0.9.0-beta

* [fix] : 텍스트 필드 포커스 시 화면 스크롤 영역 정상 작동

* [fix] : 신고 화면 화면이동 로직 수정

* [fix] : 보틀 보관함에 대화중 보틀만 존재시 모래사장 화면 상태의 IN_BOTTLE_BOX 갯수 수정

* [fix] : 자기소개 이미지 선택 안했을 시 생성 불가

* [fix] : 자기소개, 프로필 이미지 API 동시에 전달

* [refactor] : 자기소개 뒤로가기 버튼 클릭 효과 제거

* [feat] : 스플래쉬 화면에서 프로필 제작 상태에 따라 화면 이동 온보딩/모래사장 분기 처리

* [fix] : 카카오 로그인 취소시 로그인 화면 버튼 비활성화 오류 수정

* [build] : google-services 추가

* 버전 코드 수정 및 광고 ID 퍼미션 추가

* [Docs] 이슈, 풀리퀘 템플릿 추가 (#61)

[docs] : 이슈, 풀리퀘 템플릿 추가

* Update issue templates

* [Fix] 프로필 이미지 다운 샘플링 (#65)

* [feat] : 로딩 화면시 터치 제어

* [refactor] : BottlesTopBar Modifier 파라미터 변경

* [fix] : 이미지 다운샘플링 적용

* [feat] : 프로필 이미지 로딩 스크린 적용

* [Feat] Firebase Crashlytics 및 Analytics 셋팅 (#67)

* [build] : 파이어베이스 크래시리틱스 라이브러리 및 플러그인 추가

* [build] : 파이어베이스 관련 플러그인 빌드로직으로 관리

* [refactor] : 로그 삭제

* [feat] : 파이어베이스 애널리틱스 인스턴스 활성화

* [refactor] : 자기소개 화면 이동 오류 수정

* [Feat] 핑퐁 화면 캡처 제한 (#69)

[feat] : 핑퐁 화면 캡처 제한

* [Fix] 모래사장 상태 오류 수정 (#70)

* [fix] : 모래사장 상태 오류 수정

* [refactor] : 온보딩 버튼 클릭 영역 확장

* 버전 업데이트 - 0.9.3-beta

* [feat] : 하드웨어 가속 설정

* [Release] 버전 업데이트 - 0.9.4-beta (#78)

* [Feat] Google Services 추가 (#54)

[build] : google-services 추가

* 버전 업데이트 0.9.2-beta

* [refactor] : 자기소개 api 호출 순서 변경

* [refactor] : 자기소개 바텀 버튼 활성 상태 로직 변경

* [build] : 이미지 blur 이펙트 라이브러리 추가

* [fix] : 보틀 보관함 리스트, 핑퐁 상대방 이미지 블러 효과 처리

* [Docs] Read.me 작성 (#60)

* [docs] : 리드미 제작

* [docs] : 리드미 수정

* [Release] 0.9.2-beta (#59)

* 버전 코드 수정 - 0.9.0-beta

* [fix] : 텍스트 필드 포커스 시 화면 스크롤 영역 정상 작동

* [fix] : 신고 화면 화면이동 로직 수정

* [fix] : 보틀 보관함에 대화중 보틀만 존재시 모래사장 화면 상태의 IN_BOTTLE_BOX 갯수 수정

* [fix] : 자기소개 이미지 선택 안했을 시 생성 불가

* [fix] : 자기소개, 프로필 이미지 API 동시에 전달

* [refactor] : 자기소개 뒤로가기 버튼 클릭 효과 제거

* [feat] : 스플래쉬 화면에서 프로필 제작 상태에 따라 화면 이동 온보딩/모래사장 분기 처리

* [fix] : 카카오 로그인 취소시 로그인 화면 버튼 비활성화 오류 수정

* [build] : google-services 추가

* 버전 코드 수정 및 광고 ID 퍼미션 추가

* [Docs] 이슈, 풀리퀘 템플릿 추가 (#61)

[docs] : 이슈, 풀리퀘 템플릿 추가

* Update issue templates

* [Fix] 프로필 이미지 다운 샘플링 (#65)

* [feat] : 로딩 화면시 터치 제어

* [refactor] : BottlesTopBar Modifier 파라미터 변경

* [fix] : 이미지 다운샘플링 적용

* [feat] : 프로필 이미지 로딩 스크린 적용

* [Feat] Firebase Crashlytics 및 Analytics 셋팅 (#67)

* [build] : 파이어베이스 크래시리틱스 라이브러리 및 플러그인 추가

* [build] : 파이어베이스 관련 플러그인 빌드로직으로 관리

* [refactor] : 로그 삭제

* [feat] : 파이어베이스 애널리틱스 인스턴스 활성화

* [refactor] : 자기소개 화면 이동 오류 수정

* [Feat] 핑퐁 화면 캡처 제한 (#69)

[feat] : 핑퐁 화면 캡처 제한

* [Fix] 모래사장 상태 오류 수정 (#70)

* [fix] : 모래사장 상태 오류 수정

* [refactor] : 온보딩 버튼 클릭 영역 확장

* [Release] 버전 업데이트 - 0.9.3-beta (#71)

* 버전 코드 수정 - 0.9.0-beta

* [fix] : 텍스트 필드 포커스 시 화면 스크롤 영역 정상 작동

* [fix] : 신고 화면 화면이동 로직 수정

* [fix] : 보틀 보관함에 대화중 보틀만 존재시 모래사장 화면 상태의 IN_BOTTLE_BOX 갯수 수정

* [fix] : 자기소개 이미지 선택 안했을 시 생성 불가

* [fix] : 자기소개, 프로필 이미지 API 동시에 전달

* [refactor] : 자기소개 뒤로가기 버튼 클릭 효과 제거

* [feat] : 스플래쉬 화면에서 프로필 제작 상태에 따라 화면 이동 온보딩/모래사장 분기 처리

* [fix] : 카카오 로그인 취소시 로그인 화면 버튼 비활성화 오류 수정

* [build] : google-services 추가

* 버전 업데이트 0.9.2-beta

* [refactor] : 자기소개 api 호출 순서 변경

* [refactor] : 자기소개 바텀 버튼 활성 상태 로직 변경

* [build] : 이미지 blur 이펙트 라이브러리 추가

* [fix] : 보틀 보관함 리스트, 핑퐁 상대방 이미지 블러 효과 처리

* 버전 코드 수정 및 광고 ID 퍼미션 추가

* [Docs] Read.me 작성 (#60)

* [docs] : 리드미 제작

* [docs] : 리드미 수정

* 버전 업데이트 - 0.9.3-beta

* [feat] : 하드웨어 가속 설정

* [Feat] 핑퐁 화면 당겨서 새로고침 기능 구현 (#74)

* [feat] : 핑퐁 화면 Pull To Refresh 기능 구현

* [chore] : 주석 제거

* [feat] : 핑퐁 읽음 처리 usecase 구현

* [feat] : 핑퐁 디테일 화면 생성시 읽음 처리

* [feat] : 시스템 네비게이션 뒤로가기 시 뒤로가기 인텐트 추가

* [Feat] FCM 기능 추가 (#76)

* [build] : FCM 의존성 추가

* [feat] : fcm 토큰 로컬 저장 및 가져오기 구현

* [feat] : fcm 토큰 proto 파일 추가

* [feat] : 토큰 재발행시 fcm 토큰 전달 구현

* [feat] : 토큰 재발행시 fcm 토큰 전달

* [feat] : 카카오 로그인시 fcm 토큰 전달

* [feat] : fcm 토큰 획득 및 fcm 서비스 구현

* [feat] : 모래사장 화면에서 알림 권한 획득 구현

* 버전 업데이트 - 0.9.4-beta / 10005

* [hotfix] : 알람 권한 결과 메세지 삭제

* 버전 업데이트 - 0.9.5-beta

* [Fix, Feat] 디자인 시스템 컴포넌트 수정 및 추가 (#86)

* [refactor] : BottlesSolidButton 수정

(cherry picked from commit 093f233)

* [chore] : 아이콘 에셋 추가

(cherry picked from commit 7cda32e)

* [feat] : BottlesIconButton 원형 아이콘 버튼 추가

(cherry picked from commit 8071247)

* [refactor] : BottlesBottomBar 수정

(cherry picked from commit 820fc28)

* [refactor] : typography lineHeight 값 수정

(cherry picked from commit 697c2de)

* [feat] : BottlesBalloonPopup modifier shadow 속성 추가

(cherry picked from commit d2b7e81)

* [chore] : 아이콘 에셋 추가

(cherry picked from commit 55332a0)

* [feat] : 디자인시스템 - shape L 사이즈 추가

(cherry picked from commit b7c1896)

* [refactor] : BottlesAlertDialog 디자인 시스템 수정 반영

(cherry picked from commit fcf1720)

* [refactor] : 변경된 BottlesAlertDialog 적용

(cherry picked from commit b9597e3)

* [feat] : 컬러 스키마 추가

(cherry picked from commit a865599)

* [feat] : BottlesToggleButton 구현

(cherry picked from commit d7b82db)

* [refactor] : 프로필 이미지 컴포넌트 분리

(cherry picked from commit 4670c17)

* [feat] : 프로필 edit 타입 컴포넌트 추가

(cherry picked from commit 82b526b)

* [feat] : BottlesSettingItem 4종 구현

(cherry picked from commit 573d1df)

* [Feat] 마이 페이지 네이티브 마이그레이션 (#87)

* [fix] : 웹뷰 관련 코드 삭제

* [feat] : BottlesCard 컴포넌트 구현

* [feat] : CardProfile UI에 BottlesCard 컴포넌트 적용

* [feat] : 디바이스 내 연락처 가져오는 로직 구현

* [refactor] : TopBar horizontalPadding 제거

* [fix] : 연락처 불러올 때 하이폰 제거 및 중복된 번호 제거

* [refactor] : BottlesToggleButton 람다 파라미터 제거

* [refactor] : BottlesTopBar Row에 horizontalPadding 추가

* [feat] : 계정관리, 알림 설정 화면 구현

* [feat] : 마이페이지 네이브티 화면으로 마이그레이션

* [Feat] 마이페이지 - 연락처 차단, 앱 선택적 업데이트 기능 구현 (#88)

* [feat] : 앱 버전 확인 API 구현

* [feat] : 앱 버전 확인 리스폰스 추가

* [feat] : Json 데이터 설정 - ignoreUnknowKeys = true로 변경

* [feat] : 앱 최신버전 획득 로직 구현

* [feat] : 앱 업데이트 클릭시 플레이 스토어로 이동 로직 구현

* 충돌 해결

* [refactor] : 프로필 이미지 블러처리 제거

* [refactor] : 연락처 차단 서브 타이틀 임시 변경

* [Feat] 앱 강제 업데이트 로직 구현 (#89)

* [refactor] : 설정 화면에서 뒤로가기 클릭시 popBackStack 호출로 변경

* [feat] : 마이 페이지 유저 프로필 데이터 호출

* [fix] : 로그아웃 및 회원 탈퇴 기능 오류 수정

* [feat] : 최소 앱 버전 불러오기 구현

* [feat] : 스플래쉬 화면 강제 업데이트 구현

* [feat] : 모래사장 화면 앱 강제 업데이트 로직 구현

* [Feat] 알림 설정 기능 구현 (#90)

* [feat] : 알림 설정 목록 불러오기 및 설정하기 API 구현

* [feat] : 설정한 알림 목록 불러오기 로직 및 알림 설정 로직 구현

* [feat] : 알림 설정 기능 구현

* [fix] : 스플래시 화면 강제 업데이트 다이얼로그 상태 초기값 변경

* [feat] : 알림 권한 획득 시 모든 알림 설정 true로 변경

* [Refactor] 푸쉬 알림 아이콘 변경 및 온보딩 페이지 오류 수정 (#92)

* [refactor] : UpdateAppVersionReponse 타입 변경

* [refactor] : 앱 아이콘 백그라운드 변경

* [refactor] : 알림 아이콘 변경

* [refactor] : api 33버전 이상 푸쉬 알림 권한 획득 로직으로 변경

* [refactor] : 매칭 활성화 UI 보류

* [refactor] : BottlesBottomBar 디바운스 활성화 파라미터 추가

* [refactor] : 온보딩 페이지 오류 수정

* 앱 버전 업데이트 - 1.0.0

* [docs] : 리드미 수정
  • Loading branch information
ham2174 authored Sep 19, 2024
1 parent c6c3d59 commit c93f9c0
Show file tree
Hide file tree
Showing 130 changed files with 2,866 additions and 483 deletions.
21 changes: 11 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,18 @@
떠내려온 편지를 통해 느린 소통의 감성을 경험해보세요.

## Features
-Feature 1
-Feature 2
-Feature 3
-매일 오후 6시마다 알림을 받고 떠내려오는 보틀에 호감을 표시해보세요.
-호감을 받은 상대방이 수락하면 대화가 시작돼요.
-상대와 끝까지 핑퐁(대화)이 완료되면 카카오톡 연락처를 얻어 서로를 이어줄게요.

## Screenshots

<div align="center">
<img src="https://github.com/user-attachments/assets/e6a19b06-1b32-4316-a294-3f95c7179a2d" width=170/>
<img src="https://github.com/user-attachments/assets/8e164a4e-bf38-4dde-95ec-8e543e0453b7" width=170/>
<img src="https://github.com/user-attachments/assets/ee9481f9-90a0-4583-9a05-9f06d4d6a2d2" width=170/>
<img src="https://github.com/user-attachments/assets/f76cfb49-86c6-4322-91c8-bf89514c5a54" width=170/>
<img src="https://github.com/user-attachments/assets/dde9480c-ec1d-4b9b-a32e-1bdc53a15e08" width=170/>
<img src="https://github.com/user-attachments/assets/e6a19b06-1b32-4316-a294-3f95c7179a2d" width=150/>
<img src="https://github.com/user-attachments/assets/8e164a4e-bf38-4dde-95ec-8e543e0453b7" width=150/>
<img src="https://github.com/user-attachments/assets/ee9481f9-90a0-4583-9a05-9f06d4d6a2d2" width=150/>
<img src="https://github.com/user-attachments/assets/f76cfb49-86c6-4322-91c8-bf89514c5a54" width=150/>
<img src="https://github.com/user-attachments/assets/dde9480c-ec1d-4b9b-a32e-1bdc53a15e08" width=150/>
</div>

## Architecture
Expand All @@ -51,7 +51,7 @@
</p>

<div align="center">
<img src="https://github.com/user-attachments/assets/4f9a926f-65d8-468d-aff6-cfcd8dced9a6" width =80%/>
<img src="https://github.com/user-attachments/assets/f6483b15-294a-4646-982f-724595ab678b" width =80%/>
</div>

## TechStack
Expand All @@ -63,7 +63,8 @@
- **Networking**: Retrofit / OkHttp
- **Database**: Proto-Datastore
- **Async**: Coroutines
- **Others**: Coil / Lottie / Cloudy
- **Debugging Tool**: Firebase
- **Others**: Coil / Cloudy / Kakao-Sdk / FCM

## Contact & Contributor

Expand Down
1 change: 1 addition & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ dependencies {
implementation(projects.feat.pingPong)
implementation(projects.feat.splash)
implementation(projects.feat.report)
implementation(projects.feat.setting)

// Compose
implementation(libs.androidx.compose.activity)
Expand Down
3 changes: 2 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
<uses-permission android:name="android.permission.READ_CONTACTS"/>

<application
android:name=".BottlesApplication"
Expand All @@ -27,7 +28,7 @@

<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/bottle_app_icon" />
android:resource="@drawable/bottle_notification_icon" />

<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
Expand Down
Binary file modified app/src/main/bottle_app_icon-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion app/src/main/java/com/team/bottles/BottleFcmService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ internal class BottleFcmService : FirebaseMessagingService() {
)

val builder = NotificationCompat.Builder(applicationContext, getString(R.string.fcm_channel_id))
.setSmallIcon(R.drawable.bottle_app_icon)
.setSmallIcon(R.drawable.bottle_notification_icon)
.setLargeIcon(BitmapFactory.decodeResource(resources, R.drawable.bottle_app_icon))
.setContentTitle(notification.title)
.setContentText(notification.body)
Expand Down
14 changes: 14 additions & 0 deletions app/src/main/java/com/team/bottles/di/usecase/AuthUseCaseModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ package com.team.bottles.di.usecase

import com.team.bottles.core.domain.auth.usecase.DeleteUserUseCase
import com.team.bottles.core.domain.auth.usecase.DeleteUserUseCaseImpl
import com.team.bottles.core.domain.auth.usecase.GetLatestAppVersionUseCase
import com.team.bottles.core.domain.auth.usecase.GetLatestAppVersionUseCaseImpl
import com.team.bottles.core.domain.auth.usecase.GetRequiredAppVersionUseCase
import com.team.bottles.core.domain.auth.usecase.GetRequiredAppVersionUseCaseImpl
import com.team.bottles.core.domain.auth.usecase.LogOutUseCase
import com.team.bottles.core.domain.auth.usecase.LogOutUseCaseImpl
import com.team.bottles.core.domain.auth.usecase.LoginWithKakaoUseCase
Expand Down Expand Up @@ -37,4 +41,14 @@ abstract class AuthUseCaseModule {
useCaseImpl: DeleteUserUseCaseImpl
): DeleteUserUseCase

@Binds
abstract fun bindsGetLatestAppVersionUseCase(
useCaseImpl: GetLatestAppVersionUseCaseImpl
): GetLatestAppVersionUseCase

@Binds
abstract fun bindsGetRequiredAppVersionUseCase(
useCaseImpl: GetRequiredAppVersionUseCaseImpl
): GetRequiredAppVersionUseCase

}
28 changes: 28 additions & 0 deletions app/src/main/java/com/team/bottles/di/usecase/UserUseCaseModule.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
package com.team.bottles.di.usecase

import com.team.bottles.core.domain.user.usecase.GetContactsUseCase
import com.team.bottles.core.domain.user.usecase.GetContactsUseCaseImpl
import com.team.bottles.core.domain.user.usecase.GetSettingNotificationsUseCase
import com.team.bottles.core.domain.user.usecase.GetSettingNotificationsUseCaseImpl
import com.team.bottles.core.domain.user.usecase.ReportUserUseCase
import com.team.bottles.core.domain.user.usecase.ReportUserUseCaseImpl
import com.team.bottles.core.domain.user.usecase.UpdateBlockingContactsUseCase
import com.team.bottles.core.domain.user.usecase.UpdateBlockingContactsUseCaseImpl
import com.team.bottles.core.domain.user.usecase.UpdateSettingNotificationUseCase
import com.team.bottles.core.domain.user.usecase.UpdateSettingNotificationUseCaseImpl
import dagger.Binds
import dagger.Module
import dagger.hilt.InstallIn
Expand All @@ -17,4 +25,24 @@ abstract class UserUseCaseModule {
useCaseImpl: ReportUserUseCaseImpl
): ReportUserUseCase

@Binds
abstract fun bindsGetContactsUseCase(
useCaseImpl: GetContactsUseCaseImpl
): GetContactsUseCase

@Binds
abstract fun bindsUpdateBlockingContactsUseCase(
useCaseImpl: UpdateBlockingContactsUseCaseImpl
): UpdateBlockingContactsUseCase

@Binds
abstract fun bindsGetSettingNotificationsUseCase(
useCaseImpl: GetSettingNotificationsUseCaseImpl
): GetSettingNotificationsUseCase

@Binds
abstract fun bindsUpdateSettingNotificationUseCase(
useCaseImpl: UpdateSettingNotificationUseCaseImpl
): UpdateSettingNotificationUseCase

}
22 changes: 20 additions & 2 deletions app/src/main/java/com/team/bottles/navigation/BottlesNavHost.kt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import OnboardingNavigator
import PingPongNavigator
import ProfileNavigator
import ReportNavigator
import SettingNavigator
import SplashNavigator
import androidx.compose.runtime.Composable
import androidx.navigation.NavController
Expand All @@ -22,6 +23,8 @@ import com.team.bottles.feat.profile.navigation.createProfileScreen
import com.team.bottles.feat.profile.navigation.introductionScreen
import com.team.bottles.feat.report.navigation.reportScreen
import com.team.bottles.feat.sandbeach.navigation.sandBeachScreen
import com.team.bottles.feat.setting.navigation.accountSettingScreen
import com.team.bottles.feat.setting.navigation.notificationSettingScreen
import com.team.bottles.feat.splash.splashScreen

@Composable
Expand Down Expand Up @@ -66,11 +69,20 @@ fun BottlesNavHost(
navigateToBottleBox = ::navigateToBottleBox,
navigateToReport = ::navigateToReport
)
myPageScreen(navigateToLoginEndPoint = ::navigateToLoginEndpoint)
myPageScreen(
navigateToEditProfile = {}, // TODO : 프로필 수정 웹뷰 완성시 연결
navigateToSettingNotification = ::navigateToSettingNotification,
navigateToSettingAccountManagement = ::navigateToSettingAccountManagement,
)
reportScreen(
navigateToPingPong = { popBackStack() },
navigateToBottleBox = ::navigateToBottleBox
)
accountSettingScreen(
navigateToLoginEndpoint = ::navigateToLoginEndpoint,
navigateToMyPage = { popBackStack() }
)
notificationSettingScreen(navigateToMyPage = { popBackStack() })
}
}
}
Expand Down Expand Up @@ -117,4 +129,10 @@ fun NavController.navigateToReport(userId: Long, userName: String, userImageUrl:
userAge = userAge,
userName = userName,
userId = userId,
userImageUrl = userImageUrl))
userImageUrl = userImageUrl))

fun NavController.navigateToSettingAccountManagement() =
navigate(SettingNavigator.Account)

fun NavController.navigateToSettingNotification() =
navigate(SettingNavigator.Notification)
74 changes: 0 additions & 74 deletions app/src/main/res/drawable/bottle_app_icon_background.xml

This file was deleted.

10 changes: 10 additions & 0 deletions app/src/main/res/drawable/bottle_notification_icon.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M2.455,13.872V7.655C2.455,5.636 4.091,4 6.11,4H17.709C19.727,4 21.364,5.636 21.364,7.655V13.872C21.364,15.891 19.727,17.527 17.709,17.527H14.149C14.102,17.527 14.057,17.549 14.028,17.587L12.32,19.821C12.229,19.94 12.094,20 11.958,20H11.957C11.821,20 11.686,19.94 11.594,19.821L9.887,17.587C9.858,17.549 9.813,17.527 9.766,17.527H6.11C4.091,17.527 2.455,15.891 2.455,13.872ZM14.481,11.477C13.958,12.462 12.742,13.344 12.183,13.712C12.008,13.828 11.781,13.828 11.605,13.712C11.047,13.344 9.83,12.462 9.307,11.477C8.616,10.176 9.427,8.879 10.499,8.879C11.11,8.879 11.478,9.198 11.681,9.472C11.706,9.506 11.738,9.533 11.775,9.552C11.812,9.571 11.853,9.581 11.894,9.581C11.936,9.581 11.977,9.571 12.014,9.552C12.051,9.533 12.083,9.506 12.107,9.472C12.31,9.198 12.678,8.879 13.289,8.879C14.361,8.879 15.172,10.176 14.481,11.477Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>
2 changes: 1 addition & 1 deletion app/src/main/res/mipmap-anydpi-v26/bottle_app_icon.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/bottle_app_icon_background"/>
<background android:drawable="@color/bottle_app_icon_background"/>
<foreground android:drawable="@mipmap/bottle_app_icon_foreground"/>
</adaptive-icon>
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/bottle_app_icon_background"/>
<background android:drawable="@color/bottle_app_icon_background"/>
<foreground android:drawable="@mipmap/bottle_app_icon_foreground"/>
</adaptive-icon>
Binary file modified app/src/main/res/mipmap-hdpi/bottle_app_icon.webp
Binary file not shown.
Binary file modified app/src/main/res/mipmap-hdpi/bottle_app_icon_round.webp
Binary file not shown.
Binary file modified app/src/main/res/mipmap-mdpi/bottle_app_icon.webp
Binary file not shown.
Binary file modified app/src/main/res/mipmap-mdpi/bottle_app_icon_round.webp
Binary file not shown.
Binary file modified app/src/main/res/mipmap-xhdpi/bottle_app_icon.webp
Binary file not shown.
Binary file modified app/src/main/res/mipmap-xhdpi/bottle_app_icon_round.webp
Binary file not shown.
Binary file modified app/src/main/res/mipmap-xxhdpi/bottle_app_icon.webp
Binary file not shown.
Binary file modified app/src/main/res/mipmap-xxhdpi/bottle_app_icon_round.webp
Binary file not shown.
Binary file modified app/src/main/res/mipmap-xxxhdpi/bottle_app_icon.webp
Binary file not shown.
Binary file modified app/src/main/res/mipmap-xxxhdpi/bottle_app_icon_round.webp
Binary file not shown.
4 changes: 4 additions & 0 deletions app/src/main/res/values/bottle_app_icon_background.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="bottle_app_icon_background">#FFFFFF</color>
</resources>
2 changes: 1 addition & 1 deletion app/src/main/res/values/string.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="fcm_channel_id">fcm_channel_id</string>
<string name="fcm_channel_name">fcm_channel_name</string>
<string name="fcm_channel_name">푸쉬 알림</string>
</resources>
1 change: 1 addition & 0 deletions core/data/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ dependencies {
implementation(projects.core.domain)
implementation(projects.core.network)
implementation(projects.core.datastore)
implementation(projects.core.local)

implementation(libs.jakewharton.timber)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package com.team.bottles.core.data.mapper

import com.team.bottles.core.domain.user.model.Notification
import com.team.bottles.core.domain.user.model.NotificationType
import com.team.bottles.network.dto.user.response.AlimyResponse
import com.team.bottles.network.dto.user.response.AlimyType

fun AlimyResponse.toNotification(): Notification =
Notification(
notificationType = this.alimyType.toNotificationType(),
enabled = this.enabled
)

fun AlimyType.toNotificationType(): NotificationType =
when (this) {
AlimyType.MARKETING -> NotificationType.MARKETING
AlimyType.DAILY_RANDOM -> NotificationType.DAILY_RANDOM
AlimyType.PING_PONG -> NotificationType.PING_PONG
AlimyType.RECEIVE_LIKE -> NotificationType.RECEIVE_LIKE
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.team.bottles.core.data.mapper

import com.team.bottles.core.domain.user.model.NotificationType
import com.team.bottles.network.dto.user.response.AlimyType

fun NotificationType.toAlimyType(): AlimyType =
when (this) {
NotificationType.PING_PONG -> AlimyType.PING_PONG
NotificationType.MARKETING -> AlimyType.MARKETING
NotificationType.DAILY_RANDOM -> AlimyType.DAILY_RANDOM
NotificationType.RECEIVE_LIKE -> AlimyType.RECEIVE_LIKE
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.team.bottles.core.data.mapper

import com.team.bottles.network.dto.auth.response.UpdateAppVersionResponse

fun UpdateAppVersionResponse.toLatestVersionCode(): Int =
this.latestAndroidVersion?: 10007

fun UpdateAppVersionResponse.toMinimumVersionCode(): Int =
this.minimumAndroidVersion?: 10007
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package com.team.bottles.core.data.repository

import com.team.bottles.core.data.mapper.toAuthResult
import com.team.bottles.core.data.mapper.toLatestVersionCode
import com.team.bottles.core.data.mapper.toMinimumVersionCode
import com.team.bottles.core.datastore.datasource.TokenDataSource
import com.team.bottles.core.domain.auth.model.AuthResult
import com.team.bottles.core.domain.auth.model.Token
Expand Down Expand Up @@ -73,4 +75,10 @@ class AuthRepositoryImpl @Inject constructor(
override suspend fun getSavedLocalFcmToken(): String =
tokenDataSource.getFcmDeviceToken()

override suspend fun getLatestAppVersion(): Int =
authDataSource.fetchRequiredMinimumAppVersion().toLatestVersionCode()

override suspend fun getRequiredAppVersion(): Int =
authDataSource.fetchRequiredMinimumAppVersion().toMinimumVersionCode()

}
Loading

0 comments on commit c93f9c0

Please sign in to comment.