From c20cadff94d5daa1f4cb1e9f0ca79e32f3f076c4 Mon Sep 17 00:00:00 2001 From: antonio Date: Thu, 12 Oct 2023 22:36:48 +0200 Subject: [PATCH] clean: cleaned up the podcast listening UI --- .../fragment/PlayerBottomSheetFragment.java | 4 +++ .../ui/fragment/PlayerControllerFragment.java | 8 +++++ ...nner_fragment_player_controller_layout.xml | 32 +++++++++---------- .../res/layout/player_header_bottom_sheet.xml | 8 +++-- 4 files changed, 33 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerBottomSheetFragment.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerBottomSheetFragment.java index 7bf709d9..f9796413 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerBottomSheetFragment.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerBottomSheetFragment.java @@ -37,6 +37,7 @@ import com.google.android.material.elevation.SurfaceColors; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; +import java.util.Objects; import java.util.stream.IntStream; @OptIn(markerClass = UnstableApi.class) @@ -164,6 +165,9 @@ public class PlayerBottomSheetFragment extends Fragment { .from(requireContext(), mediaMetadata.extras.getString("coverArtId"), CustomGlideRequest.ResourceType.Song) .build() .into(bind.playerHeaderLayout.playerHeaderMediaCoverImage); + + bind.playerHeaderLayout.playerHeaderMediaTitleLabel.setVisibility(mediaMetadata.extras.getString("title") != null && !Objects.equals(mediaMetadata.extras.getString("title"), "") ? View.VISIBLE : View.GONE); + bind.playerHeaderLayout.playerHeaderMediaArtistLabel.setVisibility(mediaMetadata.extras.getString("artist") != null && !Objects.equals(mediaMetadata.extras.getString("artist"), "") ? View.VISIBLE : View.GONE); } } diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerControllerFragment.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerControllerFragment.java index fc60d9b0..ab4e88d8 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerControllerFragment.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/PlayerControllerFragment.java @@ -40,6 +40,8 @@ import com.google.android.material.elevation.SurfaceColors; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; +import java.util.Objects; + @UnstableApi public class PlayerControllerFragment extends Fragment { private static final String TAG = "PlayerCoverFragment"; @@ -164,6 +166,9 @@ public class PlayerControllerFragment extends Fragment { playerMediaTitleLabel.setSelected(true); playerArtistNameLabel.setSelected(true); + + playerMediaTitleLabel.setVisibility(mediaMetadata.title != null && !Objects.equals(mediaMetadata.title, "") ? View.VISIBLE : View.GONE); + playerArtistNameLabel.setVisibility(mediaMetadata.artist != null && !Objects.equals(mediaMetadata.artist, "") ? View.VISIBLE : View.GONE); } private void setMediaInfo(MediaMetadata mediaMetadata) { @@ -201,6 +206,7 @@ public class PlayerControllerFragment extends Fragment { bind.getRoot().setRepeatToggleModes(RepeatModeUtil.REPEAT_TOGGLE_MODE_NONE); bind.getRoot().findViewById(R.id.player_playback_speed_button).setVisibility(View.VISIBLE); bind.getRoot().findViewById(R.id.player_skip_silence_toggle_button).setVisibility(View.VISIBLE); + bind.getRoot().findViewById(R.id.button_favorite).setVisibility(View.GONE); setPlaybackParameters(mediaBrowser); break; case Constants.MEDIA_TYPE_RADIO: @@ -212,6 +218,7 @@ public class PlayerControllerFragment extends Fragment { bind.getRoot().setRepeatToggleModes(RepeatModeUtil.REPEAT_TOGGLE_MODE_NONE); bind.getRoot().findViewById(R.id.player_playback_speed_button).setVisibility(View.GONE); bind.getRoot().findViewById(R.id.player_skip_silence_toggle_button).setVisibility(View.GONE); + bind.getRoot().findViewById(R.id.button_favorite).setVisibility(View.GONE); setPlaybackParameters(mediaBrowser); break; case Constants.MEDIA_TYPE_MUSIC: @@ -224,6 +231,7 @@ public class PlayerControllerFragment extends Fragment { bind.getRoot().setRepeatToggleModes(RepeatModeUtil.REPEAT_TOGGLE_MODE_ALL | RepeatModeUtil.REPEAT_TOGGLE_MODE_ONE); bind.getRoot().findViewById(R.id.player_playback_speed_button).setVisibility(View.GONE); bind.getRoot().findViewById(R.id.player_skip_silence_toggle_button).setVisibility(View.GONE); + bind.getRoot().findViewById(R.id.button_favorite).setVisibility(View.VISIBLE); resetPlaybackParameters(mediaBrowser); break; } 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 e00badd5..ed1a341b 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 @@ -82,7 +82,7 @@ android:layout_height="wrap_content" android:layout_marginStart="24dp" android:layout_marginTop="24dp" - android:layout_marginEnd="12dp" + android:layout_marginEnd="24dp" android:ellipsize="marquee" android:singleLine="true" android:text="@string/label_placeholder" @@ -90,6 +90,20 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/guideline" /> + + - - + app:layout_constraintTop_toTopOf="@+id/player_header_media_cover_image" + app:layout_constraintBottom_toTopOf="@+id/player_header_media_artist_label"/> + app:layout_constraintTop_toBottomOf="@+id/player_header_media_title_label" + app:layout_constraintBottom_toBottomOf="@+id/player_header_media_cover_image"/>