Add cover image and backdrop integration

This commit is contained in:
Antonio Cappiello 2020-11-26 16:05:58 +01:00
parent 6c26c6d889
commit a0f417fa94
50 changed files with 385 additions and 204 deletions

View file

@ -4,14 +4,14 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.util.Util;
import java.util.List;
@ -40,6 +40,11 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
holder.textAlbumName.setText(album.getTitle());
holder.textArtistName.setText(album.getArtistName());
CustomGlideRequest.Builder
.from(context, album.getPrimary(), album.getBlurHash(), CustomGlideRequest.PRIMARY)
.build()
.into(holder.cover);
}
@Override
@ -50,12 +55,14 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView textAlbumName;
TextView textArtistName;
ImageView cover;
ViewHolder(View itemView) {
super(itemView);
textAlbumName = itemView.findViewById(R.id.album_name_label);
textArtistName = itemView.findViewById(R.id.artist_name_label);
cover = itemView.findViewById(R.id.album_cover_image_view);
itemView.setOnClickListener(this);
}

View file

@ -4,17 +4,19 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album;
import java.util.List;
public class AlbumArtistPageAdapter extends RecyclerView.Adapter<AlbumArtistPageAdapter.ViewHolder> {
private static final String TAG = "RecentMusicAdapter";
private static final String TAG = "AlbumArtistPageAdapter";
private List<Album> albums;
private LayoutInflater mInflater;
private Context context;
@ -37,6 +39,11 @@ public class AlbumArtistPageAdapter extends RecyclerView.Adapter<AlbumArtistPage
Album album = albums.get(position);
holder.textAlbumName.setText(album.getTitle());
CustomGlideRequest.Builder
.from(context, album.getPrimary(), album.getBlurHash(), CustomGlideRequest.PRIMARY)
.build()
.into(holder.cover);
}
@Override
@ -46,11 +53,13 @@ public class AlbumArtistPageAdapter extends RecyclerView.Adapter<AlbumArtistPage
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView textAlbumName;
ImageView cover;
ViewHolder(View itemView) {
super(itemView);
textAlbumName = itemView.findViewById(R.id.album_name_label);
cover = itemView.findViewById(R.id.artist_page_album_cover_image_view);
itemView.setOnClickListener(this);
}

View file

@ -4,13 +4,14 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Album;
import com.cappielloantonio.play.model.Artist;
import java.util.List;
@ -39,6 +40,12 @@ public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAd
holder.textAlbumName.setText(album.getTitle());
holder.textArtistName.setText(album.getArtistName());
CustomGlideRequest.Builder
.from(context, album.getPrimary(), album.getBlurHash(), CustomGlideRequest.PRIMARY)
.build()
// .override(300)
.into(holder.cover);
}
@Override
@ -49,12 +56,14 @@ public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAd
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView textAlbumName;
TextView textArtistName;
ImageView cover;
ViewHolder(View itemView) {
super(itemView);
textAlbumName = itemView.findViewById(R.id.album_name_label);
textArtistName = itemView.findViewById(R.id.artist_name_label);
cover = itemView.findViewById(R.id.album_catalogue_cover_image_view);
itemView.setOnClickListener(this);
}

View file

@ -4,13 +4,14 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist;
import com.cappielloantonio.play.util.Util;
import java.util.List;
@ -38,6 +39,11 @@ public class ArtistAdapter extends RecyclerView.Adapter<ArtistAdapter.ViewHolder
Artist artist = artists.get(position);
holder.textArtistName.setText(artist.getName());
CustomGlideRequest.Builder
.from(context, artist.getPrimary(), artist.getPrimaryBlurHash(), CustomGlideRequest.PRIMARY)
.build()
.into(holder.cover);
}
@Override
@ -47,11 +53,13 @@ public class ArtistAdapter extends RecyclerView.Adapter<ArtistAdapter.ViewHolder
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView textArtistName;
ImageView cover;
ViewHolder(View itemView) {
super(itemView);
textArtistName = itemView.findViewById(R.id.artist_name_label);
cover = itemView.findViewById(R.id.artist_cover_image_view);
itemView.setOnClickListener(this);
}

View file

