Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[REFACTOR] NetworkViewModel 적용 #861

Open
23 of 29 tasks
ki960213 opened this issue Dec 1, 2023 · 0 comments
Open
23 of 29 tasks

[REFACTOR] NetworkViewModel 적용 #861

ki960213 opened this issue Dec 1, 2023 · 0 comments
Assignees
Labels
Android 안드로이드 관련 이슈 High Priority 리뷰 우선순위가 높은 PR 리팩터링 테스트 코드의 검증 값이 변환하지 않고 코드 변경

Comments

@ki960213
Copy link
Collaborator

ki960213 commented Dec 1, 2023

📌 어떤 기능을 리팩터링 하나요?

리팩터링 할 기능에 대해 간결하게 설명해주세요

네트워크 요청을 하는 뷰모델에 NetworkViewModel 적용

관련 링크

  • MemberBlockViewModel
  • ChildCommentViewModel
  • CompetitionFilterViewModel
  • CompetitionViewModel
  • ConferenceFilterViewModel
  • ConferenceViewModel
  • EditMyProfileViewModel
  • EventDetailViewModel
  • EventSearchViewModel
  • FeedDetailViewModel
  • FeedListViewModel
  • FeedWritingViewModel
  • LoginViewModel
  • MessageListViewModel
  • MessageRoomViewModel
  • MyCommentsViewModel
  • MyProfileViewModel
  • MyRecruitmentViewModel
  • NotificationConfigViewModel
  • NotificationTagConfigViewModel
  • OnboardingViewModel
  • PrimaryNotificationViewModel
  • ProfileViewModel
  • RecruitmentPostDetailViewModel
  • EventRecruitmentViewModel
  • RecruitmentPostWritingViewModel
  • ScrappedEventViewModel
  • SettingViewModel
  • SplashViewModel

AS-IS

TO-BE

예상 소요 시간

이슈를 완료하기까지 예상되는 소요 시간을 분 or 시간 or 일 단위로 작성해주세요.

3일

🔍 참고할만한 자료(선택)

@ki960213 ki960213 added Android 안드로이드 관련 이슈 리팩터링 테스트 코드의 검증 값이 변환하지 않고 코드 변경 High Priority 리뷰 우선순위가 높은 PR labels Dec 1, 2023
chws0508 added a commit that referenced this issue Dec 1, 2023
…용' into Refactor/#861-NetworkViewModel_적용

# Conflicts:
#	android/2023-emmsale/app/src/main/java/com/emmsale/presentation/ui/scrappedEventList/ScrappedEventViewModel.kt
ki960213 added a commit that referenced this issue Dec 2, 2023
ki960213 added a commit that referenced this issue Dec 6, 2023
chws0508 added a commit that referenced this issue Dec 12, 2023
* feat: NetworkViewModel 구현

* refactor : 스크랩 화면 NetworkViewModel 적용

* refactor : 스크랩 화면 NetworkViewModel 적용

* refactor(ChildCommentViewModel): NetworkViewModel 적용

* feat(NetworkViewModel): command와 commandAndRefresh에 onStart와 onFinish 매개변수 추가

* feat(ChildCommentViewModel): 댓글 게시 요청의 응답을 받지 않았다면 댓글을 추가적으로 보낼 수 없도록 변경

* refactor(ChildCommentActivity): NetworkActivity 적용

* refactor(NetworkActivity): BaseActivity 분리

* feat(NetworkFragment): NetworkFragment 구현

* refactor(MyProfileViewModel): NetworkViewModel 적용

* refactor(NetworkActivity): 메서드명 오타 수정

* refactor(FeedDetailViewModel): NetworkViewModel 적용

* refactor(ChildCommentsUiState): ChildCommentsUiState 클래스 제거

* feat(activity_feed_detail.xml): SwipeRefreshLayout 아이콘 색상을 primary color로 변경

* feat(NetworkViewModel): requestNetwork 메서드 구현

* feat(NetworkViewModel): requestNetwork 메서드의 onStart와 onFinish에 기본값 설정

