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

공지 화면 API 연동 및 공지 검색 기능 구현 #199

Merged
merged 3 commits into from
Jan 16, 2024

Conversation

easyhooon
Copy link
Collaborator

TODO) 공지 API 에 search parameter 가 추가된 이후 검색이 잘 이뤄지는지 확인
TODO) 홈 화면에 공지 카드를 클릭했을 때, 공지 화면으로 넘어와 해당 공지가 확장되어야 하는데, 이를 어떻게 구현할지 생각해봐야함
(첫 페이지에 있는 공지라면 상관이 없으나, 100페이지의 있는 공지라면 수 많은 스크롤 끝에 아이템이 화면에 등장할 경우 이 아이템이 확장되는데 이게 맞는 UI 인지 고민..)

@easyhooon easyhooon added enhancement New feature or request design tasks related to design labels Jan 16, 2024
@easyhooon easyhooon self-assigned this Jan 16, 2024
Copy link

height bot commented Jan 16, 2024

Link Height tasks by mentioning a task ID in the pull request title or commit messages, or description and comments with the keyword link (e.g. "Link T-123").

💡Tip: You can also use "Close T-X" to automatically close a task when the pull request is merged.

@easyhooon easyhooon merged commit 9571fb7 into develop Jan 16, 2024
1 check passed
@easyhooon easyhooon deleted the feature/notice-screen branch January 16, 2024 14:03
easyhooon added a commit that referenced this pull request May 14, 2024
* Update dependency com.google.firebase:firebase-bom to v32.2.2

