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

노래 재생 화면에서 플레이 리스트에 추가 #296

Merged
merged 12 commits into from
Dec 7, 2023

Conversation

HamBP
Copy link
Member

@HamBP HamBP commented Dec 6, 2023

Issue

Overview

  • 노래 재생 화면에서 플레이 리스트에 노래를 추가한다.
  • 서버 요청이 완료되면 바텀 시트가 내려간다.

Screenshot

To Reviewers

  • 일단 기능만 동작하게 만들었어
  • musicId와 playlist 목록을 dialog에 넘겨주는 방법으로 일단 ViewModel과 hilt를 사용했어

아래는 고쳐야 할 내용 (이슈 생성해야 함)

  • Fragment를 띄우면 하단 재생 바가 자기 부른 줄 알고 같이 올라옴
  • 이유는 모르겠으나 바텀 시트가 떠 있는 동안 재생 버튼이 사라짐
  • UI radius 추가하거나 디자인을 바꿔야 함
  • 예외 처리(이미 추가된 노래일 경우 등)가 안 되어 있음
  • 정상적으로 추가되면 알림 메시지를 띄워줘야 함

@HamBP HamBP self-assigned this Dec 6, 2023
@HamBP HamBP added ✨ feat 기능 개발 🤖 android android labels Dec 6, 2023
@HamBP HamBP added this to the ⏯️ playlist milestone Dec 6, 2023
Copy link

github-actions bot commented Dec 6, 2023

Test Results

6 tests   6 ✔️  1s ⏱️
2 suites  0 💤
2 files    0

Results for commit 3bc9582.

♻️ This comment has been updated with latest results.

Comment on lines +5 to +8
@Serializable
data class AddMusicToPlaylistRequest(
val musicId: String
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오 이거 제가 올린 PR에도 생성된 requestbody 인데 자주 쓰일 것 같아서 저는 MusicIdRequest 로 클래스를 만들었습니당! 이따 통일하는 게 좋을 것 같네요~!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MusicIdRequest가 더 간단해서 좋네요

Comment on lines +53 to +55
private fun List<Playlist>.toUiModels(): List<PlaylistUiModel> = this.map { it.toUiModel() }

private fun Playlist.toUiModel(): PlaylistUiModel {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

함수명을 toPresentation 으로 하는 것 어떨까욥? toDomain 과 맥락이 동일하게!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

나는 조금 다르게 생각했어. UiModel은 특정 UI 컴포넌트에서만 사용하는 개념으로 봤어.
만약 presentation이라고 짓는 거라면 UI의 형태와 관계 없이 RecyclerView든 어떤 자세히보기 화면이든 관계 없이 사용할 수 있어야 할 것 같아. 이 경우엔 특정 RecyclerView에서만 사용할 수 있는 data class라고 생각해서 presentation에서 사용하는 model보다는 특정 ui에서 사용하는 model이다 라는 의미로 사용했어

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

toPresentation == toUiModel 은 같은 의미라고 느껴져! 적어둔 이유처럼 특정 ui컴포넌트만을 위한 것이라면 어떤 컴포넌트의 UiModel인지 함수명을 바꿔야하지 않을까? 그게 아니라면 toPresentation 도 괜찮은 것 같아

@@ -34,7 +34,7 @@
<string name="description">설명</string>
<string name="select_thumbnail">썸네일 이미지 선택</string>


<string name="track_size">트랙 %d개</string>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이거 playlist 모듈 strings 파일에 있는데 playlist 모듈에서 삭제한번 해주세요!~

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

넹 삭제할게여

Copy link
Member

@youlalala youlalala left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨씁니다!!!

Copy link
Collaborator

@2taezeat 2taezeat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다~

import kotlinx.coroutines.launch

@AndroidEntryPoint
class PlaylistBottomSheet : BottomSheetDialogFragment() {
Copy link
Collaborator

@2taezeat 2taezeat Dec 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BottomSheetDialogFragment() 을 사용해서, Bottom Player가 안보이는 등, 적어주셨던 것 처럼 UI에 문제가 생기는 것거 같은데,

Fragment를 띄우면 하단 재생 바가 자기 부른 줄 알고 같이 올라옴
이유는 모르겠으나 바텀 시트가 떠 있는 동안 재생 버튼이 사라짐
UI radius 추가하거나 디자인을 바꿔야 함

최종발표까지 시간이 얼마 안남았기에, BottomSheetDialog 나 아니면 단순하게 Dialog 등으로 하는 것도 하나의 방법일 것 같아요.
(UI 문제가 빠르게 해결되면, 지금 상태로 해도 당연히 좋습니다.)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fragment가 아닌 클래스가 있었군요
그런데 지금은 Navigation과 Fragment의 기능을 사용하고 있기 때문에, 변경해야 할 지점이 많아요. 일단 이슈를 만들어 놓고 머지할게요. 모달 바텀 시트의 배경이라 기능상 문제가 있거나 크게 신경쓰이는 부분은 아닙니다!

@HamBP HamBP linked an issue Dec 7, 2023 that may be closed by this pull request
@HamBP HamBP merged commit 61b43d9 into develop Dec 7, 2023
2 checks passed
@HamBP HamBP deleted the android/feature/21 branch December 10, 2023 06:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🤖 android android ✨ feat 기능 개발
Projects
None yet
Development

Successfully merging this pull request may close these issues.

노래 재생 화면에서 플레이리스트 추가
3 participants