* feat(BaseActivity): onCreate에서 바인딩 객체의 생명주기 주인 설정

* refactor(ProfileViewModel): NetworkViewModel 적용

* feat(FeedDetailActivity): 다른 화면 갔다오면 새로고침하도록 변경

* refactor(EditMyProfileViewModel): NetworkViewModel 적용

* refactor(EditMyProfile): UiState, UiEvent, Activity 리팩터링

* refactor(MyCommentsUiState): 불필요한 MyCommentsUiState 클래스 제거

* fix(FeedDetailViewModel): 댓글 개수 로직 수정

* refactor(MemberBlockViewModel): NetworkViewModel 적용

* refactor(ScrappedEvent): UiState 제거 및 NetworkFragment 적용

* refactor(FeedListViewModel): NetworkFragment 적용

* refactor(ScrappedEventViewModel): 새로고침 로직 리팩터링

* refactor(EventRecruitmentViewModel): NetworkViewModel 적용

* refactor(RecruitmentPostDetailViewModel): NetworkViewModel 적용

* refactor(RefreshableViewModel): NetworkViewModel에서 RefreshableViewModel 분리

* refactor(RecruitmentPostWritingViewModel): NetworkViewModel 적용

* refactor(BasicTextInputWindow, SubTextInputWindow): BindingMethods를 사용하여 가독성 향상

* feat(RecruitmentPostWritingActivity): 사용성 증가

- 글이 비어있거나 아무것도 수정되지 않았다면 네트워크 요청 못하게 막음
- 수정된 게 있을 때 뒤로 가기 하면 확인 다이얼로그 띄움

* refactor(FeedWritingViewModel): NetworkViewModel 적용

* refactor(RecruitmentPostWriting): 코드 리팩터링

* feat(RecruitmentPostDetailActivity): 모집글 삭제 후 스낵바 띄우지 않도록 변경

* refactor(EventDetailViewModel): RefreshableViewModel 적용

* style: ktlint 적용

* refactor(NotificationsViewModel): RefreshableViewModel 적용

* refactor(SettingViewModel): RefreshableViewModel 적용

* refactor(NotificationConfigViewModel): RefreshableViewModel 적용

* fix(EventDetailViewModel): 행사 정보 불러올 때 로딩 바 보이도록 수정

* refactor(NotificationTagConfigViewModel): RefreshableViewModel 적용

* fix(themes.xml): 다크 모드일 때도 툴바 스타일이 적용되도록 수정

* refactor(NetworkActivity, NetworkFragment): 데이터 불러오기가 실패할 경우 보여주는 다이얼로그 메세지 변경

* refactor: 불필요한 UiState 제거

* refactor(MemberBlockActivity): 코드 리팩터링

* refactor(ChildCommentsActivity): 코드 리팩터링

* refactor(EditMyProfileActivity): 코드 리팩터링

* refactor(EventDetailActivity): 코드 리팩터링

* refactor(EventFragment): 코드 리팩터링

* refactor(FeedDetailActivity): 코드 리팩터링

* refactor(FeedListFragment): 코드 리팩터링

* refactor(MyCommentsActivity): 코드 리팩터링

* refactor(MyProfileFragment): 코드 리팩터링

* refactor(ProfileActivity): 코드 리팩터링

* refactor(RecruitmentPostDetailActivity): 코드 리팩터링

* refactor(RecruitmentsFragment): 코드 리팩터링

* refactor(FeedDetailActivity): 코드 리팩터링

* refactor(ScrappedEventFragment): 코드 리팩터링

* refactor(SettingFragment): 코드 리팩터링

* refactor(HorizontalDivider): AppCompatImageView를 상속하도록 바꾸고 클래스명 변경

- Divider -> HorizontalDivider

* refactor: 수평 구분선을 HorizontalDivider로 구현하도록 변경

* refactor: 불필요한 layout 파일 제거

* feat(FeedListFragment): 피드 사이에만 구분선이 그려지도록 변경

