-
Notifications
You must be signed in to change notification settings - Fork 1
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
build: Android CI&CD 수정 #626
Merged
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
* fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) --------- Co-authored-by: hxeyexn <[email protected]>
Co-authored-by: BurningFalls <[email protected]>
* ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용
* ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]>
* fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]>
* fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정
* fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]>
* fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]>
* fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 * fix: file changed 인식 불가로 인한 순서 변경 (#511) --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]>
* fix: ApiResponseHandler try-catch문 범위 수정 * refactor: StaccatoApiService의 반환값 Response로 wrapping * refactor: StaccatoDataSource의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository를 사용하는 ViewModel에 에러 처리 변경사항 적용 * feat: MessageUtils.kt에 showSnackBarWithAction 추가 * feat: TimelineFragment 네트워크 에러 발생 시 스낵바 처리 * feat: MemoryFragment 네트워크 에러 발생 시 스낵바 처리 * feat: StaccatoFragment 네트워크 에러 발생 시 스낵바 처리 * refactor: 불필요한 Log.e 메서드 제거 * style: 네트워크 에러 메시지 상수명 통일 * refactor: MessageUtils에 getSnackBarWithAction 메서드 추가 * feat: Memory 생성/수정 화면 에러 핸들링 * feat: Staccato 생성/수정 화면 에러 핸들링 * feat: 마이페이지 화면 네트워크 에러 핸들링 * fix: 스타카토 조회 화면 코멘트 에러 핸들링 * refactor: 추억 에러 관련 data class 리네이밍 Photo -> Thumbnail * refactor: 추억 생성 에러 data class 리네이밍 MemoryCreate -> MemoryCreation * refactor: 메서드명 카멜 케이스로 통일 (reCreate) * refactor: 추억 업데이트 에러 data class 리네이밍 MemoryInitialize -> MemoryInitialization * refactor: getSnackBarWithAction의 length를 named arguments로 수정 * refactor: EXCEPTION_NETWORK_ERROR_MESSAGE 텍스트 내용 수정 * refactor: 이미지 업로드 실패 메시지 상수화 * refactor: StaccatoUpdateViewModel의 메시지 상수화 및 PhotoException 분리 * refactor: 스낵바 Util 불필요한 apply 제거
* build: android ci 타겟 브랜치 변경 - develop-an -> develop 브랜치로 변경 * build: 개발 단계용 android ci, cd 설정 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: 개발 단계용 android ci, cd 설정 - 타겟 브랜치 변경 : develop -> release-an 으로 변경 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: android ci 워크플로우 이름 변경 * build: android cd 재설정 - 구글 플레이 콘솔 자동 배포 설정 * build: Play Console 배포 설정 변경 - 서비스 계정 Key 파일 secret 변수 변경 - whatsNewDirectory 설정 * build: android ci 적용 브랜치 수정 - release-an 브랜치, main 브랜치 추가
* ui: 정렬 메뉴 ui 구현 * feat: 나의 추억들 정렬 기능 구현 * feat: 기간 유무에 따른 추억 필터 기능 구현 * refactor: 정렬 타입에 따른 정렬 선택 로직을 view model이 가지도록 변경 - 정렬 타입과 정렬 menu id를 가지고 있는 SortType Enum Class 생성 * refactor: timeline ui model 셋팅 로직 수정 * refactor: 사용자가 선택한 menuId와 일치하는 SortType을 찾는 로직을 팩토리 함수로 분리 * refactor: 원본 timeline clear 로직 추가 * refactor: 기간 있는 추억 내림차순 정렬 조건 추가 * fix: 추억 삭제 후 나의 추억들(타임라인)이 갱신되지 않는 오류 수정 * fix: 나의 추억들(타임라인) 정렬 시 포커스가 유지되는 문제 해결 * refactor: originalTimeline 타입 변경
* build: androidx camera 의존성 추가 - 버전 카탈로그 활용 * build: AndroidManifest 카메라 접근 기능 수정 - android.hardware.camera.any 로 설정하여 전, 후면 모두 사용 가능하도록 변경 * ui: 사진 업로드 다이얼로그에서 ㄷ사용할 문자열 리소스 설정 - 권한 관련 안내 메시지 추가 * feat: 카메라 기능 추가 - 접근 권한 확인 후 카메라 실행 - 카메라에서 촬영한 사진을 가져와 Activity에게 이미지 URI 전달 * style: ktlint 적용 * fix: 권한 요청 스낵바와 에러 메시지 스낵바 분리 * ui: 권한 요청 스낵바의 문구 수정 * fix: 외부 저장소 쓰기 권한 추가
* feat: Hikari CP, Thread 설정 변경 * fix: writer, reader에 각각 hikari 설정
# Conflicts: # .github/workflows/android-cd.yml
* fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 * fix: file changed 인식 불가로 인한 순서 변경 (#511) * feat: 모든 화면에서 네트워크 에러 핸들링 #501 (#516) * fix: ApiResponseHandler try-catch문 범위 수정 * refactor: StaccatoApiService의 반환값 Response로 wrapping * refactor: StaccatoDataSource의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository를 사용하는 ViewModel에 에러 처리 변경사항 적용 * feat: MessageUtils.kt에 showSnackBarWithAction 추가 * feat: TimelineFragment 네트워크 에러 발생 시 스낵바 처리 * feat: MemoryFragment 네트워크 에러 발생 시 스낵바 처리 * feat: StaccatoFragment 네트워크 에러 발생 시 스낵바 처리 * refactor: 불필요한 Log.e 메서드 제거 * style: 네트워크 에러 메시지 상수명 통일 * refactor: MessageUtils에 getSnackBarWithAction 메서드 추가 * feat: Memory 생성/수정 화면 에러 핸들링 * feat: Staccato 생성/수정 화면 에러 핸들링 * feat: 마이페이지 화면 네트워크 에러 핸들링 * fix: 스타카토 조회 화면 코멘트 에러 핸들링 * refactor: 추억 에러 관련 data class 리네이밍 Photo -> Thumbnail * refactor: 추억 생성 에러 data class 리네이밍 MemoryCreate -> MemoryCreation * refactor: 메서드명 카멜 케이스로 통일 (reCreate) * refactor: 추억 업데이트 에러 data class 리네이밍 MemoryInitialize -> MemoryInitialization * refactor: getSnackBarWithAction의 length를 named arguments로 수정 * refactor: EXCEPTION_NETWORK_ERROR_MESSAGE 텍스트 내용 수정 * refactor: 이미지 업로드 실패 메시지 상수화 * refactor: StaccatoUpdateViewModel의 메시지 상수화 및 PhotoException 분리 * refactor: 스낵바 Util 불필요한 apply 제거 * build: 안드로이드 CI/CD 재설정 #445 (#513) * build: android ci 타겟 브랜치 변경 - develop-an -> develop 브랜치로 변경 * build: 개발 단계용 android ci, cd 설정 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: 개발 단계용 android ci, cd 설정 - 타겟 브랜치 변경 : develop -> release-an 으로 변경 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: android ci 워크플로우 이름 변경 * build: android cd 재설정 - 구글 플레이 콘솔 자동 배포 설정 * build: Play Console 배포 설정 변경 - 서비스 계정 Key 파일 secret 변수 변경 - whatsNewDirectory 설정 * build: android ci 적용 브랜치 수정 - release-an 브랜치, main 브랜치 추가 * fix: 안드로이드 CI 오류 수정 #519 (#521) * fix: android-ci.yml 파일 수정 * fix: android-ci.yml 파일 수정 * feat: 나의 추억들 정렬 기능 구현 #503 (#507) * ui: 정렬 메뉴 ui 구현 * feat: 나의 추억들 정렬 기능 구현 * feat: 기간 유무에 따른 추억 필터 기능 구현 * refactor: 정렬 타입에 따른 정렬 선택 로직을 view model이 가지도록 변경 - 정렬 타입과 정렬 menu id를 가지고 있는 SortType Enum Class 생성 * refactor: timeline ui model 셋팅 로직 수정 * refactor: 사용자가 선택한 menuId와 일치하는 SortType을 찾는 로직을 팩토리 함수로 분리 * refactor: 원본 timeline clear 로직 추가 * refactor: 기간 있는 추억 내림차순 정렬 조건 추가 * fix: 추억 삭제 후 나의 추억들(타임라인)이 갱신되지 않는 오류 수정 * fix: 나의 추억들(타임라인) 정렬 시 포커스가 유지되는 문제 해결 * refactor: originalTimeline 타입 변경 * ui: 기분 캐릭터 변경 #522 (#523) * ui: 음표 기분 캐릭터 추가 * refactor: 음표 기분 캐릭터 적용 * feat: 카메라 촬영 기능 연결 #514 (#524) * build: androidx camera 의존성 추가 - 버전 카탈로그 활용 * build: AndroidManifest 카메라 접근 기능 수정 - android.hardware.camera.any 로 설정하여 전, 후면 모두 사용 가능하도록 변경 * ui: 사진 업로드 다이얼로그에서 ㄷ사용할 문자열 리소스 설정 - 권한 관련 안내 메시지 추가 * feat: 카메라 기능 추가 - 접근 권한 확인 후 카메라 실행 - 카메라에서 촬영한 사진을 가져와 Activity에게 이미지 URI 전달 * style: ktlint 적용 * fix: 권한 요청 스낵바와 에러 메시지 스낵바 분리 * ui: 권한 요청 스낵바의 문구 수정 * fix: 외부 저장소 쓰기 권한 추가 * deploy: v.1.2.0 배포 준비 #515 (#525) * refactor: versionCode 및 versionName 업데이트 - versionCode: 4 -> 5 - versionName: "1.1.0" -> "1.2.0" * ui: 마이페이지에 노출될 앱 버전 명 업데이트 - 앱 버전: "1.1.0" -> "1.2.0" * docs: 1.2.0 버전 출시 노트 추가 * deploy: v.1.2.0 배포 (#526) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * deploy: 1.1.1 배포 #484 (#491) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) --------- Co-authored-by: hxeyexn <[email protected]> * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * deploy: 1.1.2 배포 (#504) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * deploy: 1.1.3 배포 (#506) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 * deploy: 1.2.0 배포 (#510) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> * fix: file changed 인식 불가로 인한 순서 변경 (#511) * feat: 모든 화면에서 네트워크 에러 핸들링 #501 (#516) * fix: ApiResponseHandler try-catch문 범위 수정 * refactor: StaccatoApiService의 반환값 Response로 wrapping * refactor: StaccatoDataSource의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository를 사용하는 ViewModel에 에러 처리 변경사항 적용 * feat: MessageUtils.kt에 showSnackBarWithAction 추가 * feat: TimelineFragment 네트워크 에러 발생 시 스낵바 처리 * feat: MemoryFragment 네트워크 에러 발생 시 스낵바 처리 * feat: StaccatoFragment 네트워크 에러 발생 시 스낵바 처리 * refactor: 불필요한 Log.e 메서드 제거 * style: 네트워크 에러 메시지 상수명 통일 * refactor: MessageUtils에 getSnackBarWithAction 메서드 추가 * feat: Memory 생성/수정 화면 에러 핸들링 * feat: Staccato 생성/수정 화면 에러 핸들링 * feat: 마이페이지 화면 네트워크 에러 핸들링 * fix: 스타카토 조회 화면 코멘트 에러 핸들링 * refactor: 추억 에러 관련 data class 리네이밍 Photo -> Thumbnail * refactor: 추억 생성 에러 data class 리네이밍 MemoryCreate -> MemoryCreation * refactor: 메서드명 카멜 케이스로 통일 (reCreate) * refactor: 추억 업데이트 에러 data class 리네이밍 MemoryInitialize -> MemoryInitialization * refactor: getSnackBarWithAction의 length를 named arguments로 수정 * refactor: EXCEPTION_NETWORK_ERROR_MESSAGE 텍스트 내용 수정 * refactor: 이미지 업로드 실패 메시지 상수화 * refactor: StaccatoUpdateViewModel의 메시지 상수화 및 PhotoException 분리 * refactor: 스낵바 Util 불필요한 apply 제거 * build: 안드로이드 CI/CD 재설정 #445 (#513) * build: android ci 타겟 브랜치 변경 - develop-an -> develop 브랜치로 변경 * build: 개발 단계용 android ci, cd 설정 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: 개발 단계용 android ci, cd 설정 - 타겟 브랜치 변경 : develop -> release-an 으로 변경 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: android ci 워크플로우 이름 변경 * build: android cd 재설정 - 구글 플레이 콘솔 자동 배포 설정 * build: Play Console 배포 설정 변경 - 서비스 계정 Key 파일 secret 변수 변경 - whatsNewDirectory 설정 * build: android ci 적용 브랜치 수정 - release-an 브랜치, main 브랜치 추가 * fix: 안드로이드 CI 오류 수정 #519 (#521) * fix: android-ci.yml 파일 수정 * fix: android-ci.yml 파일 수정 * feat: 나의 추억들 정렬 기능 구현 #503 (#507) * ui: 정렬 메뉴 ui 구현 * feat: 나의 추억들 정렬 기능 구현 * feat: 기간 유무에 따른 추억 필터 기능 구현 * refactor: 정렬 타입에 따른 정렬 선택 로직을 view model이 가지도록 변경 - 정렬 타입과 정렬 menu id를 가지고 있는 SortType Enum Class 생성 * refactor: timeline ui model 셋팅 로직 수정 * refactor: 사용자가 선택한 menuId와 일치하는 SortType을 찾는 로직을 팩토리 함수로 분리 * refactor: 원본 timeline clear 로직 추가 * refactor: 기간 있는 추억 내림차순 정렬 조건 추가 * fix: 추억 삭제 후 나의 추억들(타임라인)이 갱신되지 않는 오류 수정 * fix: 나의 추억들(타임라인) 정렬 시 포커스가 유지되는 문제 해결 * refactor: originalTimeline 타입 변경 * ui: 기분 캐릭터 변경 #522 (#523) * ui: 음표 기분 캐릭터 추가 * refactor: 음표 기분 캐릭터 적용 * feat: 카메라 촬영 기능 연결 #514 (#524) * build: androidx camera 의존성 추가 - 버전 카탈로그 활용 * build: AndroidManifest 카메라 접근 기능 수정 - android.hardware.camera.any 로 설정하여 전, 후면 모두 사용 가능하도록 변경 * ui: 사진 업로드 다이얼로그에서 ㄷ사용할 문자열 리소스 설정 - 권한 관련 안내 메시지 추가 * feat: 카메라 기능 추가 - 접근 권한 확인 후 카메라 실행 - 카메라에서 촬영한 사진을 가져와 Activity에게 이미지 URI 전달 * style: ktlint 적용 * fix: 권한 요청 스낵바와 에러 메시지 스낵바 분리 * ui: 권한 요청 스낵바의 문구 수정 * fix: 외부 저장소 쓰기 권한 추가 * deploy: v.1.2.0 배포 준비 #515 (#525) * refactor: versionCode 및 versionName 업데이트 - versionCode: 4 -> 5 - versionName: "1.1.0" -> "1.2.0" * ui: 마이페이지에 노출될 앱 버전 명 업데이트 - 앱 버전: "1.1.0" -> "1.2.0" * docs: 1.2.0 버전 출시 노트 추가 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: Somin Lee <[email protected]> * fix: Android CD 수정 #527 (#528) * fix: push branch 에 release-an 추가 * fix: 출시 노트 옵션 파일경로 수정 * chore: Thread, Hikari CP 변경 (#518) * feat: Hikari CP, Thread 설정 변경 * fix: writer, reader에 각각 hikari 설정 * feat: 기본 추억 제목 변경 #530 (#531) * feat: 기본 추억 이름을 ~의 추억으로 설정 * refactor: 변수 사용 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> Co-authored-by: Somin Lee <[email protected]>
* fix: 스타카토 삭제 시 마커가 갱신되지 않는 오류 해결 * build: versionCode 업그레이드 - versionCode: 5 -> 6 --------- Co-authored-by: Junyoung-WON <[email protected]>
* refactor: Moment 단위 테스트 픽스처 리팩터링 * refactor: 메서드 순서 조정 * refactor: 메서드명 변경 * refactor: 컨텍스트 재사용 구조로 controller 단위 테스트 리팩터링 * refactor: 픽스처 메서드명 변경 * refactor: 정렬 책임 분리 * feat: 스타카토 CUD 시 추억 수정일시 갱신되도록 구현 * refactor: 서비스 테스트에서 하위 계층 테스트에서 이미 검증했던 부분에 대한 검증 제거 * refactor: MomentRequest 픽스처 분리 * refactor: flush 전에 updatedAt 갱신하도록 listener 변경 * test: test 오류 수정 * feat: 최근 수정 순으로 추억 정렬 * feat: 최신순/오래된순으로 추억 정렬 * feat: 기간이 있는 추억만 필터링하여 조회 * feat: 추억 목록 조회 시 필터링 정렬 조건 받도록 컨트롤러 구현 * feat: 기본 필터링/정렬 조건 세팅 * refactor: 필터링 Enum 분리 * refactor: 정렬 Enum 분리 * refactor: 정렬과 필터링 관심사 분리 * fix: 유효하지 않은 필터링 값은 무시하도록 구현 * docs: API 명세서 작성 * fix: 테스트 인자 타입 오류 수정 * test: 유효하지 않은 필터링 조건은 무시하는 컨트롤러 테스트 추가 * docs: 명세서 예시 수정 * docs: 사용하지 않는 query string은 명세서에 뜨지 않도록 수정 * docs: 정렬/필터링 값 설명 보충 * refactor: 중복 메서드 제거 * refactor: RepositoryTest 추상 클래스 분리 및 JpaAuditing 설정 활성화를 위한 RepositoryTestConfig 분리 * refactor: 리스너 콜백을 콜백 메서드로 리팩터링 * refactor: MemoryMembers -> Memories * refactor: 메서드 분리 * refactor: updatedAt에 대한 setter 메서드만 작성 * refactor: 클래스 참조 제거 * refactor: ?filters={필터 타입, 필터 타입} 방식으로 구현 변경 * test: 테스트 설명 오류 수정 * refactor: 인스턴스 메서드로 리팩터링 * refactor: Memories 클래스 제거
* refactor: memory -> category 변경 * refactor: memory -> category 변경 * test: CategoryController 테스트 작성 * refactor: v2를 RequestMapping에서 한번에 처리 * refactor: moment -> staccato 변경 * test: StaccatoController 테스트 작성 * refactor: 주석 삭제 * refactor: 코드 축약 * refactor: v2 삭제 * refactor: 접근제어자 private으로 변경 * refactor: swagger 설명의 추억 -> 스타카토 추가 변경 * refactor: swagger 설명의 추억 -> 스타카토 추가 변경 * fix: 이전 PR 수정사항 반영 * refactor: ControllerTest extend 적용 * refactor: MemoryReadRequest -> CategoryReadRequest 변경 및 적용
* refactor: ResponseResult interface와 응답 class 분리 * refactor: Exception message 기본 인자 설정 - ResponseResult Exception의 message 파라미터에 기본 인자 설정 * refactor: 204 응답 처리 로직 제거 * feat: NetworkResultCall 구현 * refactor: status code, exception 메시지 상수화 * feat: NetworkResultCallAdapter 구현 * feat: CallAdapterFactory 구현 * feat: Retrofit 초기화 시 CallAdapterFactory 추가 * refactor: 타임라인 기능 CallAdapter 적용 * refactor: 카테고리(전 추억) 기능 CallAdapter 적용 * refactor: 스타카토 기능 CallAdapter 적용 * refactor: 댓글 기능 CallAdapter 적용 * refactor: 이미지 업로드 기능 CallAdapter 적용 * refactor: 마이페이지 기능 CallAdapter 적용 * refactor: 로그인 기능 CallAdapter 적용 * refactor: 멤버 기능 CallAdapter 적용 * refactor: 이전 handleApiResponse 제거 * refactor: handleApiResponse2 이름 변경 - 이전: handleApiResponse2 - 이후: handleApiResponse * refactor: ResponseResult -> ApiResult로 이름 변경 * refactor: ApiResponseHandler 이름 변경 - 이전: ApiResponseHandler - 이후: ApiResultHandler * refactor: NetworkResultCall 이름 변경 - 이전: NetworkResultCall - 이후: ApiResultCall * refactor: NetworkResultCallAdapter 이름 변경 - 이전: NetworkResultCallAdapter - 이후: ApiResultCallAdapter * refactor: NetworkResultCallAdapterFactory 이름 변경 - 이전: NetworkResultCallAdapterFactory - 이후: ApiResultCallAdapterFactory * refactor: ApiResult 처리 로직 추가 * refactor: 카테고리 리포지터리 ApiResult 처리 확장 함수 적용 * refactor: 스타카토 리포지터리 ApiResult 처리 확장 함수 적용 * refactor: 타임라인 리포지터리 ApiResult 처리 확장 함수 적용 * refactor: 마이페이지 리포지터리 ApiResult 처리 확장 함수 적용 * refactor: 댓글 리포지터리 ApiResult 처리 확장 함수 적용 * refactor: 멤버 리포지터리 ApiResult 처리 확장 함수 적용 * refactor: 로그인 리포지터리 ApiResult 처리 확장 함수 적용 * refactor: 이미지 리포지터리 ApiResult 처리 확장 함수 적용 * build: coroutines test 의존성 추가 * build: mockwebserver 의존성 추가 * build: JUnit5 의존성 추가 * feat: CoroutinesTestExtension 추가 * test: api 요청 성공(200) 시 CallAdapter 동작 테스트 추가 - 테스트 시나리오: 유효한 형식의 카테고리로 생성을 요청 * test: api 요청 실패(400) 시 CallAdapter 동작 테스트 추가 - 테스트 시나리오: 유효하지 않은 형식의 카테고리로 생성을 요청 * test: MockResponse 생성 로직 함수로 분리 * test: api 요청 실패(413) 시 CallAdapter 동작 테스트 추가 - 테스트 시나리오: 20MB를 초과하는 사진을 업로드 요청 * test: api 요청 실패(예외 발생) 시 CallAdapter 동작 테스트 추가 - 테스트 시나리오: 서버의 응답이 없는 경우 * test: api 요청 실패(500) 시 CallAdapter 동작 테스트 추가 - 테스트 시나리오: 서버 장애 발생 * test: api 요청 실패(403) 시 CallAdapter 동작 테스트 추가 - 테스트 시나리오: 댓글 삭제를 요청한 사용자와 댓글 작성자의 인증 정보 불일치 * test: api 요청 실패(401) 시 CallAdapter 동작 테스트 추가 - 테스트 시나리오: 인증되지 않은 사용자가 카테고리 생성을 요청 * test: api 요청 성공(200) CallAdapter 테스트 상태 코드 201로 수정 - api 요청 성공(200) 코드 작성 시 201을 200으로 잘못 작성함 - 따라서 200을 201로 수정함 * test: api 요청 성공(200) 시 CallAdapter 테스트 추가 - 테스트 시나리오: 존재하는 카테고리를 조회 * test: api 응답 TestFixture 추가 * refactor: CallAdapterTest 이름 변경 - 이전: CallAdapterTest - 이후: ApiResultCallAdapterTest * refactor: request test fixture 변수를 함수로 변경 - Fixture를 함수로 분리하면 테스트 독립성을 더욱 보장할 수 있음 * refactor: makeFakeImageFile() 함수 이름 변경 - 이전: makeFakeImageFile() - 이후: createFakeImageFile() * refactor: MockWebServerFixture 이름 변경 - 이전: MockWebServerFixture - 이후: MockWebServerProvider * refactor: makeMockResponse() 함수 이름 변경 - 이전: makeMockResponse() - 이후: createMockResponse() * style: ktlintformat * refactor: 변수 타입 명시 * build: testLogging 추가 * build: testLogging event 추가 - standardError, standardOut 테스트 로그 이벤트 추가 * build: testLogging exceptionFormat 설정 * test: setUp()에서 MockWebServer 초기화 * test: assertTrue -> assertInstanceOf로 변경 * fix: ci 수정을 위한 response 출력문 추가 * fix: ci 오류 해결을 위한 errorBody 출력문 추가 * test: StaccatoClient 초기화 * refactor: retrofit 초기화 방식 변경 - 이전: StaccatoClient에서 초기화 - 이후: StaccatoApplication의 동반 객체에서 retrofit 지연 초기화 * refactor: CI 오류 해결을 위한 print문 제거 * build: AssertJ 의존성 추가 * test: AssertJ를 활용하여 검증 코드 수정 * build: junit vintage engine 의존성 추가 - JUnit4에서 작성된 테스트를 실행시키기 위해 junit vintage engine 의존성 추가 * refactor: FakeFileProvider, ApiDataFixture 폴더 이동 * style: 불필요한 import 제거 * style: trailing comma 제거 * test: api 요청 실패(413) 시 CallAdapter 동작 테스트 명 변경 - 서버의 이미지 제한 용량 변경과 관계 없도록 수정 * refactor: callType 변수를 responseType 으로 이름 변경 - Call<T>의 파라미터 클래스 T의 타입을 획득하여 저장하는 변수라는 것을 명시적으로 나타내기 위해 변수명 변경 * refactor: proxy 변수를 delegate 로 이름 변경 - delegate 패턴을 사용하고 있다는 것을 좀 더 명시적으로 나타내도록 변수명 수정 * refactor: ApiResult<T> 처리 함수 표현식으로 변경 * test: 조회 성공(200) 테스트 FakeApiService 적용 - 네트워크 중심으로 테스트가 이루어지도록 FakeApiService를 활용해 CallAdapter 동작 테스트 수정 * test: 생성 성공/실패/예외 테스트 FakeApiService 적용 - 생성 성공(201), 실패(400, 401, 500), 예외 - 네트워크 중심으로 테스트가 이루어지도록 FakeApiService를 활용해 CallAdapter 동작 테스트 수정 * test: 인증 정보 불일치(403) 테스트 FakeApiService 적용 - 네트워크 중심으로 테스트가 이루어지도록 FakeApiService를 활용해 CallAdapter 동작 테스트 수정 * test: CallAdapterTest 내 사용하지 않는 ApiService 제거 * test: 테스트명 오타 수정 * test: dto 패키지 추가 * test: Inline 학습 테스트 추가 * style: 코드 formatting * test: Inline 학습 테스트 assertAll 주석 처리 * refactor: 예외 세분화 및 ApiResult<T>.onException이 예외 상태를 포획 하도록 수정 * refactor: LoginRepository에서 사용자 토큰을 저장하도록 변경 - 이전: LoginViewModel에서 SharedPreferences에 사용자 토큰 저장 - 이후: LoginRepository에서 SharedPreferences에 사용자 토큰 저장 * refactor: ApiResult<T> 확장함수 inline 키워드 추가 * refactor: ApiResult<T> 성공, 서버에러, 예외 별 처리 확장함수 파라미터명 변경 - 이전: executable - 이후: action * refactor: MemberRepository에서 사용자 토큰을 저장하도록 변경 - 이전: RecoveryViewModel에서 SharedPreferences에 사용자 토큰 저장 - 이후: RecoveryRepository에서 SharedPreferences에 사용자 토큰 저장 * refactor: ApiResult<Unit> 함수 추가 및 적용 * refactor: ApiResult<T>.onServerError 확장함수 status 파라미터 제거
* chore: 사용되지 않는 interface 파일 삭제 * refactor: PhotoAttachFragment의 uriSelectedListener가 초기화 되지 않았을 때 예외 구체화 * refactor: formDataName 정의를 위한 String 상수를 FileUtils.kt로 이동 * feat: 마이 페이지에서 프로필 이미지 변경 기능 구현 * refactor: MyPageMenuHandler -> MyPageHandler로 이름 변경 * feat: 프로필 이미지 변경 실패 메시지 추가 및 예외 처리 * ui: 메인 화면 프로필 사진 테두리 디자인 수정 * refactor: 마이페이지에서 네트워크 요청 대신 캐시 메모리로 멤버 프로필 로드 * feat: SharedViewModel에 Hilt 적용 및 멤버 프로필 로직 추가 * feat: UserInfoPreferencesManager에 프로필 사진, 닉네임, 복구 코드 관련 로직 추가 * feat: 메인 화면 진입 시 멤버 프로필 불러오는 로직 추가 * feat: 메인에서 마이페이지 이동 시 ActivityResultLauncher 적용 * ui: 타임라인 타이틀 사용자 닉네임 표시 * refactor: 불필요한 데이터 바인딩 변수 제거 * refactor: ApiResult의 제네릭 타입 제약 제거 * refactor: MyPageRemoteDataSource 추상화 추가 * refactor: MyPageRemoteDataSource 추상화 적용 * refactor: MyPageLocalDataSource 추상화 추가 * refactor: UserInfoPreferencesManager가 MyPageLocalDataSource를 구현하도록 수정 * refactor: MyPageLocalDataSource 추상화 적용 * refactor: SharedPreferencesModule 추가 * refactor: MyPageDefaultRepository에 MyPageLocalDataSource 추가 * refactor: 메인 화면, 마이페이지 화면에 MyPageDefaultRepository 적용 * refactor: 프로퍼티 이름에서 멤버 변수를 뜻하는 m 키워드 제거 * refactor: 닉네임, 복구코드 관련 메서드 반환 타입 non-nullable로 수정 * refactor: 바인딩 어댑터 formatNickname 가독성 개선 * style: 컨벤션에 맞게 메서드 순서 변경 * delete: 불필요한 drawableRes 파일 삭제 * ui: 프로필 사진 수정 버튼 터치 영역 확대 * refactor: MyPageActivity 메서드 순서 변경 * fix: StaccatoDetailResponse 응답값 매핑 오류 수정 #606 (#607) * fix: 오타 수정 * refactor: 바인딩 변수 네이밍 변경 menuHandler -> myPageHandler * refactor: EMPTY_STRING를 MemberProfile 내부로 이동 --------- Co-authored-by: linirini <[email protected]>
* refactor: MemoryDataSource의 메서드 파라미터명 변경 메서드의 파라미터명 변경 - memoryId -> categoryId - newMemory -> newCategory * refactor: MemoryDataSource의 메서드명 변경 메서드명 변경 - ...Memory -> ...Category - getMemories -> getCategories * refactor: MemoryDataSource를 CategoryDataSource로 변경 * refactor: MemoryRemoteDataSource의 프로퍼티명 변경 - memoryApiService -> categoryApiService * refactor: MemoryRemoteDataSource 클래스명 변경 - MemoryRemoteDataSource -> CategoryRemoteDataSource * refactor: MemoryDefaultRepository의 프로퍼티명 변경 - memoryDataSource -> categoryDataSource * refactor: MemoryDefaultRepository의 메서드 파라미터명 변경 - memoryId -> categoryId - newMemory -> newCategory * refactor: MemoryDefaultRepository의 클래스명 변경 - MemoryDefaultRepository -> CategoryDefaultRepository * refactor: data 패키지의 memory 디렉터리명을 category 로 변경 * refactor: MemoriesResponse의 SerialName 값 변경 - memories -> categories * refactor: MemoryCandidateResponse의 SerialName 값 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: MemoriesResponse의 프로퍼티명 변경 - memories -> categories * refactor: MemoryCandidateResponse의 프로퍼티명 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: MemoriesResponse 클래스명 변경 - MemoriesResponse -> CategoriesResponse * refactor: MemoryCandidateResponse 클래스명 변경 - MemoryCandidateResponse -> CategoryCandidateResponse * refactor: MemoryCreationResponse의 SerialName 값 변경 - memoryId -> categoryId * refactor: MemoryCreationResponse의 프로퍼티명 변경 - memoryId -> categoryId * refactor: MemoryCreationResponse 클래스명 변경 - MemoryCreationResponse -> CategoryCreationResponse * refactor: MemoryRequest의 SerialName 값 변경 - memoryThumbnailUrl -> categoryThumbnailUrl - memoryTitle -> categoryTitle * refactor: MemoryRequest의 프로퍼티명 변경 - memoryThumbnailUrl -> categoryThumbnailUrl - memoryTitle -> categoryTitle * refactor: MemoryRequest 클래스명 변경 - MemoryRequest -> CategoryRequest * refactor: MemoryResponse의 SerialName 값 변경 - memoryId -> categoryId - memoryThumbnailUrl -> categoryThumbnailUrl - memoryTitle -> categoryTitle * refactor: MemoryResponse의 프로퍼티명 변경 - memoryId -> categoryId - memoryThumbnailUrl -> categoryThumbnailUrl - memoryTitle -> categoryTitle * refactor: MemoryResponse 클래스명 변경 - MemoryResponse -> CategoryResponse * refactor: MemoryStaccatoDto 클래스명 변경 - MemoryStaccatoDto -> CategoryStaccatoDto * refactor: data.dto의 memory 디렉터리명을 category로 변경 * refactor: StaccatoCreationRequest의 SerialName 변경 - memoryId -> categoryId * refactor: StaccatoCreationRequest의 프로퍼티명 변경 - memoryId -> categoryId * refactor: StaccatoCreationRequest의 SerialName 값 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: StaccatoResponse의 SerialName 값 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: StaccatoResponse의 프로퍼티명 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: StaccatoUpdateRequest의 SerialName 값 변경 - memoryId -> categoryId * refactor: StaccatoUpdateRequest의 프로퍼티명 변경 - memoryId -> categoryId * refactor: Memory의 프로퍼티명 변경 - memoryId -> categoryId - memoryThumbnailUrl -> categoryThumbnailUrl - memoryTitle -> categoryTitle * refactor: Memory의 클래스명을 Category로 변경 * refactor: MemoryCandidate의 프로퍼티명 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: MemoryCandidate의 클래스명 변경 - MemoryCandidate -> CategoryCandidate * refactor: MemoryCandidates의 프로퍼티명 변경 - memoryCandidate -> categoryCandidates * refactor: MemoryCandidates findBy 메서드의 파라미터명 변경 - memoryId -> categoryId * refactor: MemoryCandidates from 메서드의 파라미터명 변경 - memoryCandidate -> categoryCandidate * refactor: MemoryCandidates의 동반객체 프로퍼티명 변경 - emptyMemoryCandidates -> emptyCategoryCandidates * refactor: MemoryCandidates 클래스명 변경 - MemoryCandidates -> CategoryCandidates * refactor: MemoryStaccato 클래스명 변경 - MemoryStaccato -> CategoryStaccato * refactor: NewMemory의 프로퍼티명 변경 - memoryThumbnailUrl -> categoryThumbnailUrl - memoryTitle -> categoryTitle * refactor: NewMemory 클래스명을 NewCategory로 변경 * refactor: Staccato의 프로퍼티명 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: Timeline의 프로퍼티명 변경 - memories -> categories * refactor: MemoryMapper 파일명을 CategoryMapper로 변경 * refactor: TimelineMemoryDto의 SerialName 값 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle - memoryThumbnailUrl -> categoryThumbnailUrl * refactor: TimelineMemoryDto의 프로퍼티명 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle - memoryThumbnailUrl -> categoryThumbnailUrl * refactor: TimelineMemoryDto 클래스명 변경 - TimelineMemoryDto -> TimelineCategoryDto * refactor: TimelineResponse의 SerialName 값 변경 - memories -> categories * refactor: TimelineResponse의 프로퍼티명 변경 - memories -> categories * refactor: TimelineResponse toDomain 확장함수의 변수명 수정 - timelineMemoryDto -> timelineCategoryDto - memories -> categories * refactor: TimelineCategoryDto의 확장함수명 변경 CategoryCandidate로 변경하는 확장함수 이름 변경 - toMemoryCandidate -> toCategoryCandidate * refactor: TimelineResponse의 확장함수 수정 CategoryCandidates로 변경하는 확장함수 이름 변경 - toMemoryCandidates -> toCategoryCandidates map 람다함수 내 변수명 수정 - timelineMemoryDto -> timelineCategoryDto * refactor: CategoryDataSource 바인딩 메서드 수정 메서드명 수정 - bindMemoryDataSource -> bindCategoryDataSource 메서드 파라미터명 수정 - memoryRemoteDataSource -> categoryRemoteDataSource * refactor: CategoryRepository 바인딩 메서드 수정 메서드명 수정 - bindMemoryRepository -> bindCategoryRepository 메서드 파라미터명 수정 - memoryDefaultRepository -> categoryDefaultRepository * refactor: CategoryApiService provide 메서드 수정 메서드명 수정 - provideMemoryApiService -> provideCategoryApiService * refactor: MemoryRepository의 메서드 파라미터명 변경 - memoryId -> categoryId - newMemory -> newCategory * refactor: MemoryRepository의 메서드명 변경 - ...Memory -> ...Category - getMemories -> getCategories * refactor: MemoryRepository 클래스명 변경 - MemoryRepository -> CategoryRepository * refactor: StaccatoRepository의 메서드 파라미터명 변경 - memoryId -> categoryId * refactor: TimelineRepository의 메서드명 변경 - getMemoryCandidates -> getCategoryCandidates * refactor: memory 패키지명을 category로 수정 * refactor: StaccatoViewHolder의 bind 메서드 파라미터명 수정 - memoryStaccato -> categoryStaccato * refactor: MemoryStaccatoUiModel 클래스명 수정 - MemoryStaccatoUiModel -> CategoryStaccatoUiModel * refactor: MemoryUiModel의 프로퍼티명 수정 - memoryThumbnailUrl -> categoryThumbnailUrl * refactor: MemoryUiModel의 클래스명 수정 - MemoryUiModel -> CategoryUiModel * refactor: MemoryViewModel의 프로퍼티명 수정 - memoryRepository -> categoryRepository - memory -> category * refactor: MemoryViewModel의 메서드 수정 메서드명 수정 - ...Memory -> ...Category 메서드 파라미터명 수정 - memoryId -> categoryId - memory -> category * refactor: MemoryViewModel의 클래스명 수정 - MemoryViewModel -> CategoryViewModel * refactor: MemoryHandler -> CategoryHandler로 변경 * refactor: Intent의 Extra key의 값 변경 - MEMORY_ID_KEY 값 = memoryId -> categoryId - MEMORY_TITLE_KEY값 = memoryTitle -> categoryTitle * refactor: memoryId 프로퍼티명을 categoryId 로 변경 * refactor: observeMemory 메서드 내부의 memory 제거 - memory -> category * refactor: observeMemory 메서드명 변경 - observeMemory -> observeCategory * refactor: onUpdateClicked 메서드 내부 memory 제거 - memoryUpdateLauncher -> categoryUpdateLauncher * refactor: MEMORY_ID_KEY 동반객체명 변경 - MEMORY_ID_KEY -> CATEGORY_ID_KEY * refactor: MEMORY_TITLE_KEY 동반객체명 변경 - MEMORY_TITLE_KEY -> CATEGORY_TITLE_KEY * refactor: MemoryFragment -> CategoryFragment 로 변경 * refactor: memoryHandler -> categoryHandler 로 변경 * refactor: View ID의 memory를 변경 - memory -> category - CategoryFragment의 바인딩 변수명 수정 * refactor: fragment_category 로 파일명 변경 - Binding 클래스명 변경 * refactor: memoryCreationLauncher 변수명 변경 - memoryCreationLauncher -> categoryCreationLauncher * refactor: memoryUpdateLauncher 변수명 변경 - memoryUpdateLauncher -> categoryUpdateLauncher * refactor: handleMemoryResult 메서드명 변경 - handleMemoryResult -> handleCategoryResult * refactor: memoryRepository 프로퍼티명 변경 - memoryRepository -> categoryRepository * refactor: _createdMemoryId 프로퍼티명 변경 - _createdMemoryId -> _createdCategoryId * refactor: createdMemoryId 프로퍼티명 변경 - createdMemoryId -> createdCategoryId * refactor: setMemoryPeriod 메서드명 변경 - setMemoryPeriod -> setCategoryPeriod * refactor: createMemory 메서드명 변경 - createMemory -> createCategory * refactor: createMemory 메서드의 memory 변수명 변경 - memory -> category * refactor: setCreatedMemoryId 메서드의 파라미터명 변경 - memoryCreationResponse -> categoryCreationResponse * refactor: setCreatedMemoryId 메서드명 변경 - setCreatedMemoryId -> setCreatedCategoryId * refactor: makeNewMemory 메서드명 변경 - makeNewMemory -> makeNewCategory * refactor: MEMORY_FILE_NAME 동반객체명 변경 - MEMORY_FILE_NAME -> CATEGORY_FILE_NAME * refactor: MemoryCreationViewModel 클래스명 변경 - MemoryCreationViewModel -> CategoryCreationViewModel * refactor: MemoryCreationError의 제네릭 클래스명 변경 - MemoryCreation -> CategoryCreation * refactor: MemoryCreationError 클래스명 변경 - MemoryCreationError -> CategoryCreationError * refactor: MemoryCreationHandler 인터페이스명 변경 - MemoryCreationHandler -> CategoryCreationHandler * refactor: reCreateMemory 메서드명 변경 - reCreateMemory -> recreateCategory * refactor: observeCreatedMemoryId 메서드의 람다 파라미터명 변경 - memoryId -> categoryId * refactor: observeCreatedMemoryId 메서드명 변경 - observeCreatedMemoryId -> observeCreatedCategoryId * refactor: updateMemoryPeriod 메서드명 변경 - updateMemoryPeriod -> updateCategoryPeriod * refactor: MemoryCreationActivity 클래스명 변경 - MemoryCreationActivity -> CategoryCreationActivity * refactor: activity_memory_creation의 View ID 변경 - ID의 memory를 category로 변경 - Activity의 ViewModel 바인딩 변수명 수정 * refactor: activity_memory_creation 파일명 변경 - activity_memory_creation -> activity_category_creation - 바인딩 클래스명 변경: ActivityCategoryCreationBinding * refactor: memorycreation 패키지명 변경 - memorycreation -> categorycreation * refactor: memoryRepository 프로퍼티명 변경 - memoryRepository -> categoryRepository * refactor: _memory 프로퍼티명 변경 - _memory -> _category * refactor: memory 프로퍼티명 변경 - memory -> category * refactor: memoryId 프로퍼티명 변경 - memoryId -> categoryId * refactor: MEMORY_FILE_NAME 동반객체명 변경 - MEMORY_FILE_NAME -> CATEGORY_FILE_NAME * refactor: handleInitializeMemoryException 메서드명 변경 - handleInitializeMemoryException -> handleInitializeCategoryException * refactor: handleInitializeMemoryError 메서드명 변경 - handleInitializeMemoryError -> handleInitializeCategoryError * refactor: makeNewMemory 메서드명 변경 - makeNewMemory -> makeNewCategory * refactor: checkMemoryHasPeriod 메서드의 파라미터명 변경 - memory -> category * refactor: checkMemoryHasPeriod 메서드명 변경 - checkMemoryHasPeriod -> checkCategoryHasPeriod * refactor: initializeMemory 메서드의 파라미터명 변경 - memory -> category * refactor: initializeMemory 메서드명 변경 - initializeMemory -> initializeCategory * refactor: setMemoryPeriod 메서드명 변경 - setMemoryPeriod -> setCategoryPeriod * refactor: updateMemory 메서드의 newMemory 변수명 변경 - newMemory -> newCategory * refactor: updateMemory 메서드명 변경 - updateMemory -> updateCategory * refactor: fetchMemory 메서드명 변경 - fetchMemory -> fetchCategory * refactor: MemoryUpdateViewModel 클래스명 변경 - MemoryUpdateViewModel -> CategoryUpdateViewModel * refactor: MemoryUpdateError 클래스명 변경 - MemoryUpdateError -> CategoryUpdateError 제네릭 클래스명 변경 - MemoryInitialization -> CategoryInitialization - MemoryUpdate -> CategoryUpdate * refactor: MemoryUpdateHandler 인터페이스명 변경 - MemoryUpdateHandler -> CategoryUpdateHandler * refactor: memoryId 프로퍼티명 변경 - memoryId -> categoryId * refactor: startWithResultLauncher 메서드의 파라미터명 변경 - memoryId -> categoryId * refactor: DEFAULT_MEMORY_ID 동반객체명 변경 - DEFAULT_MEMORY_ID -> DEFAULT_CATEGORY_ID * refactor: reUpdateMemory 메서드명 변경 - reUpdateMemory -> reupdateCategory * refactor: reCreateThumbnailUrl 메서드명 변경 - reCreateThumbnailUrl -> recreateThumbnailUrl * refactor: handleMemoryUpdateFail 메서드명 변경 - handleMemoryUpdateFail -> handleCategoryUpdateFail * refactor: navigateToMemory 메서드명 변경 - navigateToMemory -> navigateToCategory * refactor: updateMemoryPeriod 메서드명 변경 - updateMemoryPeriod -> updateCategoryPeriod * refactor: fetchMemory 메서드명 변경 - fetchMemory -> fetchCategory * refactor: MemoryUpdateActivity 클래스명 변경 - MemoryUpdateActivity -> CategoryUpdateActivity * refactor: activity_memory_update의 View ID 변경 - View의 ID에 memory 를 category로 변경 - CategoryUpdateActivity의 ViewModel 바인딩 객체명 변경 * refactor: activity_memory_update 파일명 변경 - activity_memory_update -> activity_category_update - 바인딩 클래스명 변경 * refactor: memoryupdate 패키지명 변경 - memoryupdate -> categoryupdate * refactor: StaccatoDetailUiModel의 프로퍼티명 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: onUpdateClicked 메서드의 파라미터명 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: onConfirmClicked 메서드의 파라미터명 변경 - memoryUiModel -> categoryUiModel * refactor: MemorySelectionHandler 클래스명 변경 - MemorySelectionHandler -> CategorySelectionHandler * refactor: MemorySelectionFragment의 TAG 값 변경 - MemorySelectionModalBottomSheet -> CategorySelectionModalBottomSheet * refactor: MemorySelectionFragment의 프로퍼티명 변경 - keyMemory -> keyCategory * refactor: updateKeyMemory 메서드의 파라미터명 변경 - selectedMemory -> selectedCategory * refactor: updateKeyMemory 메서드명 변경 - updateKeyMemory -> updateKeyCategory * refactor: setOnMemorySelected 메서드명 변경 - setOnMemorySelected -> setOnCategorySelected * refactor: MemorySelectionFragment 클래스명 변경 - MemorySelectionFragment -> CategorySelectionFragment * refactor: fragment_memory_selection의 View ID 변경 - memory를 category로 변경 - CategorySelectionFragment의 바인딩 객체명 수정 * refactor: fragment_memory_selection 파일명 변경 - fragment_memory_selection -> fragment_category_selection CategorySelectionFragment의 바인딩 클래스명 수정 - FragmentMemorySelectionBinding -> FragmentCategorySelectionBinding * refactor: VisitedAtSelectionFragment의 TAG 값 변경 - MemorySelectionModalBottomSheet -> VisitedAtSelectionModalBottomSheet * refactor: StaccatoCreationHandler 인터페이스의 메서드명 변경 - onMemorySelectionClicked -> onCategorySelectionClicked * refactor: StaccatoCreationError 제네릭 클래스명 변경 - MemoryCandidates -> CategoryCandidates * refactor: StaccatoCreationViewModel 프로퍼티명 변경 - _selectedMemory -> _selectedCategory - selectedMemory -> selectedCategory * refactor: StaccatoCreationViewModel 프로퍼티명 변경 - _selectableMemories -> _selectableCategories - selectableMemories -> selectableCategories * refactor: StaccatoCreationViewModel 프로퍼티명 변경 - _memoryCandidates -> _categoryCandidates - memoryCandidates -> categoryCandidates * refactor: handleMemoryCandidatesException 메서드명 변경 - handleMemoryCandidatesException -> handleCategoryCandidatesException * refactor: updateMemorySelectionBy 메서드의 변수명 변경 - selectedMemory -> selectedCategory * refactor: updateMemorySelectionBy 메서드의 파라미터명 변경 - memoryId -> categoryId * refactor: updateMemorySelectionBy 메서드명 변경 - updateMemorySelectionBy -> updateCategorySelectionBy * refactor: updateMemorySelectionBy 메서드의 변수명 변경 - filteredMemories -> filteredCategories * refactor: updateMemorySelectionBy public 메서드명 변경 - updateMemorySelectionBy -> updateCategorySelectionBy * refactor: initMemoryAndVisitedAt 메서드의 파라미터명 변경 - memoryId -> categoryId * refactor: initMemoryAndVisitedAt 메서드명 변경 - initMemoryAndVisitedAt -> initCategoryAndVisitedAt * refactor: fetchMemoryCandidates 메서드명 변경 - fetchMemoryCandidates -> fetchCategoryCandidates * refactor: selectMemory 메서드의 파라미터명 변경 - memory -> category * refactor: selectMemory 메서드명 변경 - selectMemory -> selectCategory * refactor: MEMORY_TITLE_KEY 값 변경 - memoryTitle -> categoryTitle * refactor: MEMORY_TITLE_KEY 동반객체명 변경 - MEMORY_TITLE_KEY -> CATEGORY_TITLE_KEY * refactor: startWithResultLauncher 메서드 파라미터명 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: reCreateStaccato 메서드명 변경 - reCreateStaccato -> recreateStaccato * refactor: handleMemoryCandidatesFail 메서드명 변경 - handleMemoryCandidatesFail -> handleCategoryCandidatesFail * refactor: observeMemoryData 메서드명 변경 - observeMemoryData -> observeCategoryData * refactor: initMemorySelectionFragment 메서드명 변경 - initMemorySelectionFragment -> initCategorySelectionFragment * refactor: StaccatoCreationActivity 프로퍼티명 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle - memorySelectionFragment -> categorySelectionFragment * refactor: initCategorySelectionFragment 람다파라미터명 변경 - selectedMemory -> selectedCategory * refactor: StaccatoUpdateHandler 인터페이스의 메서드명 변경 - onMemorySelectionClicked -> onCategorySelectionClicked * refactor: StaccatoUpdateError 제네릭 클래스명 변경 - MemoryCandidates -> CategoryCandidates * refactor: StaccatoUpdateViewModel 프로퍼티명 변경 - _memoryCandidates -> _categoryCandidates - memoryCandidates -> categoryCandidates - _selectedMemory -> _selectedCategory - selectedMemory -> selectedCategory - _selectableMemories -> _selectableCategories - selectableMemories -> selectableCategories * refactor: handleMemoryCandidatesException 메서드명 변경 - handleMemoryCandidatesException -> handleCategoryCandidatesException * refactor: fetchMemoryCandidates 메서드명 변경 - fetchMemoryCandidates -> fetchCategoryCandidates * refactor: fetchMemoryCandidates 의 람다 파라미터명 변경 API 요청 성공한 경우의 람다 파라미터 변수명 변경 - memoryCandidates -> categoryCandidates * refactor: initMemory 메서드명 변경 - initMemory -> initCategory * refactor: updateStaccato 내부 변수명 변경 - memoryIdValue -> categoryIdValue * refactor: updateMemorySelectionBy 내부 변수명 변경 - filteredMemories -> filteredCategories * refactor: updateMemorySelectionBy 메서드명 변경 - updateMemorySelectionBy -> updateCategorySelectionBy * refactor: selectMemory 메서드 파라미터명 변경 - memory -> category * refactor: selectMemory 메서드명 변경 - selectMemory -> selectCategory * refactor: StaccatoUpdateActivity 프로퍼티명 변경 - memorySelectionFragment -> categorySelectionFragment - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: startWithResultLauncher의 파라미터명 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle * refactor: handleMemoryCandidatesFail 메서드명 변경 - handleMemoryCandidatesFail -> handleCategoryCandidatesFail * refactor: observeMemoryData 메서드명 변경 - observeMemoryData -> observeCategoryData * refactor: initMemorySelectionFragment의 람다 파라미터명 변경 - selectedMemory -> selectedCategory * refactor: initMemorySelectionFragment 메서드명 변경 - initMemorySelectionFragment -> initCategorySelectionFragment * refactor: TimelineUiModel의 프로퍼티명 변경 - memoryId -> categoryId - memoryTitle -> categoryTitle - memoryThumbnailUrl -> categoryThumbnailUrl * refactor: TimelineHandler 인터페이스의 메서드명 변경 - onMemoryClicked -> onCategoryClicked - onMemoryCreationClicked -> onCategoryCreationClicked * refactor: onCategoryClicked 메서드의 파라미터명 변경 - memoryId -> categoryId * refactor: sortByOldest 메서드의 내부 변수명 변경 - memoriesSortedByOldest -> categoriesSortedByOldest * refactor: onCategoryCreationClicked 메서드의 내부 변수명 변경 - memoryCreationLauncher -> categoryCreationLauncher * refactor: navigateToMemory 메서드명 변경 - navigateToMemory -> navigateToCategory * refactor: MEMORY_FILE_CHILD_NAME 변수명 변경 - MEMORY_FILE_CHILD_NAME -> CATEGORY_FILE_CHILD_NAME * refactor: MEMORY_FILE_CHILD_NAME 변수 값 변경 - memory -> category * refactor: convertMemoryUriToFile 메서드명 변경 - convertMemoryUriToFile -> convertCategoryUriToFile * refactor: convertExcretaFile 메서드 수정 메서드명 변경 - convertExcretaFile -> convertStaccatoUriToFile 지역 변수 활용 - contentResolver: context.contentResolver * refactor: activity_staccato_creation View ID 수정 memory 제거 - memory -> category * refactor: activity_staccato_update View ID 수정 memory 제거 - memory -> category * refactor: fragment_timeline.xml의 View ID 수정 memory 제거 - memory -> category - memories -> categories * refactor: fragment_memory_visited_at_selection 수정 memory 제거 - memory -> category * refactor: fragment_memory_visited_at_selection 변경 파일명의 memory 를 category 로 수정 - memory -> category * refactor: item_timeline.xml의 memory 제거 View ID의 memory를 category로 수정 - memory -> category 데이터 바인딩 객체명을 category로 수정 - memory -> category * refactor: strings.xml 리소스 이름의 memory 제거 memory를 category로 변경 - memory -> category * refactor: memory_gradient.xml 리소스 파일명 수정 memory를 category로 변경 - memory -> category * refactor: bottom_navigation_graph.xml의 memory 제거 바텀 시트 Fragment 네비게이션 ID의 memory를 category로 변경 - memory -> category fragment label 변경 - fragment_memory -> fragment_category * refactor: MemoryCandidateFixture의 memory 제거 변수명 및 메서드명, 파라미터명의 memory 수정 - memory -> category - MEMORY -> CATEGORY * refactor: 스타카토 생성 ViewModel 테스트의 memory 제거 변수명 및 메서드명에 존재하는 memory 변경 - memory -> category - memories -> categories * refactor: 스타카토 수정 ViewModel 테스트의 memory 제거 변수명에 존재하는 memory 변경 - memory -> category - memories -> categories * refactor: 스타카토 수정 ViewModel 테스트의 추억 문구 제거 테스트 제목, 주석에 존재하는 추억 문구 변경 - 추억 -> 카테고리 * refactor: BindingAdapters의 memory 문구 제거 - memory -> category * refactor: ButtonBindingAdapters의 memory 문구 변경 Button View에 대한 바인딩 어댑터 속성명의 memory 변경 - memory -> category * refactor: TextBindingAdapters의 memory 문구 변경 TextView에 대한 바인딩 어댑터 속성 명의 memory 변경 - memory -> category * refactor: TimelineMapper의 memory 문구 변경 Timeline.toTimelineUiModel() 메서드의 람다 파라미터 변수명 수정 - memory -> category * refactor: MemoryMapper.kt 파일명 변경 - MemoryMapper -> CategoryMapper * refactor: TimelineMapper의 memories 문구 변경 TimelineResponse.toCategoryCandidates() 메서드 내부 변수명 변경 - memories -> categories * refactor: CategoryResponse의 SerialName 값 수정 API URL 변경에 따라, serial name의 moment를 staccato로 변경 - moments -> staccatos * refactor: CategoryStaccatoDto의 SerialName 값 수정 API URL 변경에 따라, serial name의 moment를 staccato로 변경 - moment -> staccato - momentImageUrl -> staccatoImageUrl * refactor: StaccatoCreationRequest의 SerialName 값 수정 API URL 변경에 따라, serial name의 moment를 staccato로 변경 - momentImageUrls -> staccatoImageUrls * refactor: StaccatoCreationResponse의 SerialName 수정 API URL 변경에 따라, serial name의 moment를 staccato로 변경 - momentId -> staccatoId * refactor: StaccatoLocationDto의 SerialName 수정 API URL 변경에 따라, serial name의 moment를 staccato로 변경 - momentId -> staccatoId * refactor: StaccatoLocationResponse의 SerialName 수정 API URL 변경에 따라, serial name의 moment를 staccato로 변경 - momentLocationResponses -> staccatoLocationResponses * refactor: StaccatoResponse의 SerialName 수정 API URL 변경에 따라, serial name의 moment를 staccato로 변경 - momentId -> staccatoId - momentImageUrls -> staccatoImageUrls * refactor: StaccatoUpdateRequest의 SerialName 수정 API URL 변경에 따라, serial name의 moment를 staccato로 변경 - momentImageUrls -> staccatoImageUrls * refactor: StaccatoUpdateRequest의 프로퍼티명 수정 - momentImageUrls -> staccatoImageUrls * refactor: StaccatoResponse의 프로퍼티명 수정 - momentImageUrls -> staccatoImageUrls * refactor: StaccatoApiService의 API URL 수정 API URL의 변경에 따라, moment를 staccato로 변경 - moments -> staccatos - momentId -> staccatoId 동반객체 활용 - STACCATO_ID = "staccatoId" - STACCATO_PATH_WITH_ID = "$STACCATOS_PATH/{$STACCATO_ID}" * refactor: StaccatoApiService API 메서드의 파라미터명 변경 - moment -> staccato * style: ktlint 적용 - import 알파벳 순서에 따라 재정렬 - 들여쓰기 조정 - line당 글자수 초과한 코드 개행 처리 * refactor: 사용하지 않는 Model 및 Mapper 제거 * refactor: StaccatoRepository의 기분 변경 요청 메서드 수정 - 업데이트할 기분을 String이 아닌 도메인 모델 Feeling으로 변경 - StaccatoDefaultRepository에서 toFeelingRequest Mapper 메서드 활용 * style: ktlint 적용 * refactor: MemoryCandidateFixture 파일명 수정 - MemoryCandidateFixture -> CategoryCandidateFixture * refactor: inline 학습 테스트의 Memory 도메인 수정 - Memory -> Category - MemoryStaccato -> CategoryStaccato * refactor: Comment API URL 변경 사항 반영 URI에 남아있는 moment를 staccato로 변경 - 버저닝을 위해 comments 경로에 /v2 추가 - momentId -> staccatoId 로 변경 * fix: Comment API URL의 버저닝 수정 GET, POST 요청에만 v2 적용하도록 변경 - 버저닝 URI인 COMMENTS_URI_V2 * refactor: API Url 경로 네이밍 변경 다른 ApiService에서 사용하는 변수명과 통일 - URI -> PATH * fix: 올바르게 반영되지 않은 변경사항 수정 - convertMemoryUriToFile -> convertCategoryUriToFile
- 원격 병합을 위해 release-an의 커밋을 가져와 병합 처리
* deploy: 1.2.0 배포 (#512) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 * fix: file changed 인식 불가로 인한 순서 변경 (#511) --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> * deploy: 1.2.1 배포 (#532) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 * fix: file changed 인식 불가로 인한 순서 변경 (#511) * feat: 모든 화면에서 네트워크 에러 핸들링 #501 (#516) * fix: ApiResponseHandler try-catch문 범위 수정 * refactor: StaccatoApiService의 반환값 Response로 wrapping * refactor: StaccatoDataSource의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository를 사용하는 ViewModel에 에러 처리 변경사항 적용 * feat: MessageUtils.kt에 showSnackBarWithAction 추가 * feat: TimelineFragment 네트워크 에러 발생 시 스낵바 처리 * feat: MemoryFragment 네트워크 에러 발생 시 스낵바 처리 * feat: StaccatoFragment 네트워크 에러 발생 시 스낵바 처리 * refactor: 불필요한 Log.e 메서드 제거 * style: 네트워크 에러 메시지 상수명 통일 * refactor: MessageUtils에 getSnackBarWithAction 메서드 추가 * feat: Memory 생성/수정 화면 에러 핸들링 * feat: Staccato 생성/수정 화면 에러 핸들링 * feat: 마이페이지 화면 네트워크 에러 핸들링 * fix: 스타카토 조회 화면 코멘트 에러 핸들링 * refactor: 추억 에러 관련 data class 리네이밍 Photo -> Thumbnail * refactor: 추억 생성 에러 data class 리네이밍 MemoryCreate -> MemoryCreation * refactor: 메서드명 카멜 케이스로 통일 (reCreate) * refactor: 추억 업데이트 에러 data class 리네이밍 MemoryInitialize -> MemoryInitialization * refactor: getSnackBarWithAction의 length를 named arguments로 수정 * refactor: EXCEPTION_NETWORK_ERROR_MESSAGE 텍스트 내용 수정 * refactor: 이미지 업로드 실패 메시지 상수화 * refactor: StaccatoUpdateViewModel의 메시지 상수화 및 PhotoException 분리 * refactor: 스낵바 Util 불필요한 apply 제거 * build: 안드로이드 CI/CD 재설정 #445 (#513) * build: android ci 타겟 브랜치 변경 - develop-an -> develop 브랜치로 변경 * build: 개발 단계용 android ci, cd 설정 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: 개발 단계용 android ci, cd 설정 - 타겟 브랜치 변경 : develop -> release-an 으로 변경 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: android ci 워크플로우 이름 변경 * build: android cd 재설정 - 구글 플레이 콘솔 자동 배포 설정 * build: Play Console 배포 설정 변경 - 서비스 계정 Key 파일 secret 변수 변경 - whatsNewDirectory 설정 * build: android ci 적용 브랜치 수정 - release-an 브랜치, main 브랜치 추가 * fix: 안드로이드 CI 오류 수정 #519 (#521) * fix: android-ci.yml 파일 수정 * fix: android-ci.yml 파일 수정 * feat: 나의 추억들 정렬 기능 구현 #503 (#507) * ui: 정렬 메뉴 ui 구현 * feat: 나의 추억들 정렬 기능 구현 * feat: 기간 유무에 따른 추억 필터 기능 구현 * refactor: 정렬 타입에 따른 정렬 선택 로직을 view model이 가지도록 변경 - 정렬 타입과 정렬 menu id를 가지고 있는 SortType Enum Class 생성 * refactor: timeline ui model 셋팅 로직 수정 * refactor: 사용자가 선택한 menuId와 일치하는 SortType을 찾는 로직을 팩토리 함수로 분리 * refactor: 원본 timeline clear 로직 추가 * refactor: 기간 있는 추억 내림차순 정렬 조건 추가 * fix: 추억 삭제 후 나의 추억들(타임라인)이 갱신되지 않는 오류 수정 * fix: 나의 추억들(타임라인) 정렬 시 포커스가 유지되는 문제 해결 * refactor: originalTimeline 타입 변경 * ui: 기분 캐릭터 변경 #522 (#523) * ui: 음표 기분 캐릭터 추가 * refactor: 음표 기분 캐릭터 적용 * feat: 카메라 촬영 기능 연결 #514 (#524) * build: androidx camera 의존성 추가 - 버전 카탈로그 활용 * build: AndroidManifest 카메라 접근 기능 수정 - android.hardware.camera.any 로 설정하여 전, 후면 모두 사용 가능하도록 변경 * ui: 사진 업로드 다이얼로그에서 ㄷ사용할 문자열 리소스 설정 - 권한 관련 안내 메시지 추가 * feat: 카메라 기능 추가 - 접근 권한 확인 후 카메라 실행 - 카메라에서 촬영한 사진을 가져와 Activity에게 이미지 URI 전달 * style: ktlint 적용 * fix: 권한 요청 스낵바와 에러 메시지 스낵바 분리 * ui: 권한 요청 스낵바의 문구 수정 * fix: 외부 저장소 쓰기 권한 추가 * deploy: v.1.2.0 배포 준비 #515 (#525) * refactor: versionCode 및 versionName 업데이트 - versionCode: 4 -> 5 - versionName: "1.1.0" -> "1.2.0" * ui: 마이페이지에 노출될 앱 버전 명 업데이트 - 앱 버전: "1.1.0" -> "1.2.0" * docs: 1.2.0 버전 출시 노트 추가 * deploy: v.1.2.0 배포 (#526) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * deploy: 1.1.1 배포 #484 (#491) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) --------- Co-authored-by: hxeyexn <[email protected]> * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * deploy: 1.1.2 배포 (#504) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * deploy: 1.1.3 배포 (#506) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 * deploy: 1.2.0 배포 (#510) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> * fix: file changed 인식 불가로 인한 순서 변경 (#511) * feat: 모든 화면에서 네트워크 에러 핸들링 #501 (#516) * fix: ApiResponseHandler try-catch문 범위 수정 * refactor: StaccatoApiService의 반환값 Response로 wrapping * refactor: StaccatoDataSource의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository를 사용하는 ViewModel에 에러 처리 변경사항 적용 * feat: MessageUtils.kt에 showSnackBarWithAction 추가 * feat: TimelineFragment 네트워크 에러 발생 시 스낵바 처리 * feat: MemoryFragment 네트워크 에러 발생 시 스낵바 처리 * feat: StaccatoFragment 네트워크 에러 발생 시 스낵바 처리 * refactor: 불필요한 Log.e 메서드 제거 * style: 네트워크 에러 메시지 상수명 통일 * refactor: MessageUtils에 getSnackBarWithAction 메서드 추가 * feat: Memory 생성/수정 화면 에러 핸들링 * feat: Staccato 생성/수정 화면 에러 핸들링 * feat: 마이페이지 화면 네트워크 에러 핸들링 * fix: 스타카토 조회 화면 코멘트 에러 핸들링 * refactor: 추억 에러 관련 data class 리네이밍 Photo -> Thumbnail * refactor: 추억 생성 에러 data class 리네이밍 MemoryCreate -> MemoryCreation * refactor: 메서드명 카멜 케이스로 통일 (reCreate) * refactor: 추억 업데이트 에러 data class 리네이밍 MemoryInitialize -> MemoryInitialization * refactor: getSnackBarWithAction의 length를 named arguments로 수정 * refactor: EXCEPTION_NETWORK_ERROR_MESSAGE 텍스트 내용 수정 * refactor: 이미지 업로드 실패 메시지 상수화 * refactor: StaccatoUpdateViewModel의 메시지 상수화 및 PhotoException 분리 * refactor: 스낵바 Util 불필요한 apply 제거 * build: 안드로이드 CI/CD 재설정 #445 (#513) * build: android ci 타겟 브랜치 변경 - develop-an -> develop 브랜치로 변경 * build: 개발 단계용 android ci, cd 설정 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: 개발 단계용 android ci, cd 설정 - 타겟 브랜치 변경 : develop -> release-an 으로 변경 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: android ci 워크플로우 이름 변경 * build: android cd 재설정 - 구글 플레이 콘솔 자동 배포 설정 * build: Play Console 배포 설정 변경 - 서비스 계정 Key 파일 secret 변수 변경 - whatsNewDirectory 설정 * build: android ci 적용 브랜치 수정 - release-an 브랜치, main 브랜치 추가 * fix: 안드로이드 CI 오류 수정 #519 (#521) * fix: android-ci.yml 파일 수정 * fix: android-ci.yml 파일 수정 * feat: 나의 추억들 정렬 기능 구현 #503 (#507) * ui: 정렬 메뉴 ui 구현 * feat: 나의 추억들 정렬 기능 구현 * feat: 기간 유무에 따른 추억 필터 기능 구현 * refactor: 정렬 타입에 따른 정렬 선택 로직을 view model이 가지도록 변경 - 정렬 타입과 정렬 menu id를 가지고 있는 SortType Enum Class 생성 * refactor: timeline ui model 셋팅 로직 수정 * refactor: 사용자가 선택한 menuId와 일치하는 SortType을 찾는 로직을 팩토리 함수로 분리 * refactor: 원본 timeline clear 로직 추가 * refactor: 기간 있는 추억 내림차순 정렬 조건 추가 * fix: 추억 삭제 후 나의 추억들(타임라인)이 갱신되지 않는 오류 수정 * fix: 나의 추억들(타임라인) 정렬 시 포커스가 유지되는 문제 해결 * refactor: originalTimeline 타입 변경 * ui: 기분 캐릭터 변경 #522 (#523) * ui: 음표 기분 캐릭터 추가 * refactor: 음표 기분 캐릭터 적용 * feat: 카메라 촬영 기능 연결 #514 (#524) * build: androidx camera 의존성 추가 - 버전 카탈로그 활용 * build: AndroidManifest 카메라 접근 기능 수정 - android.hardware.camera.any 로 설정하여 전, 후면 모두 사용 가능하도록 변경 * ui: 사진 업로드 다이얼로그에서 ㄷ사용할 문자열 리소스 설정 - 권한 관련 안내 메시지 추가 * feat: 카메라 기능 추가 - 접근 권한 확인 후 카메라 실행 - 카메라에서 촬영한 사진을 가져와 Activity에게 이미지 URI 전달 * style: ktlint 적용 * fix: 권한 요청 스낵바와 에러 메시지 스낵바 분리 * ui: 권한 요청 스낵바의 문구 수정 * fix: 외부 저장소 쓰기 권한 추가 * deploy: v.1.2.0 배포 준비 #515 (#525) * refactor: versionCode 및 versionName 업데이트 - versionCode: 4 -> 5 - versionName: "1.1.0" -> "1.2.0" * ui: 마이페이지에 노출될 앱 버전 명 업데이트 - 앱 버전: "1.1.0" -> "1.2.0" * docs: 1.2.0 버전 출시 노트 추가 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: Somin Lee <[email protected]> * fix: Android CD 수정 #527 (#528) * fix: push branch 에 release-an 추가 * fix: 출시 노트 옵션 파일경로 수정 * chore: Thread, Hikari CP 변경 (#518) * feat: Hikari CP, Thread 설정 변경 * fix: writer, reader에 각각 hikari 설정 * feat: 기본 추억 제목 변경 #530 (#531) * feat: 기본 추억 이름을 ~의 추억으로 설정 * refactor: 변수 사용 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> Co-authored-by: Somin Lee <[email protected]> * fix: 실패하는 테스트 수정 --------- Co-authored-by: linirini <[email protected]> Co-authored-by: hxeyexn <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> Co-authored-by: Somin Lee <[email protected]>
* deploy: 1.2.0 배포 (#512) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 * fix: file changed 인식 불가로 인한 순서 변경 (#511) --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> * deploy: 1.2.1 배포 (#532) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 * fix: file changed 인식 불가로 인한 순서 변경 (#511) * feat: 모든 화면에서 네트워크 에러 핸들링 #501 (#516) * fix: ApiResponseHandler try-catch문 범위 수정 * refactor: StaccatoApiService의 반환값 Response로 wrapping * refactor: StaccatoDataSource의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository를 사용하는 ViewModel에 에러 처리 변경사항 적용 * feat: MessageUtils.kt에 showSnackBarWithAction 추가 * feat: TimelineFragment 네트워크 에러 발생 시 스낵바 처리 * feat: MemoryFragment 네트워크 에러 발생 시 스낵바 처리 * feat: StaccatoFragment 네트워크 에러 발생 시 스낵바 처리 * refactor: 불필요한 Log.e 메서드 제거 * style: 네트워크 에러 메시지 상수명 통일 * refactor: MessageUtils에 getSnackBarWithAction 메서드 추가 * feat: Memory 생성/수정 화면 에러 핸들링 * feat: Staccato 생성/수정 화면 에러 핸들링 * feat: 마이페이지 화면 네트워크 에러 핸들링 * fix: 스타카토 조회 화면 코멘트 에러 핸들링 * refactor: 추억 에러 관련 data class 리네이밍 Photo -> Thumbnail * refactor: 추억 생성 에러 data class 리네이밍 MemoryCreate -> MemoryCreation * refactor: 메서드명 카멜 케이스로 통일 (reCreate) * refactor: 추억 업데이트 에러 data class 리네이밍 MemoryInitialize -> MemoryInitialization * refactor: getSnackBarWithAction의 length를 named arguments로 수정 * refactor: EXCEPTION_NETWORK_ERROR_MESSAGE 텍스트 내용 수정 * refactor: 이미지 업로드 실패 메시지 상수화 * refactor: StaccatoUpdateViewModel의 메시지 상수화 및 PhotoException 분리 * refactor: 스낵바 Util 불필요한 apply 제거 * build: 안드로이드 CI/CD 재설정 #445 (#513) * build: android ci 타겟 브랜치 변경 - develop-an -> develop 브랜치로 변경 * build: 개발 단계용 android ci, cd 설정 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: 개발 단계용 android ci, cd 설정 - 타겟 브랜치 변경 : develop -> release-an 으로 변경 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: android ci 워크플로우 이름 변경 * build: android cd 재설정 - 구글 플레이 콘솔 자동 배포 설정 * build: Play Console 배포 설정 변경 - 서비스 계정 Key 파일 secret 변수 변경 - whatsNewDirectory 설정 * build: android ci 적용 브랜치 수정 - release-an 브랜치, main 브랜치 추가 * fix: 안드로이드 CI 오류 수정 #519 (#521) * fix: android-ci.yml 파일 수정 * fix: android-ci.yml 파일 수정 * feat: 나의 추억들 정렬 기능 구현 #503 (#507) * ui: 정렬 메뉴 ui 구현 * feat: 나의 추억들 정렬 기능 구현 * feat: 기간 유무에 따른 추억 필터 기능 구현 * refactor: 정렬 타입에 따른 정렬 선택 로직을 view model이 가지도록 변경 - 정렬 타입과 정렬 menu id를 가지고 있는 SortType Enum Class 생성 * refactor: timeline ui model 셋팅 로직 수정 * refactor: 사용자가 선택한 menuId와 일치하는 SortType을 찾는 로직을 팩토리 함수로 분리 * refactor: 원본 timeline clear 로직 추가 * refactor: 기간 있는 추억 내림차순 정렬 조건 추가 * fix: 추억 삭제 후 나의 추억들(타임라인)이 갱신되지 않는 오류 수정 * fix: 나의 추억들(타임라인) 정렬 시 포커스가 유지되는 문제 해결 * refactor: originalTimeline 타입 변경 * ui: 기분 캐릭터 변경 #522 (#523) * ui: 음표 기분 캐릭터 추가 * refactor: 음표 기분 캐릭터 적용 * feat: 카메라 촬영 기능 연결 #514 (#524) * build: androidx camera 의존성 추가 - 버전 카탈로그 활용 * build: AndroidManifest 카메라 접근 기능 수정 - android.hardware.camera.any 로 설정하여 전, 후면 모두 사용 가능하도록 변경 * ui: 사진 업로드 다이얼로그에서 ㄷ사용할 문자열 리소스 설정 - 권한 관련 안내 메시지 추가 * feat: 카메라 기능 추가 - 접근 권한 확인 후 카메라 실행 - 카메라에서 촬영한 사진을 가져와 Activity에게 이미지 URI 전달 * style: ktlint 적용 * fix: 권한 요청 스낵바와 에러 메시지 스낵바 분리 * ui: 권한 요청 스낵바의 문구 수정 * fix: 외부 저장소 쓰기 권한 추가 * deploy: v.1.2.0 배포 준비 #515 (#525) * refactor: versionCode 및 versionName 업데이트 - versionCode: 4 -> 5 - versionName: "1.1.0" -> "1.2.0" * ui: 마이페이지에 노출될 앱 버전 명 업데이트 - 앱 버전: "1.1.0" -> "1.2.0" * docs: 1.2.0 버전 출시 노트 추가 * deploy: v.1.2.0 배포 (#526) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * deploy: 1.1.1 배포 #484 (#491) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) --------- Co-authored-by: hxeyexn <[email protected]> * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * deploy: 1.1.2 배포 (#504) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * deploy: 1.1.3 배포 (#506) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 * deploy: 1.2.0 배포 (#510) * fix: 누락된 not 연산자 추가 * refactor: whitelist 추가 #489 (#490) * feat: 인덱스 설정 스크립트 작성 #474 (#475) Co-authored-by: BurningFalls <[email protected]> * feat: Bulk Delete 예전 pr 코드 이동 (#487) * refactor: N+1 문제 해결 (#488) * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 * refactor: 반응형 ui 적용 및 접근성 향상 #481 (#502) * ui: login 화면 반응형 ui 대응 * ui: 고유 코드 복구 화면 반응형 ui 대응 * ui: 마이페이지 화면 반응형 ui 대응 * ui: 나의 추억들 화면 반응형 ui 대응 * ui: 추억 화면 반응형 ui 대응 - span count 조정 * refactor: 스타카토 생성 화면 반응형 ui 대응 * refactor: 스타카토 수정 화면 반응형 ui 대응 * refactor: 추억 생성 화면 반응형 ui 대응 * refactor: 추억 수정 화면 반응형 ui 대응 * ui: 다크모드 대응 - colors 대응 - themes 대응 - 지도 대응 * fix: 지도 화면의 구성 변경으로 일어나는 크래시 해결 * ui: 스플래시 다크모드 대응 * feat: 스타카토 마커 커스텀 * ui: 스타카토 마커 다크모드 대응 * feat: 사용자 피드백 수집을 위한 구글 폼 연동 * feat: 인스타그램 페이지 연동 * refactor: 마이페이지 버튼 터치 영역 확대 * refactor: TextInputEditText 터치 영역 확대 * refactor: 추억 기간 선택 box 터치 영역 확대 * refactor: 툴바 수정 및 삭제 메뉴 버튼 터치 영역 확대 * refactor: 마이페이지 인스타그램 버튼 터치 영역 확대 * refactor: 스타카토 장소 선택 box 버튼 터치 영역 확대 * refactor: 스타카토 추억, 날짜 및 시간 선택 box 터치 영역 확대 * ui: typography.Body에 Not.Resizable 추가 * ui: styles에 Not.Resizable 적용 * ui: 스타카토 생성 수정 화면 styles 적용 * ui: 추억 생성 수정 화면 styles 적용 * ui: styles_button.xml에 BoundedIconButtonStyle 추가 * ui: 추억, 타임라인 화면에 BoundedIconButtonStyle 적용 * ui: 타임라인 화면 글씨 크기 조절 대응 * ui: layout_photo_attach.xml 글씨 크기 조절 대응 * ui: 추억 조회 화면 글씨 크기 조절 대응 * ui: 행간 겹침 방지를 위해 lineHeight 단위 sp로 수정 * ui: empty 관련 텍스트 Not.Resizable 설정 * ui: 로그인 및 복구 화면 글씨 크기 조절 대응 * refactor: 홈 화면 content description 추가 * refactor: 나의 추억들 화면 content description 추가 * refactor: 추억 화면 content description 추가 * refactor: 추억 생성 및 수정 화면 content description 추가 * refactor: 스타카토 사진 첨부 item content description 추가 * refactor: 나의 추억들 아이템 중첩된 레이아웃 제거 * refactor: 스타카토 화면 content description 추가 * refactor: 마이페이지 화면 content description 추가 * refactor: 로그인 화면 content description 추가 * refactor: 나의 추억들 item content description 추가 * refactor: 댓글 item content description 추가 * refactor: 함께 한 사람들 item content description 추가 * �fix: 스타카토 댓글 UI 오류 해결 및 개선 #493 (#494) * ui: 스타카토 조회 오류 메시지를 strings 리소스에 작성 * ui: 키보드 입력 시 MainActivity의 화면 크기 조정되도록 변경 - MainActivity에 windowSoftInputMode를 adjustPan으로 설정 * refactor: 댓글과 조회 Fragment 병합 및 댓글 화면 개선 StaccatoFragment - 메서드 순서 조정 및 이름 변경 - staccatoId를 lazy 로 지연초기화하여 받아오도록 수정 - 댓글 ViewModel과 Adapter 추가 및 연결 - 댓글 업로드 시 스크롤 뷰의 스크롤을 하단으로 옮기도록 구현 StaccatoCommentsViewModel - 댓글 전송 성공한 상태를 저장하는 LiveData 추가 - Staccato ID 기본값 상수화 fragment_staccato.xml - 댓글 화면 마이그레이션 - 댓글 입력 창을 화면 최하단에 고정 - 전송 버튼 UI 오류 수정: 고정된 크기 * refactor: 기분 선택 fragment 리팩터링 진행 * refactor: 사용하지 않는 댓글 Fragment 제거 * ui: 댓글 전송 버튼 디자인 변경 - 이미지에서 Vector drawable 로 변경 - 색상 수정 * style: ktlint 적용 * refactor: StaccatoFragment 코드 정리 - onViewCreated의 함수 호출 순서대로 메서드 정렬 - pagePhotoAdapter 초기화를 lateinit에서 by lazy로 변경 - 메서드명 수정 - setUpBindings -> setUpBindings - initToolbarHandler -> setNavigationClickListener - initViewPagerAdapter -> setUpViewPager - loadStaccatoData -> loadStaccato * refactor: 메서드 순서를 컨벤션에 맞게 정렬 * refactor: 댓글 ViewModel의 스타카토 ID 설정 로직 수정 - Fragment가 댓글을 불러오는 동작을 알 필요가 없고, ViewModel에게 일일히 지시할 필요가 없다. - Fragment는 스타카토의 ID를 넘겨주기만 하고, ViewModel이 스타카토 ID를 알아서 설정하도록 변경 * refactor: ViewModel을 옵저빙하는 메서드 세분화 - StaccatoViewModel과 StaccatoCommentsViewModel을 옵저빙하는 메서드를 세분화 * refactor: StaccatoFeelingFragment 설정하는 메서드 리팩터링 - 메서드명 변경 : setStaccatoIdToFeelingFragment -> setStaccatoFeelingFragment - Fragment 생성 로직과 fragmentManager에 add하는 동작 분리 * ui: 댓글 입력 창과 전송 버튼 수정 - 댓글 전송 버튼의 크기를 줄이되, padding 설정으로 터치 영역 크기는 그대로 유지 - 댓글 전송 버튼의 제약 조건 수정하여 댓글 입력 창 내부에 위치하도록 변경 - 댓글 입력 창의 textAppearance 설정으로 텍스트 크기 고정 - 댓글 입력 창의 제약 조건 수정하여 전송 버튼을 감싸도록 수정 * ui: 가시성을 변경하는 바인딩어댑터 적용 * ui: viewTreeObserver 의 GlobalLayoutListener 제거 시점 변경 * ui: 댓글 전송 버튼을 텍스트 필드 범위의 바깥으로 이동 * style: ktlint 적용 --------- Co-authored-by: somin <[email protected]> Co-authored-by: hodu <[email protected]> * hotfix: 이미지 삭제 전파 (#505) * fix: 이미지 삭제 전파 * fix: 이미지 삭제 전파 수정 * feat: 기본 추억 제공 구현 #508 (#509) * feat: 기본 추억 생성 구현 * refactor: 기본 추억 설명 수정 * fix: persist 전파되도록 로직 순서 변경 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> * fix: file changed 인식 불가로 인한 순서 변경 (#511) * feat: 모든 화면에서 네트워크 에러 핸들링 #501 (#516) * fix: ApiResponseHandler try-catch문 범위 수정 * refactor: StaccatoApiService의 반환값 Response로 wrapping * refactor: StaccatoDataSource의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository의 반환값 ResponseResult로 wrapping * refactor: StaccatoRepository를 사용하는 ViewModel에 에러 처리 변경사항 적용 * feat: MessageUtils.kt에 showSnackBarWithAction 추가 * feat: TimelineFragment 네트워크 에러 발생 시 스낵바 처리 * feat: MemoryFragment 네트워크 에러 발생 시 스낵바 처리 * feat: StaccatoFragment 네트워크 에러 발생 시 스낵바 처리 * refactor: 불필요한 Log.e 메서드 제거 * style: 네트워크 에러 메시지 상수명 통일 * refactor: MessageUtils에 getSnackBarWithAction 메서드 추가 * feat: Memory 생성/수정 화면 에러 핸들링 * feat: Staccato 생성/수정 화면 에러 핸들링 * feat: 마이페이지 화면 네트워크 에러 핸들링 * fix: 스타카토 조회 화면 코멘트 에러 핸들링 * refactor: 추억 에러 관련 data class 리네이밍 Photo -> Thumbnail * refactor: 추억 생성 에러 data class 리네이밍 MemoryCreate -> MemoryCreation * refactor: 메서드명 카멜 케이스로 통일 (reCreate) * refactor: 추억 업데이트 에러 data class 리네이밍 MemoryInitialize -> MemoryInitialization * refactor: getSnackBarWithAction의 length를 named arguments로 수정 * refactor: EXCEPTION_NETWORK_ERROR_MESSAGE 텍스트 내용 수정 * refactor: 이미지 업로드 실패 메시지 상수화 * refactor: StaccatoUpdateViewModel의 메시지 상수화 및 PhotoException 분리 * refactor: 스낵바 Util 불필요한 apply 제거 * build: 안드로이드 CI/CD 재설정 #445 (#513) * build: android ci 타겟 브랜치 변경 - develop-an -> develop 브랜치로 변경 * build: 개발 단계용 android ci, cd 설정 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: 개발 단계용 android ci, cd 설정 - 타겟 브랜치 변경 : develop -> release-an 으로 변경 - Debug용 APK 파일이 아닌 Release용 APK 파일을 추출하도록 변경 - gradle assembleRelease : 앱을 release 모드로 빌드, Debug 정보를 포함하지 않기에 용량이 더 적고, 난독화가 적용되어 있다. * build: android ci 워크플로우 이름 변경 * build: android cd 재설정 - 구글 플레이 콘솔 자동 배포 설정 * build: Play Console 배포 설정 변경 - 서비스 계정 Key 파일 secret 변수 변경 - whatsNewDirectory 설정 * build: android ci 적용 브랜치 수정 - release-an 브랜치, main 브랜치 추가 * fix: 안드로이드 CI 오류 수정 #519 (#521) * fix: android-ci.yml 파일 수정 * fix: android-ci.yml 파일 수정 * feat: 나의 추억들 정렬 기능 구현 #503 (#507) * ui: 정렬 메뉴 ui 구현 * feat: 나의 추억들 정렬 기능 구현 * feat: 기간 유무에 따른 추억 필터 기능 구현 * refactor: 정렬 타입에 따른 정렬 선택 로직을 view model이 가지도록 변경 - 정렬 타입과 정렬 menu id를 가지고 있는 SortType Enum Class 생성 * refactor: timeline ui model 셋팅 로직 수정 * refactor: 사용자가 선택한 menuId와 일치하는 SortType을 찾는 로직을 팩토리 함수로 분리 * refactor: 원본 timeline clear 로직 추가 * refactor: 기간 있는 추억 내림차순 정렬 조건 추가 * fix: 추억 삭제 후 나의 추억들(타임라인)이 갱신되지 않는 오류 수정 * fix: 나의 추억들(타임라인) 정렬 시 포커스가 유지되는 문제 해결 * refactor: originalTimeline 타입 변경 * ui: 기분 캐릭터 변경 #522 (#523) * ui: 음표 기분 캐릭터 추가 * refactor: 음표 기분 캐릭터 적용 * feat: 카메라 촬영 기능 연결 #514 (#524) * build: androidx camera 의존성 추가 - 버전 카탈로그 활용 * build: AndroidManifest 카메라 접근 기능 수정 - android.hardware.camera.any 로 설정하여 전, 후면 모두 사용 가능하도록 변경 * ui: 사진 업로드 다이얼로그에서 ㄷ사용할 문자열 리소스 설정 - 권한 관련 안내 메시지 추가 * feat: 카메라 기능 추가 - 접근 권한 확인 후 카메라 실행 - 카메라에서 촬영한 사진을 가져와 Activity에게 이미지 URI 전달 * style: ktlint 적용 * fix: 권한 요청 스낵바와 에러 메시지 스낵바 분리 * ui: 권한 요청 스낵바의 문구 수정 * fix: 외부 저장소 쓰기 권한 추가 * deploy: v.1.2.0 배포 준비 #515 (#525) * refactor: versionCode 및 versionName 업데이트 - versionCode: 4 -> 5 - versionName: "1.1.0" -> "1.2.0" * ui: 마이페이지에 노출될 앱 버전 명 업데이트 - 앱 버전: "1.1.0" -> "1.2.0" * docs: 1.2.0 버전 출시 노트 추가 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> Co-authored-by: linirini <[email protected]> Co-authored-by: Somin Lee <[email protected]> * fix: Android CD 수정 #527 (#528) * fix: push branch 에 release-an 추가 * fix: 출시 노트 옵션 파일경로 수정 * chore: Thread, Hikari CP 변경 (#518) * feat: Hikari CP, Thread 설정 변경 * fix: writer, reader에 각각 hikari 설정 * feat: 기본 추억 제목 변경 #530 (#531) * feat: 기본 추억 이름을 ~의 추억으로 설정 * refactor: 변수 사용 --------- Co-authored-by: hxeyexn <[email protected]> Co-authored-by: BurningFalls <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> Co-authored-by: Somin Lee <[email protected]> * refactor: 커밋 되살리기 --------- Co-authored-by: linirini <[email protected]> Co-authored-by: hxeyexn <[email protected]> Co-authored-by: YoonJuHo <[email protected]> Co-authored-by: hodu <[email protected]> Co-authored-by: Hyeyeon Gong <[email protected]> Co-authored-by: somin <[email protected]> Co-authored-by: Somin Lee <[email protected]>
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.
⭐️ Issue Number
🚩 Summary
🛠️ Technical Concerns
🙂 To Reviewer
📋 To Do