@ -4,11 +4,13 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Artist;
import java.util.List;
@ -37,6 +39,11 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
Artist artist = artists.get(position);
holder.textArtistName.setText(artist.getName());
CustomGlideRequest.Builder
.from(context, artist.getPrimary(), artist.getPrimaryBlurHash(), CustomGlideRequest.PRIMARY)
.build()
.into(holder.cover);
}
@Override
@ -46,11 +53,13 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView textArtistName;
ImageView cover;
ViewHolder(View itemView) {
super(itemView);
textArtistName = itemView.findViewById(R.id.artist_name_label);
cover = itemView.findViewById(R.id.artist_catalogue_cover_image_view);
itemView.setOnClickListener(this);
}

View file

@ -4,12 +4,14 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.SongRepository;
@ -40,6 +42,11 @@ public class DiscoverSongAdapter extends RecyclerView.Adapter<DiscoverSongAdapte
holder.textTitle.setText(song.getTitle());
holder.textAlbum.setText(song.getAlbumName());
CustomGlideRequest.Builder
.from(context, song.getPrimary(), song.getPrimary(), CustomGlideRequest.PRIMARY)
.build()
.into(holder.cover);
}
@Override
@ -50,12 +57,14 @@ public class DiscoverSongAdapter extends RecyclerView.Adapter<DiscoverSongAdapte
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView textTitle;
TextView textAlbum;
ImageView cover;
ViewHolder(View itemView) {
super(itemView);
textTitle = itemView.findViewById(R.id.title_discover_song_label);
textAlbum = itemView.findViewById(R.id.album_discover_song_label);
cover = itemView.findViewById(R.id.discover_song_cover_image_view);
itemView.setOnClickListener(this);
}

View file

@ -4,12 +4,14 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.SongRepository;
@ -32,7 +34,7 @@ public class RecentMusicAdapter extends RecyclerView.Adapter<RecentMusicAdapter.
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = mInflater.inflate(R.layout.item_home_recent_track, parent, false);
View view = mInflater.inflate(R.layout.item_home_track, parent, false);
return new ViewHolder(view);
}
@ -42,6 +44,11 @@ public class RecentMusicAdapter extends RecyclerView.Adapter<RecentMusicAdapter.
holder.textTitle.setText(song.getTitle());
holder.textAlbum.setText(song.getAlbumName());
CustomGlideRequest.Builder
.from(context, song.getPrimary(), song.getPrimary(), CustomGlideRequest.PRIMARY)
.build()
.into(holder.cover);
}
@Override
@ -52,12 +59,14 @@ public class RecentMusicAdapter extends RecyclerView.Adapter<RecentMusicAdapter.
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView textTitle;
TextView textAlbum;
ImageView cover;
ViewHolder(View itemView) {
super(itemView);
textTitle = itemView.findViewById(R.id.title_track_label);
textAlbum = itemView.findViewById(R.id.album_track_label);
cover = itemView.findViewById(R.id.track_cover_image_view);
itemView.setOnClickListener(this);
}

View file

@ -4,12 +4,14 @@ import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.RecyclerView;
import com.cappielloantonio.play.App;
import com.cappielloantonio.play.R;
import com.cappielloantonio.play.glide.CustomGlideRequest;
import com.cappielloantonio.play.model.Song;
import com.cappielloantonio.play.repository.SongRepository;
import com.cappielloantonio.play.util.Util;
@ -44,6 +46,11 @@ public class SongResultSearchAdapter extends RecyclerView.Adapter<SongResultSear
holder.songTitle.setText(song.getTitle());
holder.songArtist.setText(song.getArtistName());
holder.songDuration.setText(Util.getReadableDurationString(song.getDuration()));
CustomGlideRequest.Builder
.from(context, song.getPrimary(), song.getPrimary(), CustomGlideRequest.PRIMARY)
.build()
.into(holder.cover);
}
@Override
@ -55,6 +62,7 @@ public class SongResultSearchAdapter extends RecyclerView.Adapter<SongResultSear
TextView songTitle;
TextView songArtist;
TextView songDuration;
ImageView cover;
ViewHolder(View itemView) {
super(itemView);
@ -62,6 +70,7 @@ public class SongResultSearchAdapter extends RecyclerView.Adapter<SongResultSear
songTitle = itemView.findViewById(R.id.search_result_song_title_text_view);
songArtist = itemView.findViewById(R.id.search_result_song_artist_text_view);
songDuration = itemView.findViewById(R.id.search_result_song_duration_text_view);
cover = itemView.findViewById(R.id.song_cover_image_view);
itemView.setOnClickListener(this);
}