* feat(RecruitmentsFragment): 모집글 사이에만 구분선이 그려지도록 변경

* feat(FeedWritingActivity): 이미지 삭제 아이콘 변경, 이미지 클릭 시 크게 보기 기능 추가, 이미지 사이에만 간격이 존재하도록 변경

* feat(activity_feed_writing.xml): 레이아웃 변경

* refactor(MessageListViewModel): RefreshableViewModel 적용

* refactor(NetworkViewModel): onStart 메서드 실행을 맨 처음으로 옮김

* fix(FeedDetailViewModel, NotificationTagConfigViewModel): 요청 실패 시 화면 상태를 NONE으로 변경

* refactor(MessagesUiState): Message ui 상태를 변경하는 로직을 MessagesUiState로 옮김

* refactor(MessageListActivity): 코드 리팩터링

* feat(MessageListActivity): 아래로 스크롤 할 수 없을 때 새로운 메세지가 오면 새 메세지 알림 뷰를 보여주는 대신 자동으로 아래로 스크롤 되도록 변경

* feat(MessageListActivity): MessageListActivity가 화면에 보여질 때 다른 채팅방의 메세지가 오면 알림 띄우기 기능 추가

* fix(ic_all_close.xml): 원래대로 x 아이콘만 그리고 게시글 이미지 작성 화면에서 사용할 이미지 제거 아이콘 따로 만듦(ic_writing_image_delete.xml)

* refactor(MessageRoomViewModel): RefreshableViewModel 적용

* feat(NetworkActivity, NetworkFragment): 알 수 없는 에러 발생 시 다이얼로그를 띄우고 화면을 나가도록 변경

* refactor(NetworkViewModel, RefreshableViewModel): 모든 메서드의 모든 매개변수를 suspend 함수 타입으로 변경

* refactor(LoginViewModel): NetworkViewModel 적용

* refactor(SplashActivity): 코드 리팩터링

* fix(img_profile_image_decoration.xml): 깨지지 않은 이미지로 변경

* refactor(BaseFragment): 생성자에서 레이아웃 리소스를 받도록 변경

* refactor(OnboardingViewModel): RefreshableViewModel 적용

* refactor(FeedDetailActivity): ConcatAdapter 대신 멀티 뷰 타입을 사용하도록 변경

* feat(FeedDetailActivity): 피드 댓글 하이라이팅 기능 구현

* feat(item_all_comment.xml): 댓글 메뉴 크기 늘림

* feat(MyCommentsViewModel): 댓글 작성 날짜 역순으로 정렬

* refactor(FeedDetailActivity): 메서드 위치 변경

- highlightComment 메서드 위치를 사용되는 곳 아래로 옮김

* refactor(EventDetailViewModel): 모집글 작성했는지 확인하는 로직 리팩터링

* refactor(FeedDetailViewModel): 댓글 수정 중일 때 댓글 배경색 변화가 유지되도록 변경

* refactor: RecruitmentPost -> Recruitment

* refactor(KerdyFirebaseMessagingService): 코드 리팩터링

* feat(FeedDetailViewModel): 하이라이팅 된 댓글을 다시 하이라이팅 할 수 있도록 변경

* chore(proguard-rules.pro): ApiResponse 클래스를 절대 축소되지 않게 하는 게 아니라 이름이 유지만 되도록 변경

* fix(MyProfileActivity): 프로필 수정하고 오면 화면이 새로고침 되도록 변경

* fix(SplashActivity): 플레이스토어가 설치되지 않았다면 플레이스토어로 이동하도록 수정

---------

Co-authored-by: chws0508 <[email protected]>
@amaran-th amaran-th added this to the 2024 상반기 milestone Jan 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Android 안드로이드 관련 이슈 High Priority 리뷰 우선순위가 높은 PR 리팩터링 테스트 코드의 검증 값이 변환하지 않고 코드 변경
Projects
Status: Backlog
Development

No branches or pull requests

4 participants