diff --git a/.idea/misc.xml b/.idea/misc.xml index a6144536..7e49d62c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -30,16 +30,19 @@ + + + @@ -50,6 +53,7 @@ + diff --git a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerControllerFragment.java b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerControllerFragment.java index 8f004734..cd055488 100644 --- a/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerControllerFragment.java +++ b/app/src/main/java/com/cappielloantonio/play/ui/fragment/PlayerControllerFragment.java @@ -13,7 +13,6 @@ import android.widget.TextView; import android.widget.ToggleButton; import androidx.annotation.NonNull; -import androidx.cardview.widget.CardView; import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; import androidx.media3.common.MediaMetadata; @@ -40,9 +39,8 @@ public class PlayerControllerFragment extends Fragment { private InnerFragmentPlayerControllerBinding bind; private ImageView playerMoveDownBottomSheet; private ViewPager2 playerSongCoverViewPager; + private ImageButton buttonRating; private ToggleButton buttonFavorite; - private ImageButton playerCommandUnfoldButton; - private CardView playerCommandCardview; private TextView playerSongTitleLabel; private TextView playerArtistNameLabel; @@ -62,7 +60,6 @@ public class PlayerControllerFragment extends Fragment { init(); initCoverLyricsSlideView(); initMediaListenable(); - initMusicCommandUnfoldButton(); initArtistLabelButton(); return view; @@ -93,8 +90,7 @@ public class PlayerControllerFragment extends Fragment { playerMoveDownBottomSheet = bind.getRoot().findViewById(R.id.player_move_down_bottom_sheet); playerSongCoverViewPager = bind.getRoot().findViewById(R.id.player_song_cover_view_pager); buttonFavorite = bind.getRoot().findViewById(R.id.button_favorite); - playerCommandUnfoldButton = bind.getRoot().findViewById(R.id.player_command_unfold_button); - playerCommandCardview = bind.getRoot().findViewById(R.id.player_command_cardview); + buttonRating = bind.getRoot().findViewById(R.id.button_rating); playerSongTitleLabel = bind.getRoot().findViewById(R.id.player_song_title_label); playerArtistNameLabel = bind.getRoot().findViewById(R.id.player_artist_name_label); @@ -167,15 +163,13 @@ public class PlayerControllerFragment extends Fragment { buttonFavorite.setOnClickListener(v -> playerBottomSheetViewModel.setFavorite(requireContext(), song)); - buttonFavorite.setOnLongClickListener(v -> { + buttonRating.setOnClickListener(v -> { Bundle bundle = new Bundle(); bundle.putParcelable("song_object", song); RatingDialog dialog = new RatingDialog(); dialog.setArguments(bundle); dialog.show(requireActivity().getSupportFragmentManager(), null); - - return true; }); playerBottomSheetViewModel.refreshSongInfo(requireActivity(), song); @@ -183,16 +177,6 @@ public class PlayerControllerFragment extends Fragment { }); } - private void initMusicCommandUnfoldButton() { - playerCommandUnfoldButton.setOnClickListener(view -> { - if (playerCommandCardview.getVisibility() == View.INVISIBLE || playerCommandCardview.getVisibility() == View.GONE) { - playerCommandCardview.setVisibility(View.VISIBLE); - } else { - playerCommandCardview.setVisibility(View.GONE); - } - }); - } - private void initArtistLabelButton() { playerArtistNameLabel.setOnClickListener(view -> playerBottomSheetViewModel.getLiveArtist().observe(requireActivity(), artist -> { Bundle bundle = new Bundle(); diff --git a/app/src/main/res/drawable/ic_grade.xml b/app/src/main/res/drawable/ic_grade.xml new file mode 100644 index 00000000..cf1aafbb --- /dev/null +++ b/app/src/main/res/drawable/ic_grade.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_pause_circle.xml b/app/src/main/res/drawable/ic_pause_circle.xml new file mode 100644 index 00000000..10881a3a --- /dev/null +++ b/app/src/main/res/drawable/ic_pause_circle.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_play_circle.xml b/app/src/main/res/drawable/ic_play_circle.xml new file mode 100644 index 00000000..62f26715 --- /dev/null +++ b/app/src/main/res/drawable/ic_play_circle.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_repeat.xml b/app/src/main/res/drawable/ic_repeat.xml new file mode 100644 index 00000000..244a36ee --- /dev/null +++ b/app/src/main/res/drawable/ic_repeat.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/inner_fragment_player_controller_layout.xml b/app/src/main/res/layout/inner_fragment_player_controller_layout.xml index df48822a..73c558c6 100644 --- a/app/src/main/res/layout/inner_fragment_player_controller_layout.xml +++ b/app/src/main/res/layout/inner_fragment_player_controller_layout.xml @@ -1,17 +1,19 @@ - + android:layout_height="match_parent"> + app:elevation="0dp" + app:layout_constraintLeft_toLeftOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> - + - + - - - + android:layout_marginTop="8dp" + android:layout_weight="1" + android:paddingStart="24dp" + android:paddingEnd="24dp" + android:text="@string/label_placeholder" + android:textAlignment="center" + app:layout_constraintBottom_toTopOf="@+id/player_artist_name_label" + app:layout_constraintEnd_toStartOf="@+id/button_favorite" + app:layout_constraintStart_toEndOf="@+id/button_rating" /> - - - - - - - - - - - - - + + android:text="@string/label_placeholder" + app:layout_constraintBottom_toTopOf="@+id/exo_progress" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" /> - + android:layout_gravity="center" + android:layout_marginLeft="24dp" + android:paddingTop="4dp" + android:paddingBottom="4dp" + android:text="@string/label_placeholder" + android:textColor="@color/titleTextColor" + android:textSize="12sp" + app:layout_constraintBottom_toBottomOf="@+id/exo_progress" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="@+id/exo_progress" /> - - - - - - - - + android:layout_gravity="center" + android:layout_marginLeft="4dp" + android:layout_marginRight="4dp" + android:layout_marginBottom="12dp" + android:layout_weight="1" + app:bar_height="2dp" + app:buffered_color="@color/seekBarBufferedColor" + app:layout_constraintBottom_toTopOf="@+id/player_play_pause_placeholder_view" + app:layout_constraintEnd_toStartOf="@+id/exo_duration" + app:layout_constraintStart_toEndOf="@+id/exo_position" + app:played_color="@color/seekBarPlayedColor" + app:scrubber_color="@color/seekBarPlayedColor" + app:scrubber_dragged_size="8dp" + app:unplayed_color="@color/seekBarUnPlayedColor" /> - + - + - + - + - + - - + - + - - - \ No newline at end of file + + + \ No newline at end of file diff --git a/app/src/main/res/layout/inner_fragment_player_lyrics.xml b/app/src/main/res/layout/inner_fragment_player_lyrics.xml index 23004dea..01aa9bd2 100644 --- a/app/src/main/res/layout/inner_fragment_player_lyrics.xml +++ b/app/src/main/res/layout/inner_fragment_player_lyrics.xml @@ -7,7 +7,6 @@ style="@style/LyricsTextView" android:layout_width="match_parent" android:layout_height="match_parent" - android:paddingTop="16dp" android:paddingStart="24dp" android:paddingEnd="24dp"/> \ No newline at end of file