aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2016-05-30 17:41:21 -0500
committerScott Jackson <daneren2005@gmail.com>2016-05-30 17:41:21 -0500
commit2a2e6d5c57b45bba59dce6716fc01b1a1b0cc1a4 (patch)
tree8a16d2768a39e90aaa4234e0b9f6cbf111191df2 /app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java
parenteaca7e8c966cb085096486b7e1d27e349e7c7aa8 (diff)
downloaddsub-2a2e6d5c57b45bba59dce6716fc01b1a1b0cc1a4.tar.gz
dsub-2a2e6d5c57b45bba59dce6716fc01b1a1b0cc1a4.tar.bz2
dsub-2a2e6d5c57b45bba59dce6716fc01b1a1b0cc1a4.zip
Remove "Root" folder concept now that we can trivially display artists and songs side by side
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java39
1 files changed, 31 insertions, 8 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java
index 207dc0b2..5ed79e82 100644
--- a/app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java
+++ b/app/src/main/java/github/daneren2005/dsub/adapter/ArtistAdapter.java
@@ -23,27 +23,32 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import java.io.Serializable;
import java.util.List;
import github.daneren2005.dsub.R;
import github.daneren2005.dsub.domain.Artist;
+import github.daneren2005.dsub.domain.MusicDirectory;
+import github.daneren2005.dsub.domain.MusicDirectory.Entry;
import github.daneren2005.dsub.domain.MusicFolder;
import github.daneren2005.dsub.util.Util;
import github.daneren2005.dsub.view.ArtistView;
import github.daneren2005.dsub.view.FastScroller;
+import github.daneren2005.dsub.view.SongView;
import github.daneren2005.dsub.view.UpdateView;
-public class ArtistAdapter extends SectionAdapter<Artist> implements FastScroller.BubbleTextGetter {
+public class ArtistAdapter extends SectionAdapter<Serializable> implements FastScroller.BubbleTextGetter {
+ public static int VIEW_TYPE_SONG = 3;
public static int VIEW_TYPE_ARTIST = 4;
private List<MusicFolder> musicFolders;
private OnMusicFolderChanged onMusicFolderChanged;
- public ArtistAdapter(Context context, List<Artist> artists, OnItemClickedListener listener) {
+ public ArtistAdapter(Context context, List<Serializable> artists, OnItemClickedListener listener) {
this(context, artists, null, listener, null);
}
- public ArtistAdapter(Context context, List<Artist> artists, List<MusicFolder> musicFolders, OnItemClickedListener onItemClickedListener, OnMusicFolderChanged onMusicFolderChanged) {
+ public ArtistAdapter(Context context, List<Serializable> artists, List<MusicFolder> musicFolders, OnItemClickedListener onItemClickedListener, OnMusicFolderChanged onMusicFolderChanged) {
super(context, artists);
this.musicFolders = musicFolders;
this.onItemClickedListener = onItemClickedListener;
@@ -110,17 +115,35 @@ public class ArtistAdapter extends SectionAdapter<Artist> implements FastScrolle
@Override
public UpdateView.UpdateViewHolder onCreateSectionViewHolder(ViewGroup parent, int viewType) {
- return new UpdateView.UpdateViewHolder(new ArtistView(context));
+ UpdateView updateView = null;
+ if(viewType == VIEW_TYPE_ARTIST) {
+ updateView = new ArtistView(context);
+ } else if(viewType == VIEW_TYPE_SONG) {
+ updateView = new SongView(context);
+ }
+
+ return new UpdateView.UpdateViewHolder(updateView);
}
@Override
- public void onBindViewHolder(UpdateView.UpdateViewHolder holder, Artist item, int viewType) {
- holder.getUpdateView().setObject(item);
+ public void onBindViewHolder(UpdateView.UpdateViewHolder holder, Serializable item, int viewType) {
+ UpdateView view = holder.getUpdateView();
+ if(viewType == VIEW_TYPE_ARTIST) {
+ view.setObject(item);
+ } else if(viewType == VIEW_TYPE_SONG) {
+ SongView songView = (SongView) view;
+ Entry entry = (Entry) item;
+ songView.setObject(entry, checkable && !entry.isVideo());
+ }
}
@Override
- public int getItemViewType(Artist item) {
- return VIEW_TYPE_ARTIST;
+ public int getItemViewType(Serializable item) {
+ if(item instanceof Artist) {
+ return VIEW_TYPE_ARTIST;
+ } else {
+ return VIEW_TYPE_SONG;
+ }
}
@Override