* sns 로그인 api 문제 해결 (#76)

* jwt 토큰 저장을 위한 Preferences DataStore 환경 세팅

* Server Base Url 변수명 변경

* firebase 연동 설정 변경

위데미 공식 이메일 계정으로 migration
SERVER_BASE_URL 변경

* Enum 목록 조회 API 통신 로직 구현

API 가 정상적으로 호출되는지 호출 해보기 위해 테스트
정상적으로 호출되는 것을 확인
Login 기능 구현 branch 에 어울리는 것 같진 않아서 관계없다 판단되면 관련 파일 다 날리겠습니다

* 로그인 및 회원가입 비즈니스 로직 구현

* Intro, Login Activity ui 패키지로 이동

* chore: detekt ktlintCheck success, CODEOWNERS 추가

* 누락된 copyright 추가

* job 이 외부로 노출되는 것을 수정

* Data 모듈 코드 리뷰 반영

* Domain 모듈 코드 리뷰 반영

* .map 연산자를 .first() 로 바꿔 반환 타입을 Flow<String> 에서 String 으로 변환

* api 호출 결과 분기 처리 로직 변경

* chore: detekt ktlintCheck success

* unused @Suppress Annotation 추가

* detekt ktlintCheck really success

* 코드 스타일 통일

* 로그인 관련 문제 해결

googleIdToken 이 아닌 firebaseIdToken 을 서버에 전달

* 코드 리뷰 반영

* GOOGLE_CLIENT_ID 변경

* Update dependency org.jlleitschuh.gradle.ktlint to v11.5.1

* Update androidx.navigation to v2.7.0

* Update test.roborazzi to v1.4.0

* Update dependency gradle to v8.3

* 이끔 API 연동  (#81)

* GOOGLE_CLIENT_ID 변경

* 이끔 App API 연동

* Update androidx.navigation to v2.7.1

* Update dependency androidx.activity:activity-ktx to v1.8.0-alpha07

* Update dependency com.google.firebase:firebase-bom to v32.2.3

* Update android.hilt to v2.48

* Update dependency io.ktor:ktor-client-mock to v2.3.4

* Update dependency com.google.android.gms:play-services-auth to v20.7.0

* Update test.kotest to v5.7.0

* Update test.kotest to v5.7.1

* hilt ksp migration (#90)

* ksp 의존성 추가

* hilt ksp migration

* Update actions/checkout action to v4

* 앱 아이콘 적용 및 스플래시가 두번 뜨는 문제 해결  (#92)

* 이끔 앱 아이콘 추가

* 앱 아이콘 적용 및, 기본 스플래시 화면 제거

기본 스플래시 화면의 배경을 로띠 스플래시의 배경색과 일치 시키고, 아이콘을 배경색과 같게 하여 아이콘을 가림

배경색이 유지된 상태에서 로티 스플래시가 출력되는 방식으로 이슈를 해결

* Update androidx.lifecycle to v2.6.2

* Update androidx.navigation to v2.7.2

* Update dependency androidx.activity:activity-ktx to v1.8.0-beta01

* Update test.kotest to v5.7.2

* Update dependency androidx.core:core-ktx to v1.12.0

* 로그인, 온보딩 회원가입 API 연동  (#93)

* 로그인 화면과 홈화면, 온보딩 화면 연동

* jsonBody pretty default value true 로 변경

* 로그인 관련 분기 처리 구현

Status Code 가 200 Ok 일 경우 메인 화면으로, Status Code 가 404 Not Found 로 떨어질 경우, 처음 로그인한 회원 이므로 온보딩 화면으로 이동 하도록 구현

Exception Case 를 모아두는 클래스 추가

* style check success

* 버튼 아이디 변경

복붙 하면서 잘못 입력된 버튼 아이디 수정

* Onboard 모듈 필요한 의존성 추가

* Onboard 모듈 뷰모델 통합

ActivityViewModel 로 각각의 프래그먼트의 뷰모델을 통합

* 회원가입 API 연동

* style check success

* UserApi 클래스 추가

* 닉네임 중복 체크 기능 추가

* chore: 필요없는 의존성 제거, CODEOWNERS update

* moshi 관련 직렬화, 역직렬화 에러 해결

* 닉네임 중복 검사 debounce 추가

* style check success

* chore: 필요없는 의존성 제거

moshix-ir 플러그인이 codegen 의 역할을 이미 수행 하고 있음

* 변수 오타 수정

* 닉네임 중복 검사 로직 변경

debounce 300ms 로 조정, false 일때 validation 이 통과되도록 변경

* 잘못 지정한 response type 수정

* 이벤트 처리를 위한 sharedFlow replay = 1 추가

* 로그인, 회원가입 UseCase 네이밍 변경

* 로그인, 회원 가입 관련 뷰모델 함수 닉네임 변경

* 로그인 결과 서버에서 발급된 jwt 토큰 저장하는 로직 구현

* style check success

* style check success

* 내 계정 화면 내에 세부 화면 구성  (#100)

* Update dependency com.google.firebase:firebase-bom to v32.3.0

* Update dependency com.google.gms.google-services to v4.4.0

* Update dependency com.google.firebase:firebase-bom to v32.3.1

* Update test.roborazzi to v1.5.0

* JWT Token 을 필요로 하는 API 연동  (#105)

* JWT Token 을 필요로 하는 API 와 필요하지 않은 API 통신 환경 분리

* main 모듈 domain 모듈 의존성 추가

* JWT Token 이 필요한 API, 필요하지 않은 API 호출 함수 구분

* 유저 정보 조회 API 호출 테스트

* style check success

* CODEOWNERS update

* jwt token API test success

* Update dependency org.jlleitschuh.gradle.ktlint to v11.6.0

* 메인 화면 expandable-bottomsheet 구현 (#110)

* BaseBottomSheetFragment 수정

최대 높이 까지 확장 가능 하도록

* navigation temp flow 구현

* style check success

* 바텀시트 내부에 프래그먼트가 보이지 않는 문제 해결

* 공지사항 화면 expandable recyclerview 구현 (#106)

* toggle Animation class 추가

* 공지 사항 화면 expandable recyclerview 구현

* style check success

* 중첩 스크롤이 적용 되지 않는 현상 해결

Title 과 TextField 를 RecyclerView 의 Item 으로 포함 시킴, multi ViewType RecyclerView 로 변경

* style check success

Adapter 에 clickListener 전달, 사용하지 않는 파일 삭제

* NoticeAdapter ListAdapter 로 변경

아이템의 변경이 검색어 필터링에 의해 자주 변경될 수 있기 때문에 default 로 animation 과 변경사항 적용이 적용되는 ListAdapter 로 migration

* CafeImageAdapter DiffUtil areItemTheSame 조건 변경

* style check success

* setHasFixedSize(true) 제거

아이템의 크기가 변화하는 케이스이므로 제거

* 공지 검색 텍스트 필드 돋보기 아이콘 추가

* 클릭시 확장이 되는 부분 영역 조정

확장되지 않았을 때 기본 공지 아이템 영역을 클릭해야만 확장되도록, toggle ImageView id 변경

* Update androidx.navigation to v2.7.3

* Update dependency androidx.activity:activity-ktx to v1.8.0-rc01

* BaseRecyclerAdapter, BaseViewHolder 추가 및 적용 (#113)

* BaseAdapter, BaseViewHolder

* CafeImageRecyclerView 에 BaseAdapter, ViewHolder 적용

* ViewHolder 내에 scope 함수 지정

* BaseAdapter 네이밍 변경

BaseRecyclerViewAdapter 로
이미 존재하는 BaseAdapter 와 구분, RecyclerView 의 Adapter 의 Base class 라는 것을 강조

* BaseRecyclerView, BaseViewHolder 전반적으로 적용

복잡한 RecyclerView 의 경우 추후 비즈니스 로직을 구현 하면서 적용

* style check success

* 자동 로그인 구현  (#115)

* 자동 로그인 기능 구현

* 로그아웃 UseCase 함수명 변경

* style check success

* 내 계정 화면 API 연동 (#114)

* 내 계정 화면 유저 정보 조회 구현

* MyAccountUiState 변수 네이밍 변경

profileUrl -> profileImageUrl

* 내 계정 화면에서 내 정보 수정 화면으로 이동하는 로직 및 내 정보 수정 화면 데이터 매핑 구현

UserInfo 를 navigation 에 인자로 담아서 전달

* style check success

* 정보 수정 요청 화면 추가 (#99)

* 정보 수청 요청 모듈 추가

* style check success

* add: 정보수정요청 UI, xml

* edit: 불필요한 코드 제거 (#99)

* edit: 카페 메뉴 수정 페이지 (#99)

* edit: 툴바 영역 height 100->56dp (#99)

* edit: ic_menu_gray400 click 시, 보이는 선택 이미지 (#99)

* edit: ScrollView-> NestScrollView, 메뉴 수정 화면 (#99)

* delete: 카페 등록, 메뉴 수정 완료 화면 뷰모델 파일 (#99)

* edit: pr 에러 수정 (#99)

* edit: NestScrollView & RecyclerView -> RecyclerView

* edit: navigation

* edit: RecyclerView 고정 marginBottom 제거 (#99)

* edit: 카페 제안하기 check box

* edit: nav_gragh에서 카페 제안하기 코드 주석

* edit: tool bar

* add: fragment 이동, v1

* edit: style check

* add: 정보수정-> 개선 요청에 따른 버튼 클릭 및 화면 이동

* update CODEOWNERS

---------

Co-authored-by: kymjaehong <dwby.jr@gmail.com>
Co-authored-by: 김재홍 <hyeop@gimjaehong-ui-MacBookAir.local>

* 페이징 의존성 추가  (#118)

* androidx-paging3 라이브러리 의존성 추가

* 공지 카드 아이템 가로길이 150dp 로 고정

* 홈 화면 공지 카드 항상 1:1 비율이 되도록 수정

* 홈 화면에 신규 카페가 default 로 선택되어 리스트가 화면에 출력 되도록 구현

* 홈 화면 공지 카드 리스트 간격 조정

모든 간격이 16dp 가 되도록 설정

* room 관련 라이브러리 의존성 추가

room, room-paging, room-compile
컨벤션 플러그인 설정

* Update android-actions/setup-android action to v3 (#116)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* clean up (#120)

* systemBar 글씨가 보이지 않던 문제 해결

* 네비게이션 네이밍 컨벤션 통일

누락된 애니메이션 추가

* chore: 개행

* style check success

* 로그인 관련 문제 해결

새로운 계정으로 로그인 하는 경우, auth 토큰이 없는 경우 로그인이 되지 않는 문제 해결, 로그인 코드 관련 주석 추가

* Update androidx.navigation to v2.7.4

* Update dependency androidx.activity:activity-ktx to v1.8.0

* Update ktor.client.core to v2.3.5

* Update dependency com.google.android.material:material to v1.10.0

* Update dependency gradle to v8.4

* 모듈간 순환 참조 이슈 해결  (#127)

* activity 확장 함수 네이밍 변경

* 모듈간 순환 참조 문제 해결

navigator 모듈을 도입

* androidx startup 라이브러리 도입

* 로그아웃 기능 구현

* 모듈별 Navigator interface 추가 및 navigator 모듈 의존성 추가

* 공지 목록 리스트 확장 애니메이션 비활성화 (#128)

* CODEOWNERS 파일 추가

* view expand collapse animation 비활성화

* style check success

* 구글 로그인 구현 방식 migration (#130)

* activity 확장 함수 네이밍 변경

* 모듈간 순환 참조 문제 해결

navigator 모듈을 도입

* androidx startup 라이브러리 도입

* 로그아웃 기능 구현

* 모듈별 Navigator interface 추가 및 navigator 모듈 의존성 추가

* setOnSingleClickListener 확장 함수 추가

* 로그인 버튼 setOnSingleClickListener 적용

버튼이 빠른 시간내에 두번이상 눌려 로그인 다이얼로그가 중복으로 호출되거나, 버튼이 먹통되는 문제를 방지

* 개발의 편의성을 위해 기존 구글 로그인 방식으로 migration

원탭 로그인은 에뮬레이터에서 로그인이 되지 않는 문제가 있고, block 될 수 있기 때문에 개발 하는데 영향을 주고 있어, 이전 로그인 방식으로 변경

* 회원 탈퇴 기능 구현  (#131)

* 회원 탈퇴 플로우 구현

* 회원 탈퇴 기능 구현

회원 탈퇴 API 호출하여 회원탈퇴가 정상적으로 완료된 경우에만 로그인 화면으로 이동하도록 구현

* Update dependency org.jlleitschuh.gradle.ktlint to v11.6.1

* Update test.roborazzi to v1.6.0

* 공지 리스트 뷰 확장, 축소 애니메이션 관련 이슈 해결 (#135)

* 공지 아이템 확장 축소 Animation 방식 변경

Custom Animation 이 아닌 Notify 함수의 내장 애니메이션을 사용하도록 변경

* 공지 제목 end 제약 추가

* Update dependency com.google.firebase:firebase-bom to v32.4.0

* 로그인 연동 이후에 작업을 위한 merge 요청 (#132)

* edit: 상단탭 명 변경

* edit: 의견 선택 화면 제거

* edit, editTextInputView Id

* edit: manifest

* Update dependency com.google.firebase:firebase-bom to v32.4.1

* Update dependency org.robolectric:robolectric to v4.11

* Paging 구현 및 Retrofit + Kotlinx-Serialization 으로 migration (#141)

* Data, Domain 모듈 내에 paging 의존성 추가

* 장소 조회, 공지 조회 페이징 처리 구현

* Retrofit, kotlinx-serialization 라이브러리 의존성 추가

* Ktor + Moshi -> Retrofit + kotlinx-serialization 으로 migration

Authenticator, Paging 구현

* style check success

* 문의 API UseCase 추가

* Exception 변수 정리

네이밍 변경, 한 파일 내에서 관리

* Update dependency com.google.firebase:firebase-bom to v32.5.0

* Update kotlin.detekt to v1.23.3

* Update dependency io.coil-kt:coil to v2.5.0

* File API 연동 (#143)

* 갤러리의 이미지 Uri 를 파일로 변환하기 위한 FileManager 추가

* File API 연동

* chore: named argument 추가, 파라미터 네이밍 변경, end point 수정

* style check success

* 사용하지 않는 파일 제거

* Update dependency org.robolectric:robolectric to v4.11.1

* Update androidx.navigation to v2.7.5

* Update dependency androidx.hilt:hilt-navigation-fragment to v1.1.0

* add: 정보 수정 제안 v1 (#147)

* Update test.kotest to v5.8.0

* Update dependency org.junit.vintage:junit-vintage-engine to v5.10.1

* 사용자 정보 수정 기능 구현  (#153)

* Login API 누락된 404 Exception 처리 추가

Ktor 에서 Retrofit 으로 migration 하면서 누락된 처리 추가

* 사용자 정보 수정 동작 테스트 완료

* 사용자 정보(닉네임 + 프로필) 이미지 변경 API 동작 테스트

* 사용자 정보가 변경될 경우 화면이 갱신 되어 변경이 반영 되도록 구현

* Main 모듈 keyboard 옵션 추가

* 사용자 프로필 이미지, 닉네임 변경 기능 구현

* 내 정보 수정 화면 닉네임 중복 검사 로직 추가

* style check success

* 정보 수정 제안, 메뉴 read (#147)

* Update ktor.client.core to v2.3.6

* 메뉴 수정에서 우측 버튼 클릭 시, 선택 창(#147)

* Update dependency androidx.activity:activity-ktx to v1.8.1

* Update dependency com.google.firebase:firebase-bom to v32.6.0

* Update dependency com.airbnb.android:lottie to v6.2.0

* edit: imageview -> spinner (#147)

* Update kotlin.detekt to v1.23.4

* Update dependency gradle to v8.5

* popupmenu 구현 (#147)

* NetworkModule 설정 변경 (#162)

MaxTimeoutMillis 10 -> 15초
interceptor 부착 순서 변경(헤더가 로그에 찍히지 않는 문제 해결)
주석 처리된 코드 제거

* Add: 수정하기, 삭제하기 버튼 클릭 구현 (#147)

* Add : 페이지 이동 및 다이얼로그 기본 구현 (#147)

* Update ktor.client.core to v2.3.7

* Update dependency com.google.firebase:firebase-bom to v32.7.0

* Edit: 메뉴 삭제 화면 재로딩, 다음 수정 반영 (#147)

* Edit: 삭제 부분 피드백 반영 & 수정 시, fragment 데이터 전달(#147)

* Update dependency androidx.navigation.safeargs.kotlin to v2.7.6

* 정보수정제안 api 구현 #147

* Update dependency androidx.activity:activity-ktx to v1.8.2

* Update dependency com.google.android.material:material to v1.11.0

* Update test.roborazzi to v1.7.0

* main module Paging API(장소, 공지) 연동 완료 (#169)

* Paging 구현 방법 수정

Pager, PagingSource 설정 수정

* nav_main 개행

* 홈 화면 카페, 공지 목록 api 연동 테스트 완료

* 검색 화면 장소 조회 api 연동 및 테스트 완료

* Cafe, StudyCafe, StudyRoom 분기 처리

* 신규 카페 목록 타이밍 이슈 해결

사용하지 않는 함수 제거

* 카페 위치 마커를 지도 위에 표시 성공

* 맵 마커 이미지 커스텀

* 라이브러리 버전 최신화

* style check success

* 고객 지원 문의 하기 기능 구현 (#170)

* 문의 화면 Fragment 네이밍 변경

Inquiry -> Report, API 이름과 통일

* Report Paging API 구현부 수정

* 문의 하기 기능 구현 완료

* windowSoftInputMode adjustPan -> adjustResize

style check success

* 네트워크 에러 화면 구성 (#171)

* Update Kotlin and KSP

* edit: manifest && style check

* Update android.gradle.plugin to v8.2.0

* 누락된 navigation animation 추가 및 개행

* Edit: 피드백 일부 반영 #147

* Update okhttp monorepo to v5.0.0-alpha.12

* Edit: 메뉴 수정 완료 화면에서 정보 수정 제안 화면으로 돌아가는 경우 사이에 쌓여 있는 백스택 제거

시스템 백버튼을 눌렀을 때 다시 이전에 수정하는 화면으로 이동되지 않도록

* 맵 마커와 카페 상세 정보 바텀 시트 연동  (#175)

* main 모듈 hilt-navigation-fragment 의존성 추가

* CafeDetailBottomSheet 디자인 관련 수정 및 더미 데이터 연동

partial expanded 상태일때 radius corner -> expanded 일때 flat corner 로 변경되도록 설정

* CafeImage, CafeDetail 초기 설정

통일성을 위해 initView, initListener, initObserver 함수 추가, navigate 함수 구현

* 맵 마커 클릭 리스너 동작 문제 해결 및 마커로 카메라 이동 구현

* 맵 마커 클릭을 통한 카페 상세 화면 이동 및 데이터 연동 구현

* 카페 상세 정보 단위 추가 및 nullable 분기 처리

* style check success

* style check success

* Update android.hilt to v2.50

* 카페 추가 기능 구현  (#176)

* Domain 모듈 의존성 추가

UseCase 네이밍 변경

* 입력 받아야 할 변수 추가

* 카페 등록 화면 UI 수정

TextField 추가

* 누락된 UseCase 변수명 수정

* 멀티 모듈 missing required with ID 에러 해결

중복된 binding 클래스 네이밍 변경

* 카페 추가 모듈 장소 추가 API 연동 테스트 완료

위치 및 타입은 랜덤으로 지정하는 방식

* entity data class parameter public 접근 제한자 명시적 선언 제거

default 가 public 이기 때문에 명시적으로 선언해줄 필요 없음,
주석 처리된 코드 제거

* 카페 상세 정보 화면 피그마 디자인에 맞게 폰트 변경

* model data class 네이밍 변경, title 텍스트 수정

style check succcess -> 100 줄을 초과하는 함수를 분리하여 style check 성공

* 카페 등록 화면 입력 항목 네이밍 수정 및, 일부 텍스트 필드 키보드 입력 방식 변경

숫자를 입력받을 경우 키패드가 보이도록

* 카페 추가 기능 사진 파일 업로드 구현 완료

입력 예외 처리 보강

* style check success

* 카페 상세 정보(이미지) 연동  (#177)

* Grid RecyclerView 를 통해 구현한 리스트가 화면에 출력되지 않는 문제 해결

* 카페 사진 corner radius 및 동일 상하 좌우 동일 간격 적용

* CafeImageFragment 와 CafeImageDetailFragment 연결

* CafeImageDetail 화면 줌인 기능 구현

PhotoView 라이브러리 의존성 추가, TODO 추가

* CafeImageDetail 이미지 cornerRadius 적용

* 카페 상세 화면과 정보 수정 제안 화면 연결

* 사진 신고하기 팝업 메뉴 추가

* 카페 이미지 상세화면 systembar 색상 변경 분기 처리

* 카메 이미지 상세화면 사진 인덱스 추가

* 카페 이미지 신고하기 다이얼로그 구성 및 네비게이션 연동

* 카페 이미지 상세화면 무한 스크롤 로직 수정 및 인덱스 표기 오류 해결

* 카메 이미지 상세화면 줌 관련 문제 해결

사진을 확대하였을 때 사진 자체가 커지지 않는 문제 해결, corner radius 미적용

* 카페 이미지 리스트 load crossfade 적용

이미지가 점진적으로 나타나 사용자에게 더 나은 경험을 제공

* style check success

* companion object 로 정의한 key 값을 네이밍 변경

* Update Kotlin and KSP to v1.9.22

* Update dependency com.github.chrisbanes:PhotoView to v2.3.0

* 최근 검색어, 카페 검색 환경 구축  (#180)

* Room Local Database 환경 구축

* Room Convention Plugin 적용

* Room Plugin Class 원복

* 카페 검색 화면 SearchCafeViewModel 및 RecyclerView Adapter 추가

* 카페 검색 결과 리스트가 화면에 출력되지 않는 이슈 해결

* 최근 검색 장소 관련 UseCase 추가

패키지 구조 및 함수 네이밍 변경

* SearchCafeViewModel 함수 추가

* style check

* 의존성 주입을 위한 DatabaseModule 구성

* style check success

* 카페 검색 기능 구현 (#181)

* 카페 검색 기능 구현

* spotless check success

* 수정: 피드백 일부 반영

* style check

* Update dependency com.google.devtools.ksp to v1.9.22-1.0.16

* 피드백 일부 수정

* suspend가 아닌 메서드라 뷰모델 스코프 제거

* 카페 검색 검색어 여부에 따른 분기 처리 구현 (#184)

* 카페 검색 기능 분기 처리 구현

검색어가 존재하지 않을 땐, 이전에 검색했던 장소들이 리스트에 보여지도록(room-paging), 검색어가 존재하면 검색어를 통해 조회된 장소들이 리스트에 보여지도록 분기처리(remote-paging)

* 검색 텍스트 필드 클릭 리스너 추가 (뒤로가기)

* spotless check success

* Update dependency com.airbnb.android:lottie to v6.3.0

* 메인 화면 네비게이션 로직 개편 (#187)

* 카페 검색 -> 카페 상세화면 화면 이동 로직 구현

* CafeDetailBottomSheet Background Dim 비활성화

* 메인 화면 화면 이동 로직 개편

searchFragment 위에 CafeDetailFragment 바텀시트가 올라오는 것이 아닌, 새로운 mapFragment 로 이동하는 방식
mapFragment 내에 포함된 CafeDetailBottomSheet(persistentBottomSheet) 가 기존의 CafeDetailFragment(ModalBottomSheet) 를 대체

* spotless check success

* 지도 -> 정보수정제안 (인텐트) (#188)

* 추가: 지도 -> 정보수정제안 (인텐트)

* edit: 코드 삭제

* 피드백 반영

* 에러 수정

* Authenticator Retry 로직 수정 및 토큰 관리, 에러 처리 보완 (#189)

* Authenticator 함수 내부 구현 변경

401 로 떨어질 경우 refresh 토큰을 헤더에 담아 호출하는 가장 간단한 형태로 변경

* RefreshTokenExpiredException 추가

* Refresh 토큰도 만료될 경우, 로그인 토큰을 제거하고, 로그인 화면으로 돌아가는 로직 구현

내 정보 화면만 해당, 다른 화면도 동일 로직을 적용 시켜야 함

* 회원 가입 API @get -> @post 로 수정, 로그인 뷰모델 에러 핸들링 로직 변경

* 회원 탈퇴할 경우 로그인 토큰을 제거하는 로직 추가

* chore: 필요하지 않은 코드 제거 및 suppress 구문 제거

* chore: @Suppress annotation 원복 및 주석 처리된 코드 제거

* Update android.gradle.plugin to v8.2.1

* 카페 검색 화면, 카페 상세 화면(바텀시트) 상세 로직 구현  (#190)

* TODO 추가

중복된 copy right 제거

* 카페 이미지 신고하기 기능 MVP 제외

필요 없는 개행 제거

* 최근 검색어가 존재하지 않은 경우에 대한 TextView 추가

* 최근 검색어 단일 삭제 기능 구현

* MapDetailBottomSheet 확장 상태에 따른 ImageView Visible 옵션 적용

완료한 TODO 제거

* MapDetailBottomSheet 옵션 버튼(케밥) 미세 조정

* visible, invisible animation 적용

* CafeDetailBottomSheet 축소 버튼 클릭 이벤트 조정

정상적으로 버튼이 사라지고 보이도록

* chore: 로그 확인용 코드, @Suppress annotation 제거

* refactor: common/ui 패키지 common/base 패키지로 네이밍 변경

* spotless check success

* 다이얼로그 fragment 변경

* edit: gradle setting

* manifest 수정

* CafeDetailModel common 모듈로 이동

* 삭제버튼(네비게이션) & 카페정보 항목명 수정

* chore: navigation action 네이밍 변경 및, TODO 제거,

* navigation 과 연동된 fragment 를 닫는 방식 변경

* 카페 정보 수정 요청 화면들 시안에 맞게 TitleText 크기 변경

30sp -> 25sp

* chore(deps): update android.gradle.plugin to v8.2.1

* 맵의 위치, 마커와 바텀시트의 카페 정보 동기화  (#193)

* 콘센트 여부 관련 미리 분기 처리

* SearchFragment 검색 카드뷰 elevation 0 으로 변경

* 현재 선택한 마커와 카페 정보 바텀시트의 정보 동기화

* 선택한 마커와 맵 위치 동기화

선택한 마커가 맵의 중앙에 찍히도록

* BottomSheet 초기 높이 설정 화면 전체의 60 퍼센트로 변경

60퍼센트가 정상적으로 반영되도록 state 설정 수정

* 맵 뷰가 전체 화면에 위에서 부터 40퍼센트만 차지하도록 변경

바텀시트에 의해 맵 뷰가 가려지지 않도록

* 선택된 마커의 아이콘을 다른 아이콘과 비교가 되도록 아이콘을 변경

* 맵 내에 축적바 제거 및 구현 완료한 TODO 제거

* 처음 선택된 마커 (진입 시 선택된 마커) 를 선택된 마커 아이콘으로 변경

* 바텀 시트가 화면을 꽉 채웠을 때, 뒤로가기 버튼을 누르면, 화면을 나가지 않고, 바텀시트가 축소 되도록 콜백 설정

* spotless check success

* agp version 8.1.4 로 롤백

* run build success

* 공지 사항 API 변경된 부분 반영 및 클릭 이벤트 구현  (#195)

* 공지 API endpoint 변경

* 홈 화면 공지사항 목록 recyclerview 고정 높이 적용

* 공지 사항 DTO 수정 및, 시안에 맞게 날짜 표기 방식 변경

* id Data type Int -> Long 으로 변경, 홈 화면 공지 카드 눌렀을 때 공지화면으로 넘어가도록 ClickListener 구현

int64 는 Long

* spotless check success

* fix(deps): update androidx.lifecycle to v2.7.0

* 서비스 이용 약관, 개인정보 처리방침 웹뷰 및 웹 브라우저 이동(blog, instagram, website) 구현  (#197)

* 내 계정 화면 서비스 이용약관, 개인정보 처리 방침 웹뷰 화면 추가 및 연동

* 온보딩 화면 서비스 이용약관, 개인정보 처리 방침 웹뷰 추가 및 연동

* 온보딩 닉네임 화면 버튼 텍스트 변경 다음 -> 완료

* TODO 추가

* TODO 추가

* 카페 정보 추가된 콘센트 정보 여부 반영

* TabLayout TabItem 텍스트 폰트 변경

app:tabTextAppearance 설정을 해야 폰트를 변경할 수 있음

* Url 을 통해 웹브라우저가 실행되도록 구현 (인스타그램만)

* 회원 가입, 탈퇴 완료 토스트 메세지 추가

* 서비스 이용약관 WebUrl 교체

* 로그아웃 토스트 메세지 추가

* 온보딩 화면 서비스 이용약관, 개인정보 처리방침 상세 페이지 확인 버튼을 누르면 체크 되도록 구현

* TODO 추가

완료한 TODO 제거

* 카페 정보 화면 블로그, 웹사이트 웹브라우저로 이동하는 기능 구현

* 블로그, 인스타, 웹사이트 사이에 점 추가

* spotless check success

* 콘센트 항목 추가

* 수정: 카페 정보 목록 명 및 힌트

* viewmodel 데이터 처리

* 수정: 뷰모델 데이터 관리

* 공지 화면 API 연동 및 공지 검색 기능 구현 (#199)

* 공지 사항 화면 API 연동 및 화면 구조 변경

* 공지 검색 기능 구현

API 가 수정되어야 함(search query 추가)

* spotless check success

* 수정: savedStateHandle 적용하여 데이터 관리, dto 불변

* 수정: 피드백

* chore(deps): update dependency com.google.devtools.ksp to v1.9.22-1.0.17

* fix(deps): update dependency com.google.firebase:firebase-bom to v32.7.1

* chore(deps): update test.roborazzi to v1.8.0

* 내 계정 화면 내에 앱 버전 정보 출력  (#203)

* 내 계정 화면 내에 앱 버전 정보 출력

* spotless check success

* fix(deps): update dependency com.google.android.gms:play-services-location to v21.1.0

* chore(deps): update android.gradle.plugin to v8.2.2

* 장소 검색 API distance(반경) 반영  (#205)

* 검색 화면 반경 1km 내에 위치한 장소만 마커가 찍히도록 로직 변경

거리, 위도, 경도 API 규격에 맞도록 Int -> Double 로 타입 변경

* TokenAuthenticator 내에서 token 을 제거하는 로직 주석처리

* 검색된 장소만 맵에 마커가 찍히도록 로직수정

* 검색 화면 반경 거리 수정

1km -> 2.5km 네이버 지도 참고

* chore(deps): update test.roborazzi to v1.9.0

* 앱 세로모드 고정 (#207)

* fix(deps): update moshi to v1.15.1

* chore(deps): update kotlin.detekt to v1.23.5

* 공지 내용 html 태그 핸들링 로직 추가 (#210)

* Html 핸들링 함수 추가

Html 태그를 띠고, 이를 반영해주는 기능 제공

* 공지 상세 하단 패딩값 제거

* fix(deps): update ktor.client.core to v2.3.8

* 수정: 하단 네비게이션, 지도 바텀시트

* 수정: 프라그먼트 상하단 공백

* chore(deps): update dependency gradle to v8.6

* fix(deps): update dependency org.junit.vintage:junit-vintage-engine to v5.10.2

* 수정: 안드로이드스튜디오 버전 up > gradle 버전 원복

* 수정

* chore(deps): update androidx.navigation to v2.7.7

* chore(deps): update dependency com.google.gms.google-services to v4.4.1

* fix(deps): update dependency com.google.firebase:firebase-bom to v32.7.2

* 카페 검색 화면내에 최근 검색 목록과 검색 결과 케이스를 분리    (#219)

* Debounce 0.5 초에서 0.3초로 변경

* 화면 세로 고정

* 장소 검색시 현재 사용자 위치 기준 2.5km 이내에 장소만 검색되도록 설정

* 사용하지 않는 함수 제거

* 검색을 통한 결과, 최근 검색 결과 리스트 아이템 분리

* 검색 결과가 존재하지 않을 때와, 최근 검색 결과가 존재하지 않는 케이스를 분리

* style check success

* Refresh 토큰을 통한 JWT 토큰 재발급 로직 추가  (#220)

* Refresh 토큰을 통한 JWT 토큰 재발급 로직 추가

* style check success

* style check success 및 Exception Handling 추가

토큰 재발급 로직 중 문제가 발생할 경우 RefreshTokenExpiredException 을 던져 로그아웃 되도록

* run build success

* Window Insets 관련 문제 사항들 수정 (#221)

* NavigationBar 영역 패딩이 필요한 화면들 패딩 별도 적용

* IntroActivity 필요 없는 코드 제거, Splash 노출 시간 수정

1초 -> 1.5초

* IntroActivity 및 LoginActivity statusBar 텍스트 및 아이콘이 안보이는 이슈 해결

* 지도가 나오는 화면들 status bar 배경색을 투명색으로 변경하여 status bar 영역에도 지도가 보이도록 설정

* style check success

* PhotoView 라이브러리 교체

* fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-coroutines-core to v1.8.0

* 홈 화면 내 공지 아이템을 클릭하면 공지 화면으로 이동해 해당 공지 아이템이 확장되도록 구현 (#223)

* fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.6.3

* chore(deps): update test.roborazzi to v1.10.1

* 앱 출시를 위한 세부 사항들 추가 및 수정  (#227)

* 홈 화면 내에 좌우 패딩에 의해 공지 카드가 스크롤시 짤리는 것을 방지

* 정보 수정 제안 화면 취소 버튼 숨김 처리(주석)

* gitignore 수정 및 추가

* release debug 앱 분리

* 문의 화면 내에 navigationBar 영역 padding 추가

* google-services 플러그인 네이밍 변경

* android-ci 파일 내에 keystore.properties 생성 로직 추가

* android-ci 파일 내에 secrets.properties 생성 로직 추가

* gitignore 내에 google-services.json 제외

* 수정된 google-services.json 추가

release, debug 앱을 분리하면서 google-services.json 수정

* fix(deps): update dependency io.getstream:photoview to v1.0.1

* fix(deps): update dependency androidx.hilt:hilt-navigation-fragment to v1.2.0

* fix(deps): update dependency io.coil-kt:coil to v2.6.0

* chore(deps): update android.hilt to v2.51

* 개인정보 제3자 제공 동의 웹뷰 연동 (#233)

* 개인정보 제3자 제공동의 웹뷰 화면 구성

* 개인정보 제3자 제공동의 웹뷰 화면 연동 및 버튼 클릭 이벤트 구현

* 회원탈퇴 화면 window insets 설정

* chore(deps): update dependency com.google.devtools.ksp to v1.9.22-1.0.18

* fix(deps): update dependency com.google.firebase:firebase-bom to v32.7.3

* fix(deps): update ktor.client.core to v2.3.9

* fix(deps): update dependency com.airbnb.android:lottie to v6.4.0

* 에러 핸들링 보완 및 windowInsets 관련 화면 설정  (#239)

* release 빌드시, 난독화, shrinkResources 활성화

* 에러 핸들링 보완 및 window inset 관련 처리

* proguard 설정 추가

* allowBackup false 로 설정

앱의 데이터가 자동으로 구글 클라우드에 백업되지 않도록 설정

* fix(deps): update dependency com.google.android.gms:play-services-location to v21.2.0

* chore(deps): update kotlin and ksp to v1.9.23

* chore(deps): update dependency com.google.devtools.ksp to v1.9.23-1.0.19

* fix(deps): update dependency com.google.firebase:firebase-bom to v32.7.4

* fix(deps): update test.kotest to v5.8.1

* chore(deps): update test.roborazzi to v1.11.0

* 구글 로그인 릴리즈 모드 활성화 (#246)

* google login release sha1 추가

* 주석 처리된 코드 및 개행 제거

* common 모듈, main 모듈 내에 model 난독화 제외

* Google Analytics, Firebase Crashlytics 연동 (#247)

* google analytics, firebase crashlytics 연동

빌드로직 코드 개선

* 사용하지 않는 의존성 제거

* firebase crashlytics release 빌드시 문제 해결

firebase/firebase-android-sdk#5562

* firebase convention plugin 적용

* chore(deps): update dependency gradle to v8.7

* fix(deps): update dependency com.google.firebase:firebase-bom to v32.8.0

* chore(deps): update kotlin.detekt to v1.23.6

* 최초로 위치 권한을 수락할 경우에도 내 위치가 지도에 보여지도록 구현 (#251)

* TODO 추가

* 최초로 위치권한 허용시 바로 내 위치가 지도에 표시되도록 구현

* TODO 제거

* Delete .github/FUNDING.yml (#252)

* fix(deps): update dependency com.squareup.retrofit2:retrofit to v2.11.0

* chore(deps): update android.hilt to v2.51.1

* fix(deps): update dependency org.robolectric:robolectric to v4.12

* 테스트 버전 수정  (#256)

* TimberInitializer 수정

* 누락된 파일 헤더 추가 및 중복된 파일 헤더 삭제

* app version update

* fix(deps): update dependency org.robolectric:robolectric to v4.12.1

* chore(deps): update dependency com.google.devtools.ksp to v1.9.23-1.0.20

* Fix: 정보수정제안 앱 다운현상 수정

* app version up (#261)

* fix(deps): update ktor.client.core to v2.3.10

* fix: T-465, T-463  (#263)

* 카페에 등록된 사진이 존재 하지 않을 경우, 텍스트문구 추가

fix T-465

* 카페 상세 정보 바텀시트 상단 마진 추가

fix T-463, statusbar 영역내에 아이콘과 바텀시트의 버튼이 겹치지 않도록

* 내 정보 수정 화면 statusBar 영역 padding 제거

* chore: app version up (#264)

* app version up

* app version up

* fix(deps): update dependency com.google.firebase:firebase-bom to v32.8.1

* chore(deps): update test.roborazzi to v1.12.0

* T-475 닉네임에 띄어쓰기가 존재할 경우, 완료 버튼을 눌러도 응답이 없는 문제 해결 (#268)

* 검색 화면 내에 현 지도에서 검색 버튼 추가

* mapper 네이밍 잘못 기입된 것 수정

* fix: T-475 닉네임에 띄어쓰기가 존재할 경우, 완료 버튼을 눌러도 응답이 없는 문제

* 현 지도에서 검색 버튼 비활성화

* 앱 버전 초기화

* fix(deps): update okhttp monorepo to v5.0.0-alpha.13

* fix(deps): update dependency com.google.android.gms:play-services-auth to v21.1.0

* fix(deps): update okhttp monorepo to v5.0.0-alpha.14

* fix(deps): update dependency androidx.activity:activity-ktx to v1.9.0

* fix(deps): update dependency androidx.core:core-ktx to v1.13.0

* fix(deps): update dependency androidx.datastore:datastore-preferences to v1.1.0

* chore(deps): update test.roborazzi to v1.13.0

* fix: T-464, T-471, T-479 (#276)

* 검색 화면 내에 현 지도에서 검색 버튼 추가

* mapper 네이밍 잘못 기입된 것 수정

* fix: T-475 닉네임에 띄어쓰기가 존재할 경우, 완료 버튼을 눌러도 응답이 없는 문제

* 현 지도에서 검색 버튼 비활성화

* 앱 버전 초기화

* fix: T-479 닉네임 수정 화면 하단 버튼이 너무 밑에 있는 문제

* fix: T-471 검색창 진입을 위해 검색창을 터치하고 나서 또 터치해야하는 문제

* fix: MapFragment 진입시 앱이 터지는 문제 해결

* fix: T-464 장소 정보 바텀 시트를 확장했을 때 바텀 시트 corner radius가 그대로인 문제

* chore: app version up

* fix: T-486, T-484  (#277)

* fix: T-486 정보수정제안의 화면에 스크롤이 끝까지 안가는 문제

* fix: T-484 닉네임 변경시 400: invalid paramter 로 내려오는 문제

* chore: app version up

* fix: T-477 지도의 카메라를 이동시켰을 경우, 현 지도에서 검색 기능 추가 (#278)

* refactor: data 모듈 접근 제한자 Internal 로 수정

* refactor: TokenDataSoure 통합

data 모듈 접근 제한자 Internal 로 수정

* fix: 유저 닉네임 변경 로직 변경

닉네임만 변경한 경우 내 정보 수정 API 가 아닌, 닉네임 수정 API 호출 하도록 변경

* fix: @nAmed 파라미터 수정

* feat: 현 지도에서 검색 버튼 위치 변경에 따른 활성화/비활성화 구현

* feat: 현 지도에서 검색 기능 구현

* feat: 현 지도에서 검색 시, 이전 마커 제거 로직 추가

SearchFragment 코드 최적화

* refactor: permissionsGranted 변수 뷰모델에서 관리

* refactor: retrofit authenticate 함수 예외처리 방식 변경

* chore: code style check success

* chore: app version up

* feat: 검색 화면으로 넘어가기 이전, LastCameraLocation 을 currentLocation 으로 업데이트

* fix(deps): update dependency androidx.core:core-ktx to v1.13.1

* fix(deps): update dependency androidx.datastore:datastore-preferences to v1.1.1

* fix(deps): update dependency com.google.android.gms:play-services-auth to v21.1.1

* fix(deps): update dependency com.google.android.material:material to v1.12.0

* chore(deps): update test.roborazzi to v1.14.0

* fix: T-490 스타벅스와 같은 키워드가 검색되지 않는 문제 (#286)

* fix: T-490 스타벅스와 같은 키워드가 검색되지 않는 문제

* chore: 구현 완료한 TODO 제거

* chore: app version up

* chore(deps): update test.roborazzi to v1.15.0

* chore(deps): update kotlin and ksp

* fix(deps): update ktor.client.core to v2.3.11

* fix(deps): update kotlin and ksp to v1.8.1

* fix(deps): update test.kotest to v5.9.0

* chore(deps): update dependency dev.zacsweers.moshix to v0.26.0

* chore: 이끔 정식 출시를 위한 app version up (#293)

* chore: 이끔 정식 출시를 위한 app version up (#294)

* chore: 이끔 정식 출시를 위한 app version up

* chore: 이끔 정식 출시를 위한 app version up

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kymjaehong <dwby.jr@gmail.com>
Co-authored-by: 김재홍 <hyeop@gimjaehong-ui-MacBookAir.local>
Co-authored-by: kymjaehong <82810842+kymjaehong@users.noreply.github.com>
Co-authored-by: Ji Sungbin <ji@sungb.in>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design tasks related to design enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant