-
Notifications
You must be signed in to change notification settings - Fork 0
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
[Android][예약 내역 API] Feat : 예약 신청 내역 화면 API 연동 및 기능 구현 완료 #156
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Related to: #150
Related to: #150
Related to: #150
Related to: #150
- FragmentMyReservationBinding을 사용하여 뷰 바인딩 초기화 및 리소스 정리 로직 구현 - MyReservationViewModel을 통해 사용자의 예약 상태(WAIT, APPROVE, REJECT)에 따른 예약 내역 조회 로직 구현 - 예약 내역을 표시하기 위한 RecyclerView에 ReservationHistoryAdapter 적용 및 레이아웃 매니저 설정 - RecyclerView 스크롤 리스너를 추가하여 스크롤이 끝에 도달할 때마다 추가 예약 내역을 비동기적으로 불러오는 로직 구현 - 사용자의 예약 상태 선택(ChipGroup)에 따라 해당 상태의 예약 내역만 조회하고 표시하는 기능 구현 - 예약 내역이 없을 경우 빈 상태 화면을 표시하는 로직 구현 Related to: #150
Related to: #150
- getMyReservationHistory 함수 구현: 사용자의 액세스 토큰, 정렬 타입(sortType), 마지막 조회된 예약 ID(lastReservationId)를 받아, ReservationService의 getReservationHistory 메소드를 호출하여 사용자의 예약 내역을 비동기적으로 조회 - 조회 과정 중 상태를 Resource 타입으로 감싸서 Flow를 통해 반환, 로딩 상태, 성공 상태, 오류 상태를 스트림으로 전달 - 성공적인 API 응답 처리 시, 응답 본문에서 예약 내역 데이터를 추출하여 Resource.Success로 감싸서 반환 - API 호출 실패 또는 예외 발생 시, Resource.Error를 반환하고 오류 로그 출력 Related to: #150
- DataSource 에서 받아온 값을 Model 객체로 변환하는 getMyReservationHistory 메서드 구현 Related to: #150
- 예약 내역 항목(ReservationHistoryItemBinding) 및 로딩 항목(ProgressBarItemBinding)을 위한 뷰 홀더(ReservationHistoryViewHolder, LoadingViewHolder) 구현 - getItemViewType을 오버라이드하여 항목 타입을 구분하고, 적절한 뷰 홀더 생성 로직 구현 - 예약 상태(WAIT, APPROVE, USED, REJECT)에 따라 다른 칩 색상과 텍스트 설정 - 예약 내역의 목록을 관리하는 reservationHistoryList와 이를 업데이트하는 함수(setReservationHistoryList, removeLoadingFooter, clearReservationHistoryList) 구현 - 페이지네이션을 위한 로딩 푸터 추가 및 제거 로직 구현 Related to: #150
- MyReservationViewModel에서 사용자의 예약 내역 상태를 관리하기 위한 _myReservationHistory MutableStateFlow 및 공개 StateFlow 정의 - 로딩 상태를 관리하기 위한 _isLoading MutableStateFlow와 이를 외부에서 관찰할 수 있도록 하는 isLoading StateFlow 정의 - fetchMyReservationHistory 함수 구현: 사용자의 액세스 토큰을 UserPreferencesRepository에서 조회하고, ReservationRepository의 getMyReservationHistory 함수를 호출하여 예약 내역을 비동기적으로 로드. 로딩 상태 관리 및 예외 처리 포함 - 로드된 예약 내역 데이터를 _myReservationHistory에 할당하고, 로딩 상태를 업데이트 Resolved: #150
kimseongwooo
approved these changes
Feb 22, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확인했습니다. 고생 많으습니다!
yeriinnn
changed the title
[AOS][예약 내역 API] Feat : 예약 신청 내역 화면 API 연동 및 기능 구현 완료
[Android][예약 내역 API] Feat : 예약 신청 내역 화면 API 연동 및 기능 구현 완료
Feb 26, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#️⃣ 연관된 이슈
📝 작업 내용
스크린샷 (선택)
2024-02-22.6.31.11.mov
💬 리뷰 요구사항(선택)