Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 릴리즈 준비를 위한 안드로이드 코드 머지 #525

Merged
merged 220 commits into from
Oct 19, 2023
Merged
Changes from 1 commit
Commits
Show all changes
220 commits
Select commit Hold shift + click to select a range
5717ca0
chore: 안드로이드 프로젝트 폴더 생성 (#2) (#3)
krrong Jul 16, 2023
dc7f7a6
feat: 안드로이드 프로젝트 초기 세팅 (#5)
krrong Jul 17, 2023
d48e249
feat: 프로젝트 초기 세팅 (#7)
zillionme Jul 18, 2023
e02817b
fix: 초기 설정 삭제 (#10)
kokodak Jul 18, 2023
6db7dcf
feat: 백엔드 프로젝트 초기 세팅 (#11)
kokodak Jul 18, 2023
4340442
chore: 패키지 구조 설정 (#12)
krrong Jul 18, 2023
5c19129
[BE] feat: 엔티티 설계 (#15)
kokodak Jul 18, 2023
7311d51
feat: 초기 resource 파일 세팅 (#16)
krrong Jul 18, 2023
ae6a45e
feat: DTO 생성 (#18)
krrong Jul 18, 2023
7e46231
feat: Domain 설계 및 생성 (#21)
krrong Jul 18, 2023
ae3b6c1
feat: 네이버 맵을 화면에 띄우는 기능 구현 (#23)
briandr97 Jul 19, 2023
605fa91
feat: 회원 인증 기능 구현 (#26)
chaewon121 Jul 19, 2023
f35e776
feat: 위치 권한 요청 기능 구현 (#27)
krrong Jul 19, 2023
14ebf8d
feat: 네이버지도에서 현재 위치를 잡는 기능 구현 (#28)
krrong Jul 19, 2023
a4f64af
feat: 장소 추천 기능 구현 (#29)
kokodak Jul 19, 2023
768cfb8
feat: 목적지와 현재위치 사이 거리를 계산하여 사용자에게 보여주는 기능 구현 (#35)
krrong Jul 19, 2023
e5b486f
feat: Coordinate를 받아 해당 위치에 좌표를 찍는 기능 구현 (#39)
krrong Jul 19, 2023
25fabab
feat: 사진 버튼을 클릭하면 사진 다이얼로그를 띄우는 기능 구현 (#40)
briandr97 Jul 19, 2023
21dbb6e
feat: 목적지에 도착 시 도착 버튼 활성화 기능 구현 (#41)
hyunji1203 Jul 20, 2023
56009f6
refactor: API 명세 변경으로 인한 기능 수정 (#43)
zillionme Jul 20, 2023
46df55f
feat: 서버통신 초기세팅 (#44)
krrong Jul 20, 2023
9415709
feat: 목적지 도착 여부 확인 기능 구현 (#47)
chaewon121 Jul 20, 2023
2b5f64d
feat: 백엔드 ci workflows 초안 작성 (#49)
dooboocookie Jul 20, 2023
0334804
chore: step 이름 추가 (#50)
dooboocookie Jul 20, 2023
4cedf10
[BE] fix: 백엔드 ci workflows 초안 작성 (#51)
dooboocookie Jul 20, 2023
b9ad259
fix: working directory 상대경로로 변경 (#52)
dooboocookie Jul 20, 2023
93d80eb
feat: 서버에 모험 시작을 요청하는 기능 구현 (#48)
briandr97 Jul 20, 2023
d4c181e
feat: 모험이 끝났을 때 서버에게 모험이 종료 됐음을 알려주는 기능 구현 (#53)
hyunji1203 Jul 20, 2023
4fdd0cc
feat: 서버에서 목적지를 받아오는 기능 구현 (#54)
krrong Jul 20, 2023
30c0cbe
fix: 목적지 도착 버튼 클릭 시 발생하는 오류 수정 (#56)
hyunji1203 Jul 20, 2023
f649db0
feat: 안드로이드 프로젝트에 firebase 추가 (#75)
krrong Jul 27, 2023
587f2de
feat: 필요 없는 파일 삭제
briandr97 Jul 27, 2023
59363ee
chore: gitignore 수정 (#78)
briandr97 Jul 27, 2023
17d9692
feat: 안드로이드 CI 자동화 (#77)
briandr97 Jul 28, 2023
7265a70
feat: 스플래시 화면에서 진행 중인 모험이 있는지 판단하고 분기 하는 기능 구현 (#58)
briandr97 Jul 28, 2023
68bd1f9
[AN] feat: registerForActivityResult 분기처리 기능 구현 (#72)
briandr97 Jul 28, 2023
3997a3f
feat: BeginAdeventureActivity UI 변경사항 적용 (#71)
briandr97 Jul 28, 2023
e5beaf2
feat: AdventureResultActivity 구현 (#80)
hyunji1203 Jul 28, 2023
5e8e4b1
feat: 3차 데모데이 엔티티 설계 (#84)
kokodak Jul 29, 2023
87bbf37
feat: OnAdventureActivity UI 변경사항 적용 (#73)
krrong Jul 30, 2023
e434719
[AN] feat: UploadActivity 구현
krrong Jul 30, 2023
3cf9e64
feat: 카메라 권한 요청 기능 구현 (#92)
krrong Jul 30, 2023
223dfa5
feat: 명세서 기준으로 Dto들 생성 (#89)
briandr97 Jul 31, 2023
92e6540
feat: 디바이스의 위치를 받아와 뷰에 보여주는 기능 구현 (#93)
krrong Jul 31, 2023
af3543f
feat: 도메인 모델 생성 (#91)
briandr97 Jul 31, 2023
9959ad1
feat: 통계 path 레트로핏 서비스 구현 #101
hyunji1203 Jul 31, 2023
b387271
feat: 서버에서 Rank 관련 데이터를 받아올 때 사용될 service 생성 (#100)
hyunji1203 Jul 31, 2023
dc855fc
feat: 3차 데모데이용 Game Path 레트로핏 서비스 생성 (#102)
briandr97 Jul 31, 2023
db2e1e4
feat: 장소 path 레트로핏 서비스 구현 (#103)
krrong Jul 31, 2023
fb569c2
feat: AdventureHistoryActivity 구현 (#106)
hyunji1203 Jul 31, 2023
117fb6e
feat: RankRepository 생성 (#109)
hyunji1203 Jul 31, 2023
61832b4
feat: StatisticsRepository 생성 (#110)
hyunji1203 Jul 31, 2023
3a8ec5d
feat: 3차 데모데이 기획 변경에 맞는 AdventureRepository 설계 및 구현 (#111)
briandr97 Jul 31, 2023
0047186
feat: PlaceRepository 생성 (#118)
krrong Jul 31, 2023
3bcc951
feat: 통계 path api 목서버 구현 (#116)
hyunji1203 Aug 1, 2023
992a798
feat: 랭크 path api 목서버 구현 (#117)
hyunji1203 Aug 1, 2023
937e6af
feat: RankActivity 구현 (#119)
hyunji1203 Aug 1, 2023
a331d13
feat: 카메라로 찍은 사진을 뷰에 띄우고 Uri 추출기능 구현 (#120)
krrong Aug 1, 2023
17379e7
feat: 3차 데모데이 뼈대 코드 추가 (#130)
dooboocookie Aug 1, 2023
e2ad85f
feat: MyPageActivity 구현 (#121)
briandr97 Aug 1, 2023
9d767b4
fix: BaseEntity에 맞춘 data.sql 수정 (#133)
dooboocookie Aug 1, 2023
ac0c9fe
[BE] refactor: Pull Request 워크플로우 수정 (#134)
zillionme Aug 1, 2023
cc74e0d
refactor: DTO들이 모두 record로 구현되도록 수정 (#136)
dooboocookie Aug 1, 2023
4fa2183
refactor: Pull Request 워크플로우 재수정
zillionme Aug 1, 2023
2e3d17f
feat: merge 워크 플로우 추가 (#137)
chaewon121 Aug 1, 2023
75c00ab
refactor: merge 워크 플로우 추가 (#139)
chaewon121 Aug 1, 2023
6e1fff5
feat: 랭크 조회 기능 구현 (#94)
chaewon121 Aug 2, 2023
da51159
feat: 랭크 뷰 기능 구현 및 서버 통신 구현 (#138)
hyunji1203 Aug 2, 2023
53a9b37
feat: 게임 결과 뷰 서버 통신 및 기능 구현 (#143)
hyunji1203 Aug 2, 2023
8d31d22
feat: 모험 결과 DTO와 도메인 객체의 raisedRank 삭제
hyunji1203 Aug 2, 2023
7fb9e56
feat: 랭크 변동 상황을 알려주는 뷰 삭제
hyunji1203 Aug 2, 2023
5f02107
feat: 인자 변경에 따른 수정 사항 적용
hyunji1203 Aug 2, 2023
cbabbc1
feat: 모험 기록 뷰 기능 구현 및 서버 통신 구현 (#151)
briandr97 Aug 2, 2023
94b8d99
[AN] feat: MyPage 기능 구현 (#146)
krrong Aug 2, 2023
f15b775
feat: 게임 결과 조회 기능 구현 (#152)
chaewon121 Aug 2, 2023
6b138c2
feat: 게임 종료 API 및 게임 조회 테스트 구현 (#147)
zillionme Aug 2, 2023
10eeab0
feat: 장소 등록 api 구현
dooboocookie Aug 2, 2023
33a19b3
chore: 안드로이드 CI workflow 수정
dooboocookie Aug 2, 2023
c8f1204
feat: 힌트 생성 API 설계 및 구현 (#142)
kokodak Aug 2, 2023
e44249c
feat: 특정 게임의 힌트 단건 조회 API 설계 및 구현 (#157)
kokodak Aug 2, 2023
c0181ac
feat: 인게임 화면 기능 및 서버통신 구현 (#149)
briandr97 Aug 3, 2023
daaa880
chore: 백엔드 CD 워크플로우 수정
dooboocookie Aug 3, 2023
873dd29
feat: 점진적 리팩토링이 완료됨에 따라 파일 정리 (#156)
briandr97 Aug 3, 2023
24a9f97
feat: 통계 조회 기능 구현 (#159)
chaewon121 Aug 3, 2023
755717a
fix: 인터셉터 패턴 추가 (#161)
dooboocookie Aug 3, 2023
a5ced33
feat: 게임 시작 화면 기능 구현 (#162)
hyunji1203 Aug 3, 2023
55eac04
feat: 게임 생성 로직 수정 (#166)
kokodak Aug 3, 2023
a023d4f
chore: 서브 모듈 설정 추가
zillionme Aug 3, 2023
5795ebf
feat: firebase crashlytic 초기 환경 설정 (#170)
hyunji1203 Aug 3, 2023
0c50b4c
feat: FirebaseAnalytics 생성 및 로그 삽입을 담당할 객체 생성 및 상수 모음 파일 생성 (#171)
briandr97 Aug 3, 2023
7f4c20d
fix: application 파일 복구 (#174)
kokodak Aug 3, 2023
0793973
chore: 더미 데이터 추가 (#176)
kokodak Aug 3, 2023
b64def7
feat: API 수정으로 인한 변경사항 적용 (#177)
briandr97 Aug 3, 2023
8fee988
refactor: RankReponse 수정 (#179)
chaewon121 Aug 3, 2023
d189815
feat: baseUrl 변경 및 감추기와 그에 따른 yml 파일 변경 (#182)
briandr97 Aug 3, 2023
f0dc5fe
refactor: 쿼리와 uri 수정 (#184)
chaewon121 Aug 4, 2023
973dd4f
feat: 업로드 뷰 기능 구현 (#181)
krrong Aug 4, 2023
c7589dd
fix: GET /games 쿼리 스트링 없어도 되도록 수정 (#187)
zillionme Aug 4, 2023
247cdee
fix: 랭크 전체조회 쿼리 파라미터 조건 수정 (#191)
chaewon121 Aug 4, 2023
aed1807
fix: 장소데이터 추가 및 인터셉터 설정 변경
zillionme Aug 4, 2023
2a16b7f
refactor: 컨트롤러 요청 수정 (#193)
chaewon121 Aug 4, 2023
1d29f0d
fix: POST /games/{gameId}/hints 쿼리 스트링 없어도 되도록 수정 (#195)
zillionme Aug 4, 2023
10e5c73
feat: 게임 종료 시, 플레이어 점수 덧셈 기능 추가 (#198)
zillionme Aug 4, 2023
4373402
feat: Firebase Analytics 버튼 클릭 로그 추가 (#183)
krrong Aug 7, 2023
8306576
[BE] chore: spring profile에 대한 yml 파일 수정
kokodak Aug 7, 2023
76bbcde
fix: 서버 통신 수정 (#196)
briandr97 Aug 7, 2023
84aeb3c
refactor: dev 서버 환경 구축 (#236)
zillionme Aug 9, 2023
1e89906
fix: 깃허브 액션 워크플로우 수정 (#239)
zillionme Aug 9, 2023
74dda58
feat: 소셜 로그인 기능 구현 (#235)
hyunji1203 Aug 9, 2023
ac45912
chore: 오류 코드 정리 및 예외 핸들러 보완
dooboocookie Aug 10, 2023
b38e9ee
fix: 원격 저장소와의 코드 변경 수정
zillionme Aug 10, 2023
4374ac4
Update backend_dev_merge_workflow.yml
kokodak Aug 10, 2023
f1f3554
hotfix: workflow 긴급 수정
kokodak Aug 10, 2023
538e07c
hotfix: yml 파일 삭제
kokodak Aug 10, 2023
219cf99
fix: 게임 종료 실패 시, 남은 도전 횟수 줄지 않는 문제 해결
dooboocookie Aug 10, 2023
a669645
feat: 자동 로그인 및 로그인 로직 수정 (#241)
briandr97 Aug 10, 2023
b2468ef
feat: 예외처리 (#243)
krrong Aug 10, 2023
4b16841
feat: 소셜 로그인 기능과 인터셉터 인가 처리 및 아규먼트 리졸버 기능 추가
dooboocookie Aug 10, 2023
66330c4
feat: 난독화를 위해 모든 Dto 필드에 SerialName을 추가 (#245)
briandr97 Aug 11, 2023
bdfa9c2
fix: AuthInfo에 기본 생성자 추가
dooboocookie Aug 11, 2023
996bf12
fix: 서브모듈 업데이트
dooboocookie Aug 11, 2023
eac1723
feat: 앱 아이콘 설정 (#253)
hyunji1203 Aug 11, 2023
03437f1
fix: 메인으로 돌아갈 시 해당 액티비티가 사라지도록 수정 (#255)
hyunji1203 Aug 11, 2023
57733e5
feat: 사용자가 GPS 기능을 껐을 때 이를 인지하고 키도록 유도하는 기능 구현 (#258)
hyunji1203 Aug 11, 2023
f59f632
feat: 장치 구성 변경 대응 (#250)
briandr97 Aug 11, 2023
8b76d09
feat: 난독화 방지를 위한 ProGuard 수정 (#259)
krrong Aug 11, 2023
8803065
refactor: 좌표 간 거리를 M 단위로 변경 및 힌트/시도횟수 변경
zillionme Aug 11, 2023
bcae3ae
fix: 서브모듈 최신화
dooboocookie Aug 11, 2023
9a8ed11
feat: Firebase Analytics 서버 통신 에러 로그 추가 (#260)
hyunji1203 Aug 11, 2023
5c01fec
refactor: 게임 종료 타입에 따른 점수 계산 기능 수정
zillionme Aug 12, 2023
a853fb7
feat: 로깅 기능 추가 (#268)
zillionme Aug 12, 2023
802c963
feat: 이어하기 기능 추가 (#263)
krrong Aug 12, 2023
6f360e6
refactor: 사진 저장 경로 수정 (#269)
dooboocookie Aug 12, 2023
1f7b4f9
chore: 프로덕트 서버 배포
dooboocookie Aug 12, 2023
1e57d5d
chore: prod 서버 배포
dooboocookie Aug 12, 2023
f7f1b9c
chore: prod 서버 배포
dooboocookie Aug 12, 2023
20f5f59
fix: OnAdventureActivity 수정 (#265)
briandr97 Aug 12, 2023
f9797d7
feat: 로그인 시 사용자의 토큰이 로그에 보여지지 않도록 수정 (#271)
hyunji1203 Aug 12, 2023
f2a682d
feat: 스플래시에서 받아온 게임을 넘겨주는 기능 삭제 (#274)
krrong Aug 12, 2023
3663518
refactor: 로그 경로 변경
dooboocookie Aug 12, 2023
ffb38dd
chore: 서브모듈 수정
dooboocookie Aug 12, 2023
ca29158
fix: 잘못된 로직 수정 (#276)
krrong Aug 12, 2023
736c11e
feat: BeginAdventureActivity에서 진행중인 게임이 있는지 판단하는 기능 구현 (#277)
briandr97 Aug 12, 2023
841bb66
fix: 에러 수정
dooboocookie Aug 15, 2023
2d4c80c
fix: 사진 저장 시 1번 회원으로만 저장되는 오류 수정
dooboocookie Aug 15, 2023
af89c51
chore: 추천 범위 500km로 수정
dooboocookie Aug 16, 2023
0b6ff7b
test: 테스트 fixture 및 builder 추가 및 적용
kokodak Aug 16, 2023
e7298fe
feat: Refresh Token 구현 및 자동 로그인 API, 회원 탈퇴 API, 로그아웃 API 구현
dooboocookie Aug 16, 2023
49d1800
test: 작성되지 않은 테스트 코드 추가
chaewon121 Aug 17, 2023
60d851c
feat: 버전 변경 (#290)
hyunji1203 Aug 17, 2023
58d4f9a
feat: 로깅하기 (#291)
zillionme Aug 18, 2023
f307bea
Merge branch 'rel/v1' of https://github.com/woowacourse-teams/2023-na…
dooboocookie Sep 6, 2023
2a1e413
chore: 서브모듈 업데이트
dooboocookie Sep 6, 2023
45583a5
chore: 워크 플로우 수정
dooboocookie Sep 6, 2023
daae0dc
feat: 장소 업로드 기능 구현 (#301)
krrong Sep 10, 2023
96bebc9
fix: 위치관련 버그 수정 (#302)
krrong Sep 10, 2023
0884c25
refactor: branch 변경 (#311)
hyunji1203 Sep 11, 2023
d784a19
refactor: 네트워크 작업 코루틴으로 변경 (#312)
krrong Sep 11, 2023
0daa497
refactor: ViewModel이 Application을 참조하지 않도록 변경 (#307)
krrong Sep 13, 2023
697a88a
Delete .idea directory
briandr97 Sep 14, 2023
abc1f63
chore: 전체 gitignore 지정 (#320)
briandr97 Sep 14, 2023
a9f424a
refactor: Login 뷰에서 진행하는 네트워크 작업 코루틴으로 변경 (#328)
hyunji1203 Sep 14, 2023
db02356
refactor: my page뷰에서 진행하는 네트워크 작업 코루틴으로 변경 (#323)
krrong Sep 15, 2023
f68cd63
feat: Setting 뷰 구현 (#331)
hyunji1203 Sep 15, 2023
beec36e
fix: History 뷰의 리사이클러뷰 image 오류 문제 해결 (#317)
hyunji1203 Sep 15, 2023
ad1d4e9
refactor: Adventure 도메인에 해당하는 네트워크 작업 코루틴으로 변경 (#315)
briandr97 Sep 15, 2023
e426bba
feat: 장소 업로드 시 로딩 창이 뜨는 기능 구현 (#308)
krrong Sep 15, 2023
e2b53d3
fix: 마이페이지 글자 깨지는 오류 수정 (#333)
briandr97 Sep 16, 2023
9b9017e
feat: AdventureHistoryViewModel 테스트 추가 (#340)
hyunji1203 Sep 16, 2023
1f9031a
feat: 회원 탈퇴 기능 구현 (#335)
hyunji1203 Sep 16, 2023
552bbac
feat: RankViewModel 테스트 추가 (#337)
hyunji1203 Sep 17, 2023
4a4e465
feat: 로그아웃 기능 구현 (#341)
krrong Sep 17, 2023
a9ceb7a
feat: AdventureResultViewModel 테스트 추가 (#338)
hyunji1203 Sep 20, 2023
0702efa
refactor: 리포지터리에 의존성 주입 라이브러리 적용 (#349)
krrong Sep 20, 2023
7be936e
refactor: datasource 의존성 주입 라이브러리 사용 (#352)
krrong Sep 21, 2023
9f26d90
refactor: retrofit 의존성 주입 라이브러리 적용 (#353)
krrong Sep 21, 2023
6248573
feat: 자동로그인 기능 구현 및 스플래시 분리 (#346)
briandr97 Sep 23, 2023
3abfcfd
feat: UploadViewModel 테스트 추가 (#343)
krrong Sep 25, 2023
5712df8
refactor: 디자인 수정을 위한 공통 요소 추가 (#378)
krrong Oct 2, 2023
c6c3a09
fix: OkHttpClient의 interceptor를 AuthInterceptor로 변경 (#375)
krrong Oct 3, 2023
4e6ea20
Refactor/#391 모험 기록 뷰 디자인 변경 (#396)
hyunji1203 Oct 4, 2023
5336875
feat: 앱 강제 업데이트 기능 구현 (#400)
krrong Oct 4, 2023
43f02e5
refactor: 로그인 뷰 디자인 변경 (#399)
hyunji1203 Oct 4, 2023
ea8f791
refactor: 업로드 뷰 디자인 변경 (#381)
krrong Oct 4, 2023
b4f24c7
refactor: 설정 뷰 디자인 변경 (#397)
hyunji1203 Oct 4, 2023
b6da069
refactor: my page 뷰 디자인 변경 (#395)
krrong Oct 4, 2023
bc193f5
refactor: 모험 결과 뷰 디자인 변경 (#402)
hyunji1203 Oct 4, 2023
7f9b454
refactor: 게임 시작 뷰 디자인 변경 (#408)
briandr97 Oct 5, 2023
155846c
feat: 업로드 화면에서 뒤로가기 기능 구현 (#413)
krrong Oct 5, 2023
270f61f
feat: 게임 입장 시 사진이 먼저 뜨는 기능 구현 (#407)
krrong Oct 5, 2023
afddfa8
refactor: 버튼 디자인 일관성 있도록 변경 (#417)
hyunji1203 Oct 5, 2023
9d7aa5f
refactor: 스플래시 디자인 변경 (#416)
krrong Oct 5, 2023
c53876a
refactor: 인게임 뷰 디자인 변경 (#418)
briandr97 Oct 5, 2023
af684a6
refactor: NaagaAlertDialog와 ConfirmDialog 통일 (#421)
briandr97 Oct 5, 2023
5a08f44
refactor: 장소 등록 api 수정 (#369)
krrong Oct 5, 2023
9c5ceee
refactor: 인게임 버튼 drawable resource 변경 (#424)
briandr97 Oct 5, 2023
a4a877f
refactor: permission dialog 통일 (#426)
krrong Oct 5, 2023
0f9d18e
feat: 문의하기 기능 구현 (#427)
hyunji1203 Oct 5, 2023
0d6e7c7
feat: 버전코드 및 버전이름 수정 (#431)
krrong Oct 6, 2023
22b318b
hotfix: 액세스 토큰 리프레시 및 자동 로그인 로직 수정 (#438)
krrong Oct 9, 2023
de104d3
hotfix: 액세스 토큰 리프레시 로직 수정 (#447)
krrong Oct 11, 2023
19423e6
refactor: RetrofitFactory 삭제 (#440)
hyunji1203 Oct 11, 2023
c4acc17
refactor: 폰트 적용
hyunji1203 Oct 11, 2023
0404224
feat: 쪽지 관련 공통 코드 작성 (#450)
krrong Oct 12, 2023
7ec28ba
feat: 쪽지 전송 다이얼로그 구현 (#453)
krrong Oct 12, 2023
23dd669
fix: 저장소 권한 요청 및 알림 변경 (#458)
krrong Oct 14, 2023
2c5aefe
feat: 내 주변 100m 내의 쪽지들을 조회하는 기능 구현 (#480)
hyunji1203 Oct 16, 2023
4ced166
refactor: 에러처리 로직 변경 (#487)
krrong Oct 17, 2023
0161ce9
feat: 모험 기록 상세 페이지 뷰 구현 (#494)
krrong Oct 17, 2023
8f2b1fa
feat: 좋아요 싫어요 기능 제작 (#495)
briandr97 Oct 18, 2023
c154ca5
feat: 쪽지 등록기능 구현 (#478)
krrong Oct 18, 2023
0730010
feat: 쪽지 단건 조회 구현 (#493)
hyunji1203 Oct 18, 2023
e971ea7
fix: 뷰 위치 변경 (#504)
krrong Oct 18, 2023
f21b163
fix: 쪽지 뷰를 wrap_content로 변경 (#507)
krrong Oct 18, 2023
8f0784e
refactor: 주변의 쪽지 조회를 위한 서버 통신 주기 변경 (#509)
hyunji1203 Oct 18, 2023
ce64303
fix: 다이얼로그 중첩 현상 수정 (#511)
hyunji1203 Oct 18, 2023
72d0751
fix: 힌트 개수가 null로 보이는 버그 수정 (#517)
krrong Oct 19, 2023
19dc46b
feat: 앱 gradle 설정 변경 (#522)
krrong Oct 19, 2023
cd4ea35
chore: main 과 병합 충돌 해결
kokodak Oct 19, 2023
94960f7
chore: 백엔드 코드 삭제:
krrong Oct 19, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat: 모험이 끝났을 때 서버에게 모험이 종료 됐음을 알려주는 기능 구현 (#53)
* feat: 모험 종료 시 서버에게 데이터를 받아 올 Dto 생성

* feat: 모험 종료 시 서버에게 받아 온 Dto mapper 생성

* refactor: 데이터 반환 값 타입 변경

* feat: AdventureRepository의 endAdventure 구현

* feat: 모험 종료 시 서버와 통신해 현재 모험 상태를 받아온 후 상황에 맞게 분기 처리 해주는 기능 구현

* refactor: mock Repository의 endAdventure 함수 구현

* fix: onClick에서 사용된 함수에게 인자를 넣어 Databinding 오류 해결
hyunji1203 authored Jul 20, 2023
commit d4c181e00252927614589082ab2645f3dd0727a8
Original file line number Diff line number Diff line change
@@ -3,6 +3,7 @@ package com.now.naaga.data.mapper
import com.now.domain.model.Adventure
import com.now.domain.model.AdventureStatus
import com.now.naaga.data.remote.dto.AdventureDto
import com.now.naaga.data.remote.dto.EndedAdventureDto

fun AdventureDto.toDomain(): Adventure {
return Adventure(
@@ -11,3 +12,7 @@ fun AdventureDto.toDomain(): Adventure {
adventureStatus = AdventureStatus.getStatus(adventureStatus),
)
}

fun EndedAdventureDto.toDomain(): AdventureStatus {
return AdventureStatus.getStatus(adventureStatus)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.now.naaga.data.remote.dto

import kotlinx.serialization.SerialName

data class EndedAdventureDto(
val id: Long,
@SerialName("gameStatus")
val adventureStatus: String,
)
Original file line number Diff line number Diff line change
@@ -2,6 +2,7 @@ package com.now.naaga.data.remote.retrofit.service

import com.now.naaga.data.remote.dto.AdventureDto
import com.now.naaga.data.remote.dto.CoordinateDto
import com.now.naaga.data.remote.dto.EndedAdventureDto
import retrofit2.Call
import retrofit2.http.Body
import retrofit2.http.GET
@@ -24,5 +25,5 @@ interface AdventureService {
fun endGame(
@Path("gameId") gameId: Long,
@Body coordinateDto: CoordinateDto,
): Call<Unit>
): Call<EndedAdventureDto>
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
package com.now.naaga.data.repository

import com.now.domain.model.Adventure
import com.now.domain.model.AdventureStatus
import com.now.domain.model.Coordinate
import com.now.domain.repository.AdventureRepository
import com.now.naaga.data.NaagaThrowable
import com.now.naaga.data.mapper.toDomain
import com.now.naaga.data.mapper.toDto
import com.now.naaga.data.remote.dto.EndedAdventureDto
import com.now.naaga.data.remote.retrofit.ERROR_500
import com.now.naaga.data.remote.retrofit.ERROR_NOT_400_500
import com.now.naaga.data.remote.retrofit.ServicePool
import com.now.naaga.data.remote.retrofit.ServicePool.adventureService
import com.now.naaga.data.remote.retrofit.fetchNaagaResponse
import com.now.naaga.data.remote.retrofit.getFailureDto
import com.now.naaga.data.remote.retrofit.isFailure400
import com.now.naaga.data.remote.retrofit.isFailure500
@@ -54,8 +59,16 @@ class DefaultAdventureRepository : AdventureRepository {
override fun endAdventure(
adventureId: Long,
coordinate: Coordinate,
callback: (Result<Unit>) -> Unit,
callback: (Result<AdventureStatus>) -> Unit,
) {
// TODO("Not yet implemented")
val call: Call<EndedAdventureDto> = adventureService.endGame(adventureId, coordinate.toDto())
call.fetchNaagaResponse(
{ AdventureEndDto ->
if (AdventureEndDto != null) {
callback(Result.success(AdventureEndDto.toDomain()))
}
},
{ callback(Result.failure(NaagaThrowable.ServerConnectFailure())) },
)
}
}
Original file line number Diff line number Diff line change
@@ -2,6 +2,7 @@ package com.now.naaga.data.repository

import com.now.domain.model.Adventure
import com.now.domain.model.AdventureStatus
import com.now.domain.model.AdventureStatus.DONE
import com.now.domain.model.Coordinate
import com.now.domain.model.Destination
import com.now.domain.repository.AdventureRepository
@@ -22,9 +23,9 @@ class MockAdventureRepository : AdventureRepository {
override fun endAdventure(
adventureId: Long,
coordinate: Coordinate,
callback: (Result<Unit>) -> Unit,
callback: (Result<AdventureStatus>) -> Unit,
) {
TODO("Not yet implemented")
callback(Result.success(DONE))
}

companion object {
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package com.now.naaga.presentation.onadventure

import android.content.Intent
import android.location.Location
import android.os.Bundle
import android.widget.Toast
@@ -19,6 +20,7 @@ import com.now.domain.model.Coordinate
import com.now.naaga.R
import com.now.naaga.data.repository.DefaultAdventureRepository
import com.now.naaga.databinding.ActivityOnAdventureBinding
import com.now.naaga.presentation.beginadventure.BeginAdventureActivity
import kotlinx.coroutines.GlobalScope
import kotlinx.coroutines.async
import kotlinx.coroutines.delay
@@ -82,6 +84,7 @@ class OnAdventureActivity : AppCompatActivity(), OnMapReadyCallback {
naverMap.addOnLocationChangeListener { location ->
viewModel.calculateDistance(Coordinate(location.latitude, location.longitude))
viewModel.checkArrived(Coordinate(location.latitude, location.longitude))
setBinding(Coordinate(location.latitude, location.longitude))
}
}

@@ -95,12 +98,17 @@ class OnAdventureActivity : AppCompatActivity(), OnMapReadyCallback {
naverMap.locationTrackingMode = LocationTrackingMode.Follow
}

private fun setBinding(coordinate: Coordinate) {
binding.currentMyCoordinate = coordinate
}

private fun startObserving() {
viewModel.destination.observe(this) { destination ->
addMarker(destination.coordinate)
}
viewModel.status.observe(this) { status ->
stopAdventure(status)
onStatusChanged(status)
}
viewModel.adventureId.observe(this) { adventureId ->
viewModel.fetchDestination(adventureId)
@@ -143,6 +151,20 @@ class OnAdventureActivity : AppCompatActivity(), OnMapReadyCallback {
}
}

private fun onStatusChanged(status: AdventureStatus) {
when (status) {
AdventureStatus.DONE -> {
Toast.makeText(this, getString(R.string.onAdventure_adventure_success), Toast.LENGTH_LONG).show()
startActivity(Intent(this, BeginAdventureActivity::class.java))
finish()
}
AdventureStatus.IN_PROGRESS -> {
Toast.makeText(this, getString(R.string.onAdventure_retry), Toast.LENGTH_LONG).show()
}
AdventureStatus.ERROR -> { stopAdventure(status) }
}
}

companion object {
private const val LOCATION_PERMISSION_REQUEST_CODE = 1000
private const val DESTINATION_PHOTO = "DESTINATION_PHOTO"
Original file line number Diff line number Diff line change
@@ -76,4 +76,29 @@ class OnAdventureViewModel(
}
}
}

fun endAdventure(adventureId: Long, coordinate: Coordinate) {
adventureRepository.endAdventure(adventureId, coordinate, callback = { result ->
result
.onSuccess { adventureStatus -> _status.value = adventureStatus }
.onFailure { throwable ->
when (throwable) {
is NaagaThrowable.AuthenticationError ->
_errorMessage.value =
throwable.userMessage

is NaagaThrowable.UserError -> _errorMessage.value = throwable.userMessage
is NaagaThrowable.PlaceError -> _errorMessage.value = throwable.userMessage
is NaagaThrowable.GameError -> _errorMessage.value = throwable.userMessage
is NaagaThrowable.ServerConnectFailure ->
_errorMessage.value =
throwable.userMessage

is NaagaThrowable.NaagaUnknownError ->
_errorMessage.value =
throwable.userMessage
}
}
})
}
}
5 changes: 5 additions & 0 deletions android/app/src/main/res/layout/activity_on_adventure.xml
Original file line number Diff line number Diff line change
@@ -8,6 +8,10 @@
<variable
name="viewModel"
type="com.now.naaga.presentation.onadventure.OnAdventureViewModel" />

<variable
name="CurrentMyCoordinate"
type="com.now.domain.model.Coordinate" />
</data>

<androidx.constraintlayout.widget.ConstraintLayout
@@ -34,6 +38,7 @@
android:background="@drawable/rect_radius_small"
android:backgroundTint="@color/selector_main_gray_purple"
android:enabled="@{viewModel.isArrived}"
android:onClick="@{() -> viewModel.endAdventure(viewModel.adventureId, CurrentMyCoordinate)}"
android:fontFamily="@font/pretendard_bold"
android:paddingHorizontal="28dp"
android:paddingVertical="@dimen/space_default_medium"
2 changes: 2 additions & 0 deletions android/app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -12,4 +12,6 @@
<string name="on_adventure">모험 중</string>
<string name="end_adventure">모험 종료</string>
<string name="polaroid_description">이곳은 어디일까요?</string>
<string name="onAdventure_retry">아직 도착하지 못했어요.. 다시 도전해봐요!</string>
<string name="onAdventure_adventure_success">목적지를 찾는데 성공했어요!!</string>
</resources>
Original file line number Diff line number Diff line change
@@ -1,12 +1,17 @@
package com.now.domain.repository

import com.now.domain.model.Adventure
import com.now.domain.model.AdventureStatus
import com.now.domain.model.Coordinate

interface AdventureRepository {
fun beginAdventure(coordinate: Coordinate, callback: (Result<Long>) -> Unit)

fun getAdventure(adventureId: Long, callback: (Result<Adventure>) -> Unit)

fun endAdventure(adventureId: Long, coordinate: Coordinate, callback: (Result<Unit>) -> Unit)
fun endAdventure(
adventureId: Long,
coordinate: Coordinate,
callback: (Result<AdventureStatus>) -> Unit,
)
}