mirror of
https://github.com/antebudimir/tempus.git
synced 2025-12-31 17:43:32 +00:00
fetch thumbnails before loading full res image
This commit is contained in:
parent
20f5c8f295
commit
8b731292a8
1 changed files with 10 additions and 2 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
package com.cappielloantonio.tempo.ui.adapter;
|
package com.cappielloantonio.tempo.ui.adapter;
|
||||||
|
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
@ -10,6 +11,7 @@ import androidx.appcompat.content.res.AppCompatResources;
|
||||||
import androidx.media3.session.MediaBrowser;
|
import androidx.media3.session.MediaBrowser;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
|
import com.bumptech.glide.RequestBuilder;
|
||||||
import com.cappielloantonio.tempo.R;
|
import com.cappielloantonio.tempo.R;
|
||||||
import com.cappielloantonio.tempo.databinding.ItemPlayerQueueSongBinding;
|
import com.cappielloantonio.tempo.databinding.ItemPlayerQueueSongBinding;
|
||||||
import com.cappielloantonio.tempo.glide.CustomGlideRequest;
|
import com.cappielloantonio.tempo.glide.CustomGlideRequest;
|
||||||
|
|
@ -46,7 +48,7 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||||
Child song = songs.get(position);
|
Child song = songs.get(holder.getLayoutPosition());
|
||||||
|
|
||||||
holder.item.queueSongTitleTextView.setText(song.getTitle());
|
holder.item.queueSongTitleTextView.setText(song.getTitle());
|
||||||
holder.item.queueSongSubtitleTextView.setText(
|
holder.item.queueSongSubtitleTextView.setText(
|
||||||
|
|
@ -58,15 +60,21 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RequestBuilder<Drawable> thumbnail = CustomGlideRequest.Builder
|
||||||
|
.from(holder.itemView.getContext(), song.getCoverArtId(), CustomGlideRequest.ResourceType.Song)
|
||||||
|
.build()
|
||||||
|
.sizeMultiplier(0.1f);
|
||||||
|
|
||||||
CustomGlideRequest.Builder
|
CustomGlideRequest.Builder
|
||||||
.from(holder.itemView.getContext(), song.getCoverArtId(), CustomGlideRequest.ResourceType.Song)
|
.from(holder.itemView.getContext(), song.getCoverArtId(), CustomGlideRequest.ResourceType.Song)
|
||||||
.build()
|
.build()
|
||||||
|
.thumbnail(thumbnail)
|
||||||
.into(holder.item.queueSongCoverImageView);
|
.into(holder.item.queueSongCoverImageView);
|
||||||
|
|
||||||
MediaManager.getCurrentIndex(mediaBrowserListenableFuture, new MediaIndexCallback() {
|
MediaManager.getCurrentIndex(mediaBrowserListenableFuture, new MediaIndexCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onRecovery(int index) {
|
public void onRecovery(int index) {
|
||||||
if (position < index) {
|
if (holder.getLayoutPosition() < index) {
|
||||||
holder.item.queueSongTitleTextView.setAlpha(0.2f);
|
holder.item.queueSongTitleTextView.setAlpha(0.2f);
|
||||||
holder.item.queueSongSubtitleTextView.setAlpha(0.2f);
|
holder.item.queueSongSubtitleTextView.setAlpha(0.2f);
|
||||||
holder.item.ratingIndicatorImageView.setAlpha(0.2f);
|
holder.item.ratingIndicatorImageView.setAlpha(0.2f);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue