Added song duration in queue's adapter

This commit is contained in:
CappielloAntonio 2021-04-18 10:10:53 +02:00
parent e23075e4a8
commit 7adeac1e01
3 changed files with 41 additions and 8 deletions

View file

@ -14,6 +14,7 @@ import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.helper.MusicPlayerRemote; import com.cappielloantonio.play.helper.MusicPlayerRemote;
import com.cappielloantonio.play.model.Song; import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.ui.fragment.PlayerBottomSheetFragment; import com.cappielloantonio.play.ui.fragment.PlayerBottomSheetFragment;
import com.cappielloantonio.play.util.MusicUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -48,6 +49,7 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
holder.songTitle.setText(song.getTitle()); holder.songTitle.setText(song.getTitle());
holder.songArtist.setText(song.getArtistName()); holder.songArtist.setText(song.getArtistName());
holder.songDuration.setText(MusicUtil.getReadableDurationString(song.getDuration()));
CustomGlideRequest.Builder CustomGlideRequest.Builder
.from(context, song.getPrimary(), song.getBlurHash(), CustomGlideRequest.PRIMARY, CustomGlideRequest.TOP_QUALITY, CustomGlideRequest.SONG_PIC) .from(context, song.getPrimary(), song.getBlurHash(), CustomGlideRequest.PRIMARY, CustomGlideRequest.TOP_QUALITY, CustomGlideRequest.SONG_PIC)
@ -63,6 +65,7 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView songTitle; TextView songTitle;
TextView songArtist; TextView songArtist;
TextView songDuration;
ImageView cover; ImageView cover;
ViewHolder(View itemView) { ViewHolder(View itemView) {
@ -70,6 +73,7 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
songTitle = itemView.findViewById(R.id.queue_song_title_text_view); songTitle = itemView.findViewById(R.id.queue_song_title_text_view);
songArtist = itemView.findViewById(R.id.queue_song_artist_text_view); songArtist = itemView.findViewById(R.id.queue_song_artist_text_view);
songDuration = itemView.findViewById(R.id.queue_song_duration_text_view);
cover = itemView.findViewById(R.id.queue_song_cover_image_view); cover = itemView.findViewById(R.id.queue_song_cover_image_view);
itemView.setOnClickListener(this); itemView.setOnClickListener(this);

View file

@ -43,18 +43,46 @@
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:layout_constraintEnd_toStartOf="@+id/queue_song_holder_image"/> app:layout_constraintEnd_toStartOf="@+id/queue_song_holder_image"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingEnd="12dp"
app:layout_constraintTop_toBottomOf="@+id/queue_song_title_text_view"
app:layout_constraintStart_toEndOf="@+id/queue_song_cover_image_view"
app:layout_constraintEnd_toStartOf="@+id/queue_song_holder_image">
<TextView <TextView
android:id="@+id/queue_song_artist_text_view" android:id="@+id/queue_song_artist_text_view"
android:layout_width="0dp" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/open_sans_font_family" android:fontFamily="@font/open_sans_font_family"
android:paddingStart="12dp" android:paddingStart="12dp"
android:paddingEnd="4dp"
android:text="@string/label_placeholder" android:text="@string/label_placeholder"
android:textColor="@color/subtitleTextColor" android:textColor="@color/subtitleTextColor"
android:textSize="12sp" android:textSize="12sp" />
app:layout_constraintTop_toBottomOf="@+id/queue_song_title_text_view"
app:layout_constraintStart_toEndOf="@+id/queue_song_cover_image_view" <TextView
app:layout_constraintEnd_toStartOf="@+id/queue_song_holder_image"/> android:id="@+id/queue_separator_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/open_sans_font_family"
android:text="@string/label_dot_separator"
android:textColor="@color/subtitleTextColor"
android:textSize="12sp" />
<TextView
android:id="@+id/queue_song_duration_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/open_sans_font_family"
android:paddingStart="4dp"
android:paddingEnd="12dp"
android:text="@string/label_placeholder"
android:textColor="@color/subtitleTextColor"
android:textSize="12sp" />
</LinearLayout>
<ImageView <ImageView
android:id="@+id/queue_song_holder_image" android:id="@+id/queue_song_holder_image"

View file

@ -11,6 +11,7 @@
<string name="home_menu_label">Home</string> <string name="home_menu_label">Home</string>
<string name="search_menu_label">Search</string> <string name="search_menu_label">Search</string>
<string name="label_placeholder">--</string> <string name="label_placeholder">--</string>
<string name="label_dot_separator"></string>
<string name="save_filters">Save filters between sessions</string> <string name="save_filters">Save filters between sessions</string>
<string name="sync_header">Synchronization</string> <string name="sync_header">Synchronization</string>