- Removed middle layer of abstraction for subsonic classes
- Used kotlin for classes
This commit is contained in:
@@ -16,10 +16,9 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Album;
|
||||
import com.cappielloantonio.play.subsonic.models.AlbumID3;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@@ -27,7 +26,7 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
|
||||
private final Context context;
|
||||
private final ClickCallback click;
|
||||
|
||||
private List<Album> albums;
|
||||
private List<AlbumID3> albums;
|
||||
|
||||
public AlbumAdapter(Context context, ClickCallback click) {
|
||||
this.context = context;
|
||||
@@ -44,13 +43,13 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Album album = albums.get(position);
|
||||
AlbumID3 album = albums.get(position);
|
||||
|
||||
holder.textAlbumName.setText(MusicUtil.getReadableString(album.getTitle()));
|
||||
holder.textArtistName.setText(MusicUtil.getReadableString(album.getArtistName()));
|
||||
holder.textAlbumName.setText(MusicUtil.getReadableString(album.getName()));
|
||||
holder.textArtistName.setText(MusicUtil.getReadableString(album.getArtist()));
|
||||
|
||||
CustomGlideRequest.Builder
|
||||
.from(context, album.getPrimary(), CustomGlideRequest.ALBUM_PIC, null)
|
||||
.from(context, album.getCoverArtId(), CustomGlideRequest.ALBUM_PIC, null)
|
||||
.build()
|
||||
.transform(new CenterCrop(), new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
|
||||
.into(holder.cover);
|
||||
@@ -61,11 +60,11 @@ public class AlbumAdapter extends RecyclerView.Adapter<AlbumAdapter.ViewHolder>
|
||||
return albums.size();
|
||||
}
|
||||
|
||||
public Album getItem(int position) {
|
||||
public AlbumID3 getItem(int position) {
|
||||
return albums.get(position);
|
||||
}
|
||||
|
||||
public void setItems(List<Album> albums) {
|
||||
public void setItems(List<AlbumID3> albums) {
|
||||
this.albums = albums;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Album;
|
||||
import com.cappielloantonio.play.subsonic.models.AlbumID3;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -26,7 +26,7 @@ public class AlbumArtistPageOrSimilarAdapter extends RecyclerView.Adapter<AlbumA
|
||||
private final Context context;
|
||||
private final ClickCallback click;
|
||||
|
||||
private List<Album> albums;
|
||||
private List<AlbumID3> albums;
|
||||
|
||||
public AlbumArtistPageOrSimilarAdapter(Context context, ClickCallback click) {
|
||||
this.context = context;
|
||||
@@ -43,13 +43,13 @@ public class AlbumArtistPageOrSimilarAdapter extends RecyclerView.Adapter<AlbumA
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Album album = albums.get(position);
|
||||
AlbumID3 album = albums.get(position);
|
||||
|
||||
holder.textAlbumName.setText(MusicUtil.getReadableString(album.getTitle()));
|
||||
holder.textArtistName.setText(MusicUtil.getReadableString(album.getArtistName()));
|
||||
holder.textAlbumName.setText(MusicUtil.getReadableString(album.getName()));
|
||||
holder.textArtistName.setText(MusicUtil.getReadableString(album.getArtist()));
|
||||
|
||||
CustomGlideRequest.Builder
|
||||
.from(context, album.getPrimary(), CustomGlideRequest.ALBUM_PIC, null)
|
||||
.from(context, album.getCoverArtId(), CustomGlideRequest.ALBUM_PIC, null)
|
||||
.build()
|
||||
.transform(new CenterCrop(), new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
|
||||
.into(holder.cover);
|
||||
@@ -60,11 +60,11 @@ public class AlbumArtistPageOrSimilarAdapter extends RecyclerView.Adapter<AlbumA
|
||||
return albums.size();
|
||||
}
|
||||
|
||||
public Album getItem(int position) {
|
||||
public AlbumID3 getItem(int position) {
|
||||
return albums.get(position);
|
||||
}
|
||||
|
||||
public void setItems(List<Album> albums) {
|
||||
public void setItems(List<AlbumID3> albums) {
|
||||
this.albums = albums;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Album;
|
||||
import com.cappielloantonio.play.subsonic.models.AlbumID3;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -32,15 +33,15 @@ public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAd
|
||||
private final Filter filtering = new Filter() {
|
||||
@Override
|
||||
protected FilterResults performFiltering(CharSequence constraint) {
|
||||
List<Album> filteredList = new ArrayList<>();
|
||||
List<AlbumID3> filteredList = new ArrayList<>();
|
||||
|
||||
if (constraint == null || constraint.length() == 0) {
|
||||
filteredList.addAll(albumsFull);
|
||||
} else {
|
||||
String filterPattern = constraint.toString().toLowerCase().trim();
|
||||
|
||||
for (Album item : albumsFull) {
|
||||
if (item.getTitle().toLowerCase().contains(filterPattern)) {
|
||||
for (AlbumID3 item : albumsFull) {
|
||||
if (item.getName().toLowerCase().contains(filterPattern)) {
|
||||
filteredList.add(item);
|
||||
}
|
||||
}
|
||||
@@ -60,8 +61,8 @@ public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAd
|
||||
}
|
||||
};
|
||||
|
||||
private List<Album> albums;
|
||||
private List<Album> albumsFull;
|
||||
private List<AlbumID3> albums;
|
||||
private List<AlbumID3> albumsFull;
|
||||
|
||||
public AlbumCatalogueAdapter(Context context, ClickCallback click) {
|
||||
this.context = context;
|
||||
@@ -78,13 +79,13 @@ public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAd
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Album album = albums.get(position);
|
||||
AlbumID3 album = albums.get(position);
|
||||
|
||||
holder.textAlbumName.setText(MusicUtil.getReadableString(album.getTitle()));
|
||||
holder.textArtistName.setText(MusicUtil.getReadableString(album.getArtistName()));
|
||||
holder.textAlbumName.setText(MusicUtil.getReadableString(album.getName()));
|
||||
holder.textArtistName.setText(MusicUtil.getReadableString(album.getArtist()));
|
||||
|
||||
CustomGlideRequest.Builder
|
||||
.from(context, album.getPrimary(), CustomGlideRequest.ALBUM_PIC, null)
|
||||
.from(context, album.getCoverArtId(), CustomGlideRequest.ALBUM_PIC, null)
|
||||
.build()
|
||||
.transform(new CenterCrop(), new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
|
||||
.into(holder.cover);
|
||||
@@ -95,11 +96,11 @@ public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAd
|
||||
return albums.size();
|
||||
}
|
||||
|
||||
public Album getItem(int position) {
|
||||
public AlbumID3 getItem(int position) {
|
||||
return albums.get(position);
|
||||
}
|
||||
|
||||
public void setItems(List<Album> albums) {
|
||||
public void setItems(List<AlbumID3> albums) {
|
||||
this.albums = albums;
|
||||
this.albumsFull = new ArrayList<>(albums);
|
||||
notifyDataSetChanged();
|
||||
@@ -160,13 +161,13 @@ public class AlbumCatalogueAdapter extends RecyclerView.Adapter<AlbumCatalogueAd
|
||||
public void sort(String order) {
|
||||
switch (order) {
|
||||
case Album.ORDER_BY_NAME:
|
||||
albums.sort(Comparator.comparing(Album::getTitle));
|
||||
albums.sort(Comparator.comparing(AlbumID3::getName));
|
||||
break;
|
||||
case Album.ORDER_BY_ARTIST:
|
||||
albums.sort(Comparator.comparing(Album::getArtistName));
|
||||
albums.sort(Comparator.comparing(AlbumID3::getArtist));
|
||||
break;
|
||||
case Album.ORDER_BY_YEAR:
|
||||
albums.sort(Comparator.comparing(Album::getYear));
|
||||
albums.sort(Comparator.comparing(AlbumID3::getYear));
|
||||
break;
|
||||
case Album.ORDER_BY_RANDOM:
|
||||
Collections.shuffle(albums);
|
||||
|
||||
@@ -16,7 +16,7 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Album;
|
||||
import com.cappielloantonio.play.subsonic.models.AlbumID3;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -27,7 +27,7 @@ public class AlbumHorizontalAdapter extends RecyclerView.Adapter<AlbumHorizontal
|
||||
private final ClickCallback click;
|
||||
private final boolean isOffline;
|
||||
|
||||
private List<Album> albums;
|
||||
private List<AlbumID3> albums;
|
||||
|
||||
public AlbumHorizontalAdapter(Context context, ClickCallback click, boolean isOffline) {
|
||||
this.context = context;
|
||||
@@ -45,13 +45,13 @@ public class AlbumHorizontalAdapter extends RecyclerView.Adapter<AlbumHorizontal
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Album album = albums.get(position);
|
||||
AlbumID3 album = albums.get(position);
|
||||
|
||||
holder.albumTitle.setText(MusicUtil.getReadableString(album.getTitle()));
|
||||
holder.albumArtist.setText(MusicUtil.getReadableString(album.getArtistName()));
|
||||
holder.albumTitle.setText(MusicUtil.getReadableString(album.getName()));
|
||||
holder.albumArtist.setText(MusicUtil.getReadableString(album.getArtist()));
|
||||
|
||||
CustomGlideRequest.Builder
|
||||
.from(context, album.getPrimary(), CustomGlideRequest.ALBUM_PIC, null)
|
||||
.from(context, album.getCoverArtId(), CustomGlideRequest.ALBUM_PIC, null)
|
||||
.build()
|
||||
.transform(new CenterCrop(), new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
|
||||
.into(holder.cover);
|
||||
@@ -62,12 +62,12 @@ public class AlbumHorizontalAdapter extends RecyclerView.Adapter<AlbumHorizontal
|
||||
return albums.size();
|
||||
}
|
||||
|
||||
public void setItems(List<Album> albums) {
|
||||
public void setItems(List<AlbumID3> albums) {
|
||||
this.albums = albums;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public Album getItem(int id) {
|
||||
public AlbumID3 getItem(int id) {
|
||||
return albums.get(id);
|
||||
}
|
||||
|
||||
|
||||
@@ -9,28 +9,19 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.media3.session.MediaBrowser;
|
||||
import androidx.navigation.Navigation;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.App;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Artist;
|
||||
import com.cappielloantonio.play.repository.ArtistRepository;
|
||||
import com.cappielloantonio.play.ui.activity.MainActivity;
|
||||
import com.cappielloantonio.play.subsonic.models.ArtistID3;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@UnstableApi
|
||||
public class ArtistAdapter extends RecyclerView.Adapter<ArtistAdapter.ViewHolder> {
|
||||
@@ -39,7 +30,7 @@ public class ArtistAdapter extends RecyclerView.Adapter<ArtistAdapter.ViewHolder
|
||||
private final boolean mix;
|
||||
private final boolean bestOf;
|
||||
|
||||
private List<Artist> artists;
|
||||
private List<ArtistID3> artists;
|
||||
|
||||
public ArtistAdapter(Context context, ClickCallback click, Boolean mix, Boolean bestOf) {
|
||||
this.context = context;
|
||||
@@ -58,7 +49,7 @@ public class ArtistAdapter extends RecyclerView.Adapter<ArtistAdapter.ViewHolder
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Artist artist = artists.get(position);
|
||||
ArtistID3 artist = artists.get(position);
|
||||
|
||||
holder.textArtistName.setText(MusicUtil.getReadableString(artist.getName()));
|
||||
|
||||
@@ -70,11 +61,11 @@ public class ArtistAdapter extends RecyclerView.Adapter<ArtistAdapter.ViewHolder
|
||||
return artists.size();
|
||||
}
|
||||
|
||||
public Artist getItem(int position) {
|
||||
public ArtistID3 getItem(int position) {
|
||||
return artists.get(position);
|
||||
}
|
||||
|
||||
public void setItems(List<Artist> artists) {
|
||||
public void setItems(List<ArtistID3> artists) {
|
||||
this.artists = artists;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
@@ -89,9 +80,9 @@ public class ArtistAdapter extends RecyclerView.Adapter<ArtistAdapter.ViewHolder
|
||||
return position;
|
||||
}
|
||||
|
||||
private void setArtistCover(Artist artist, ImageView cover) {
|
||||
private void setArtistCover(ArtistID3 artist, ImageView cover) {
|
||||
CustomGlideRequest.Builder
|
||||
.from(context, artist.getPrimary(), CustomGlideRequest.ARTIST_PIC, null)
|
||||
.from(context, artist.getCoverArtId(), CustomGlideRequest.ARTIST_PIC, null)
|
||||
.build()
|
||||
.transform(new CenterCrop(), new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
|
||||
.into(cover);
|
||||
|
||||
@@ -11,18 +11,15 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.App;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Artist;
|
||||
import com.cappielloantonio.play.repository.ArtistRepository;
|
||||
import com.cappielloantonio.play.subsonic.models.ArtistID3;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -37,14 +34,14 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
|
||||
private final Filter filtering = new Filter() {
|
||||
@Override
|
||||
protected FilterResults performFiltering(CharSequence constraint) {
|
||||
List<Artist> filteredList = new ArrayList<>();
|
||||
List<ArtistID3> filteredList = new ArrayList<>();
|
||||
|
||||
if (constraint == null || constraint.length() == 0) {
|
||||
filteredList.addAll(artistFull);
|
||||
} else {
|
||||
String filterPattern = constraint.toString().toLowerCase().trim();
|
||||
|
||||
for (Artist item : artistFull) {
|
||||
for (ArtistID3 item : artistFull) {
|
||||
if (item.getName().toLowerCase().contains(filterPattern)) {
|
||||
filteredList.add(item);
|
||||
}
|
||||
@@ -65,8 +62,8 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
|
||||
}
|
||||
};
|
||||
|
||||
private List<Artist> artists;
|
||||
private List<Artist> artistFull;
|
||||
private List<ArtistID3> artists;
|
||||
private List<ArtistID3> artistFull;
|
||||
|
||||
public ArtistCatalogueAdapter(Context context, ClickCallback click) {
|
||||
this.context = context;
|
||||
@@ -83,7 +80,7 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Artist artist = artists.get(position);
|
||||
ArtistID3 artist = artists.get(position);
|
||||
|
||||
holder.textArtistName.setText(MusicUtil.getReadableString(artist.getName()));
|
||||
|
||||
@@ -95,11 +92,11 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
|
||||
return artists.size();
|
||||
}
|
||||
|
||||
public Artist getItem(int position) {
|
||||
public ArtistID3 getItem(int position) {
|
||||
return artists.get(position);
|
||||
}
|
||||
|
||||
public void setItems(List<Artist> artists) {
|
||||
public void setItems(List<ArtistID3> artists) {
|
||||
this.artists = artists;
|
||||
this.artistFull = new ArrayList<>(artists);
|
||||
notifyDataSetChanged();
|
||||
@@ -120,9 +117,9 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
|
||||
return filtering;
|
||||
}
|
||||
|
||||
private void setArtistCover(Artist artist, ImageView cover) {
|
||||
private void setArtistCover(ArtistID3 artist, ImageView cover) {
|
||||
CustomGlideRequest.Builder
|
||||
.from(context, artist.getPrimary(), CustomGlideRequest.ARTIST_PIC, null)
|
||||
.from(context, artist.getCoverArtId(), CustomGlideRequest.ARTIST_PIC, null)
|
||||
.build()
|
||||
.transform(new CenterCrop(), new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
|
||||
.into(cover);
|
||||
@@ -164,7 +161,7 @@ public class ArtistCatalogueAdapter extends RecyclerView.Adapter<ArtistCatalogue
|
||||
public void sort(String order) {
|
||||
switch (order) {
|
||||
case Artist.ORDER_BY_NAME:
|
||||
artists.sort(Comparator.comparing(Artist::getName));
|
||||
artists.sort(Comparator.comparing(ArtistID3::getName));
|
||||
break;
|
||||
case Artist.ORDER_BY_RANDOM:
|
||||
Collections.shuffle(artists);
|
||||
|
||||
@@ -9,18 +9,14 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.App;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Artist;
|
||||
import com.cappielloantonio.play.repository.ArtistRepository;
|
||||
import com.cappielloantonio.play.subsonic.models.ArtistID3;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -30,7 +26,7 @@ public class ArtistHorizontalAdapter extends RecyclerView.Adapter<ArtistHorizont
|
||||
private final Context context;
|
||||
private final ClickCallback click;
|
||||
|
||||
private List<Artist> artists;
|
||||
private List<ArtistID3> artists;
|
||||
|
||||
public ArtistHorizontalAdapter(Context context, ClickCallback click) {
|
||||
this.context = context;
|
||||
@@ -47,7 +43,7 @@ public class ArtistHorizontalAdapter extends RecyclerView.Adapter<ArtistHorizont
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Artist artist = artists.get(position);
|
||||
ArtistID3 artist = artists.get(position);
|
||||
|
||||
holder.artistName.setText(MusicUtil.getReadableString(artist.getName()));
|
||||
|
||||
@@ -65,12 +61,12 @@ public class ArtistHorizontalAdapter extends RecyclerView.Adapter<ArtistHorizont
|
||||
return artists.size();
|
||||
}
|
||||
|
||||
public void setItems(List<Artist> artists) {
|
||||
public void setItems(List<ArtistID3> artists) {
|
||||
this.artists = artists;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public Artist getItem(int id) {
|
||||
public ArtistID3 getItem(int id) {
|
||||
return artists.get(id);
|
||||
}
|
||||
|
||||
@@ -84,9 +80,9 @@ public class ArtistHorizontalAdapter extends RecyclerView.Adapter<ArtistHorizont
|
||||
return position;
|
||||
}
|
||||
|
||||
private void setArtistCover(Artist artist, ImageView cover) {
|
||||
private void setArtistCover(ArtistID3 artist, ImageView cover) {
|
||||
CustomGlideRequest.Builder
|
||||
.from(context, artist.getPrimary(), CustomGlideRequest.ARTIST_PIC, null)
|
||||
.from(context, artist.getCoverArtId(), CustomGlideRequest.ARTIST_PIC, null)
|
||||
.build()
|
||||
.transform(new CenterCrop(), new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
|
||||
.into(cover);
|
||||
|
||||
@@ -9,23 +9,17 @@ import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.navigation.Navigation;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.App;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Artist;
|
||||
import com.cappielloantonio.play.repository.ArtistRepository;
|
||||
import com.cappielloantonio.play.subsonic.models.SimilarArtistID3;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@@ -33,7 +27,7 @@ public class ArtistSimilarAdapter extends RecyclerView.Adapter<ArtistSimilarAdap
|
||||
private final Context context;
|
||||
private final ClickCallback click;
|
||||
|
||||
private List<Artist> artists;
|
||||
private List<SimilarArtistID3> artists;
|
||||
|
||||
public ArtistSimilarAdapter(Context context, ClickCallback click) {
|
||||
this.context = context;
|
||||
@@ -50,7 +44,7 @@ public class ArtistSimilarAdapter extends RecyclerView.Adapter<ArtistSimilarAdap
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Artist artist = artists.get(position);
|
||||
SimilarArtistID3 artist = artists.get(position);
|
||||
|
||||
holder.textArtistName.setText(MusicUtil.getReadableString(artist.getName()));
|
||||
|
||||
@@ -62,11 +56,11 @@ public class ArtistSimilarAdapter extends RecyclerView.Adapter<ArtistSimilarAdap
|
||||
return artists.size();
|
||||
}
|
||||
|
||||
public Artist getItem(int position) {
|
||||
public SimilarArtistID3 getItem(int position) {
|
||||
return artists.get(position);
|
||||
}
|
||||
|
||||
public void setItems(List<Artist> artists) {
|
||||
public void setItems(List<SimilarArtistID3> artists) {
|
||||
this.artists = artists;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
@@ -81,9 +75,9 @@ public class ArtistSimilarAdapter extends RecyclerView.Adapter<ArtistSimilarAdap
|
||||
return position;
|
||||
}
|
||||
|
||||
private void setArtistCover(Artist artist, ImageView cover) {
|
||||
private void setArtistCover(SimilarArtistID3 artist, ImageView cover) {
|
||||
CustomGlideRequest.Builder
|
||||
.from(context, artist.getPrimary(), CustomGlideRequest.ARTIST_PIC, null)
|
||||
.from(context, artist.getCoverArtId(), CustomGlideRequest.ARTIST_PIC, null)
|
||||
.build()
|
||||
.transform(new CenterCrop(), new RoundedCorners(CustomGlideRequest.CORNER_RADIUS))
|
||||
.into(cover);
|
||||
|
||||
@@ -15,7 +15,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Media;
|
||||
import com.cappielloantonio.play.subsonic.models.Child;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -25,7 +25,7 @@ public class DiscoverSongAdapter extends RecyclerView.Adapter<DiscoverSongAdapte
|
||||
private final Context context;
|
||||
private final ClickCallback click;
|
||||
|
||||
private List<Media> songs;
|
||||
private List<Child> songs;
|
||||
|
||||
public DiscoverSongAdapter(Context context, ClickCallback click) {
|
||||
this.context = context;
|
||||
@@ -42,10 +42,10 @@ public class DiscoverSongAdapter extends RecyclerView.Adapter<DiscoverSongAdapte
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Media song = songs.get(position);
|
||||
Child song = songs.get(position);
|
||||
|
||||
holder.textTitle.setText(MusicUtil.getReadableString(song.getTitle()));
|
||||
holder.textAlbum.setText(MusicUtil.getReadableString(song.getAlbumName()));
|
||||
holder.textAlbum.setText(MusicUtil.getReadableString(song.getAlbum()));
|
||||
|
||||
CustomGlideRequest.Builder
|
||||
.from(context, song.getCoverArtId(), CustomGlideRequest.SONG_PIC, null)
|
||||
@@ -64,7 +64,7 @@ public class DiscoverSongAdapter extends RecyclerView.Adapter<DiscoverSongAdapte
|
||||
return songs.size();
|
||||
}
|
||||
|
||||
public void setItems(List<Media> songs) {
|
||||
public void setItems(List<Child> songs) {
|
||||
this.songs = songs;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@@ -12,8 +12,8 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Genre;
|
||||
import com.cappielloantonio.play.model.Media;
|
||||
import com.cappielloantonio.play.subsonic.models.Genre;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -42,7 +42,7 @@ public class GenreAdapter extends RecyclerView.Adapter<GenreAdapter.ViewHolder>
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Genre genre = genres.get(position);
|
||||
|
||||
holder.textGenre.setText(MusicUtil.getReadableString(genre.getName()));
|
||||
holder.textGenre.setText(MusicUtil.getReadableString(genre.getGenre()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -14,9 +14,8 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Genre;
|
||||
import com.cappielloantonio.play.model.Media;
|
||||
import com.cappielloantonio.play.ui.activity.MainActivity;
|
||||
import com.cappielloantonio.play.subsonic.models.Genre;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -39,7 +38,7 @@ public class GenreCatalogueAdapter extends RecyclerView.Adapter<GenreCatalogueAd
|
||||
String filterPattern = constraint.toString().toLowerCase().trim();
|
||||
|
||||
for (Genre item : genresFull) {
|
||||
if (item.getName().toLowerCase().contains(filterPattern)) {
|
||||
if (item.getGenre().toLowerCase().contains(filterPattern)) {
|
||||
filteredList.add(item);
|
||||
}
|
||||
}
|
||||
@@ -79,7 +78,7 @@ public class GenreCatalogueAdapter extends RecyclerView.Adapter<GenreCatalogueAd
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Genre genre = genres.get(position);
|
||||
|
||||
holder.textGenre.setText(MusicUtil.getReadableString(genre.getName()));
|
||||
holder.textGenre.setText(MusicUtil.getReadableString(genre.getGenre()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -122,10 +121,10 @@ public class GenreCatalogueAdapter extends RecyclerView.Adapter<GenreCatalogueAd
|
||||
|
||||
public void sort(String order) {
|
||||
switch (order) {
|
||||
case Genre.ORDER_BY_NAME:
|
||||
genres.sort(Comparator.comparing(Genre::getName));
|
||||
case com.cappielloantonio.play.model.Genre.ORDER_BY_NAME:
|
||||
genres.sort(Comparator.comparing(Genre::getGenre));
|
||||
break;
|
||||
case Genre.ORDER_BY_RANDOM:
|
||||
case com.cappielloantonio.play.model.Genre.ORDER_BY_RANDOM:
|
||||
Collections.shuffle(genres);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -17,8 +17,8 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Media;
|
||||
import com.cappielloantonio.play.service.MediaManager;
|
||||
import com.cappielloantonio.play.subsonic.models.Child;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
|
||||
@@ -31,7 +31,7 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
|
||||
private final ClickCallback click;
|
||||
|
||||
private ListenableFuture<MediaBrowser> mediaBrowserListenableFuture;
|
||||
private List<Media> songs;
|
||||
private List<Child> songs;
|
||||
|
||||
public PlayerSongQueueAdapter(Context context, ClickCallback click) {
|
||||
this.context = context;
|
||||
@@ -48,10 +48,10 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Media song = songs.get(position);
|
||||
Child song = songs.get(position);
|
||||
|
||||
holder.songTitle.setText(MusicUtil.getReadableString(song.getTitle()));
|
||||
holder.songSubtitle.setText(context.getString(R.string.song_subtitle_formatter, MusicUtil.getReadableString(song.getArtistName()), MusicUtil.getReadableDurationString(song.getDuration(), false)));
|
||||
holder.songSubtitle.setText(context.getString(R.string.song_subtitle_formatter, MusicUtil.getReadableString(song.getArtist()), MusicUtil.getReadableDurationString(song.getDuration(), false)));
|
||||
|
||||
CustomGlideRequest.Builder
|
||||
.from(context, song.getCoverArtId(), CustomGlideRequest.SONG_PIC, null)
|
||||
@@ -69,11 +69,11 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
|
||||
return songs.size();
|
||||
}
|
||||
|
||||
public List<Media> getItems() {
|
||||
public List<Child> getItems() {
|
||||
return this.songs;
|
||||
}
|
||||
|
||||
public void setItems(List<Media> songs) {
|
||||
public void setItems(List<Child> songs) {
|
||||
this.songs = songs;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
@@ -82,7 +82,7 @@ public class PlayerSongQueueAdapter extends RecyclerView.Adapter<PlayerSongQueue
|
||||
this.mediaBrowserListenableFuture = mediaBrowserListenableFuture;
|
||||
}
|
||||
|
||||
public Media getItem(int id) {
|
||||
public Child getItem(int id) {
|
||||
return songs.get(id);
|
||||
}
|
||||
|
||||
|
||||
@@ -12,12 +12,9 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Playlist;
|
||||
import com.cappielloantonio.play.ui.dialog.PlaylistChooserDialog;
|
||||
import com.cappielloantonio.play.subsonic.models.Playlist;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
import com.cappielloantonio.play.viewmodel.PlaylistChooserViewModel;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@@ -27,7 +24,7 @@ public class PlaylistDialogHorizontalAdapter extends RecyclerView.Adapter<Playli
|
||||
|
||||
private List<Playlist> playlists;
|
||||
|
||||
public PlaylistDialogHorizontalAdapter(Context context,ClickCallback click) {
|
||||
public PlaylistDialogHorizontalAdapter(Context context, ClickCallback click) {
|
||||
this.context = context;
|
||||
this.click = click;
|
||||
this.playlists = Collections.emptyList();
|
||||
|
||||
@@ -14,7 +14,7 @@ import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.model.Media;
|
||||
import com.cappielloantonio.play.subsonic.models.Child;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -23,7 +23,7 @@ import java.util.List;
|
||||
public class PlaylistDialogSongHorizontalAdapter extends RecyclerView.Adapter<PlaylistDialogSongHorizontalAdapter.ViewHolder> {
|
||||
private final Context context;
|
||||
|
||||
private List<Media> songs;
|
||||
private List<Child> songs;
|
||||
|
||||
public PlaylistDialogSongHorizontalAdapter(Context context) {
|
||||
this.context = context;
|
||||
@@ -39,10 +39,10 @@ public class PlaylistDialogSongHorizontalAdapter extends RecyclerView.Adapter<Pl
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Media song = songs.get(position);
|
||||
Child song = songs.get(position);
|
||||
|
||||
holder.songTitle.setText(MusicUtil.getReadableString(song.getTitle()));
|
||||
holder.songArtist.setText(MusicUtil.getReadableString(song.getArtistName()));
|
||||
holder.songArtist.setText(MusicUtil.getReadableString(song.getArtist()));
|
||||
holder.songDuration.setText(MusicUtil.getReadableDurationString(song.getDuration(), false));
|
||||
|
||||
CustomGlideRequest.Builder
|
||||
@@ -57,16 +57,16 @@ public class PlaylistDialogSongHorizontalAdapter extends RecyclerView.Adapter<Pl
|
||||
return songs.size();
|
||||
}
|
||||
|
||||
public List<Media> getItems() {
|
||||
public List<Child> getItems() {
|
||||
return this.songs;
|
||||
}
|
||||
|
||||
public void setItems(List<Media> songs) {
|
||||
public void setItems(List<Child> songs) {
|
||||
this.songs = songs;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public Media getItem(int id) {
|
||||
public Child getItem(int id) {
|
||||
return songs.get(id);
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Playlist;
|
||||
import com.cappielloantonio.play.subsonic.models.Playlist;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -139,10 +139,10 @@ public class PlaylistHorizontalAdapter extends RecyclerView.Adapter<PlaylistHori
|
||||
|
||||
public void sort(String order) {
|
||||
switch (order) {
|
||||
case Playlist.ORDER_BY_NAME:
|
||||
case com.cappielloantonio.play.model.Playlist.ORDER_BY_NAME:
|
||||
playlists.sort(Comparator.comparing(Playlist::getName));
|
||||
break;
|
||||
case Playlist.ORDER_BY_RANDOM:
|
||||
case com.cappielloantonio.play.model.Playlist.ORDER_BY_RANDOM:
|
||||
Collections.shuffle(playlists);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Media;
|
||||
import com.cappielloantonio.play.subsonic.models.PodcastEpisode;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@@ -28,7 +28,7 @@ public class PodcastEpisodeAdapter extends RecyclerView.Adapter<PodcastEpisodeAd
|
||||
private final Context context;
|
||||
private final ClickCallback click;
|
||||
|
||||
private List<Media> podcastEpisodes;
|
||||
private List<PodcastEpisode> podcastEpisodes;
|
||||
|
||||
public PodcastEpisodeAdapter(Context context, ClickCallback click) {
|
||||
this.context = context;
|
||||
@@ -45,11 +45,11 @@ public class PodcastEpisodeAdapter extends RecyclerView.Adapter<PodcastEpisodeAd
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Media podcastEpisode = podcastEpisodes.get(position);
|
||||
PodcastEpisode podcastEpisode = podcastEpisodes.get(position);
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MMM d");
|
||||
|
||||
holder.textTitle.setText(MusicUtil.getReadableString(podcastEpisode.getTitle()));
|
||||
holder.textSubtitle.setText(MusicUtil.getReadableString(podcastEpisode.getArtistName()));
|
||||
holder.textSubtitle.setText(MusicUtil.getReadableString(podcastEpisode.getArtist()));
|
||||
holder.textReleaseAndDuration.setText(context.getString(R.string.podcast_release_date_duration_formatter, simpleDateFormat.format(podcastEpisode.getPublishDate()), MusicUtil.getReadablePodcastDurationString(podcastEpisode.getDuration())));
|
||||
holder.textDescription.setText(MusicUtil.getReadableString(podcastEpisode.getDescription()));
|
||||
|
||||
@@ -65,7 +65,7 @@ public class PodcastEpisodeAdapter extends RecyclerView.Adapter<PodcastEpisodeAd
|
||||
return podcastEpisodes.size();
|
||||
}
|
||||
|
||||
public void setItems(List<Media> podcastEpisodes) {
|
||||
public void setItems(List<PodcastEpisode> podcastEpisodes) {
|
||||
this.podcastEpisodes = podcastEpisodes;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@@ -16,8 +16,7 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Media;
|
||||
import com.cappielloantonio.play.ui.activity.MainActivity;
|
||||
import com.cappielloantonio.play.subsonic.models.Child;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -27,7 +26,7 @@ public class SimilarTrackAdapter extends RecyclerView.Adapter<SimilarTrackAdapte
|
||||
private final Context context;
|
||||
private final ClickCallback click;
|
||||
|
||||
private List<Media> songs;
|
||||
private List<Child> songs;
|
||||
|
||||
public SimilarTrackAdapter(Context context, ClickCallback click) {
|
||||
this.context = context;
|
||||
@@ -44,7 +43,7 @@ public class SimilarTrackAdapter extends RecyclerView.Adapter<SimilarTrackAdapte
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Media song = songs.get(position);
|
||||
Child song = songs.get(position);
|
||||
|
||||
holder.textTitle.setText(MusicUtil.getReadableString(song.getTitle()));
|
||||
|
||||
@@ -60,11 +59,11 @@ public class SimilarTrackAdapter extends RecyclerView.Adapter<SimilarTrackAdapte
|
||||
return songs.size();
|
||||
}
|
||||
|
||||
public Media getItem(int position) {
|
||||
public Child getItem(int position) {
|
||||
return songs.get(position);
|
||||
}
|
||||
|
||||
public void setItems(List<Media> songs) {
|
||||
public void setItems(List<Child> songs) {
|
||||
this.songs = songs;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@@ -10,8 +10,6 @@ import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.media3.session.MediaBrowser;
|
||||
import androidx.navigation.Navigation;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
||||
@@ -19,13 +17,8 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||
import com.cappielloantonio.play.R;
|
||||
import com.cappielloantonio.play.glide.CustomGlideRequest;
|
||||
import com.cappielloantonio.play.interfaces.ClickCallback;
|
||||
import com.cappielloantonio.play.model.Media;
|
||||
import com.cappielloantonio.play.service.MediaManager;
|
||||
import com.cappielloantonio.play.ui.activity.MainActivity;
|
||||
import com.cappielloantonio.play.util.DownloadUtil;
|
||||
import com.cappielloantonio.play.util.MappingUtil;
|
||||
import com.cappielloantonio.play.subsonic.models.Child;
|
||||
import com.cappielloantonio.play.util.MusicUtil;
|
||||
import com.google.common.util.concurrent.ListenableFuture;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -37,7 +30,7 @@ public class SongHorizontalAdapter extends RecyclerView.Adapter<SongHorizontalAd
|
||||
private final ClickCallback click;
|
||||
private final boolean isCoverVisible;
|
||||
|
||||
private List<Media> songs;
|
||||
private List<Child> songs;
|
||||
|
||||
public SongHorizontalAdapter(Context context, ClickCallback click, boolean isCoverVisible) {
|
||||
this.context = context;
|
||||
@@ -55,17 +48,18 @@ public class SongHorizontalAdapter extends RecyclerView.Adapter<SongHorizontalAd
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(ViewHolder holder, int position) {
|
||||
Media song = songs.get(position);
|
||||
Child song = songs.get(position);
|
||||
|
||||
holder.songTitle.setText(MusicUtil.getReadableString(song.getTitle()));
|
||||
holder.songSubtitle.setText(context.getString(R.string.song_subtitle_formatter, MusicUtil.getReadableString(song.getArtistName()), MusicUtil.getReadableDurationString(song.getDuration(), false)));
|
||||
holder.trackNumber.setText(String.valueOf(song.getTrackNumber()));
|
||||
holder.songSubtitle.setText(context.getString(R.string.song_subtitle_formatter, MusicUtil.getReadableString(song.getArtist()), MusicUtil.getReadableDurationString(song.getDuration(), false)));
|
||||
holder.trackNumber.setText(String.valueOf(song.getTrack()));
|
||||
|
||||
if (DownloadUtil.getDownloadTracker(context).isDownloaded(MappingUtil.mapMediaItem(context, song, false))) {
|
||||
// TODO
|
||||
/* if (DownloadUtil.getDownloadTracker(context).isDownloaded(MappingUtil.mapMediaItem(context, song, false))) {
|
||||
holder.downloadIndicator.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
holder.downloadIndicator.setVisibility(View.GONE);
|
||||
}
|
||||
} */
|
||||
|
||||
if (isCoverVisible) CustomGlideRequest.Builder
|
||||
.from(context, song.getCoverArtId(), CustomGlideRequest.SONG_PIC, null)
|
||||
@@ -87,12 +81,12 @@ public class SongHorizontalAdapter extends RecyclerView.Adapter<SongHorizontalAd
|
||||
return songs.size();
|
||||
}
|
||||
|
||||
public void setItems(List<Media> songs) {
|
||||
public void setItems(List<Child> songs) {
|
||||
this.songs = songs;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public Media getItem(int id) {
|
||||
public Child getItem(int id) {
|
||||
return songs.get(id);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user