diff options
author | Scott Jackson <daneren2005@gmail.com> | 2015-10-27 17:47:39 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2015-10-27 17:47:39 -0700 |
commit | d9c624ad2396beb5a489193311f7275dfba2da48 (patch) | |
tree | 32ac19dae8e9056a92b904a9bb4fff6828120822 /app/src/main/java/github/daneren2005/dsub/adapter/PodcastChannelAdapter.java | |
parent | e1df606624d9a18fde6ecb33c0647c2939a9b508 (diff) | |
download | dsub-d9c624ad2396beb5a489193311f7275dfba2da48.tar.gz dsub-d9c624ad2396beb5a489193311f7275dfba2da48.tar.bz2 dsub-d9c624ad2396beb5a489193311f7275dfba2da48.zip |
#508 Add podcast cover art for Subsonic 5.3+
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/adapter/PodcastChannelAdapter.java')
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/adapter/PodcastChannelAdapter.java | 67 |
1 files changed, 43 insertions, 24 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/adapter/PodcastChannelAdapter.java b/app/src/main/java/github/daneren2005/dsub/adapter/PodcastChannelAdapter.java index e1ca4814..f637ce39 100644 --- a/app/src/main/java/github/daneren2005/dsub/adapter/PodcastChannelAdapter.java +++ b/app/src/main/java/github/daneren2005/dsub/adapter/PodcastChannelAdapter.java @@ -17,6 +17,7 @@ package github.daneren2005.dsub.adapter; import android.content.Context; import android.view.ViewGroup; import github.daneren2005.dsub.domain.PodcastChannel; +import github.daneren2005.dsub.util.ImageLoader; import github.daneren2005.dsub.view.FastScroller; import github.daneren2005.dsub.view.PodcastChannelView; import github.daneren2005.dsub.view.UpdateView; @@ -24,30 +25,48 @@ import github.daneren2005.dsub.view.UpdateView; import java.util.List; public class PodcastChannelAdapter extends SectionAdapter<PodcastChannel> implements FastScroller.BubbleTextGetter { - public static int VIEW_TYPE_PODCAST = 1; + public static int VIEW_TYPE_PODCAST = 1; + public static int VIEW_TYPE_PODCAST_LINE = 2; + public static int VIEW_TYPE_PODCAST_CELL = 3; - public PodcastChannelAdapter(Context context, List<PodcastChannel> podcasts, OnItemClickedListener listener) { - super(context, podcasts); + private ImageLoader imageLoader; + private boolean largeCell; + + public PodcastChannelAdapter(Context context, List<PodcastChannel> podcasts, ImageLoader imageLoader, OnItemClickedListener listener, boolean largeCell) { + super(context, podcasts); this.onItemClickedListener = listener; - } - - @Override - public UpdateView.UpdateViewHolder onCreateSectionViewHolder(ViewGroup parent, int viewType) { - return new UpdateView.UpdateViewHolder(new PodcastChannelView(context)); - } - - @Override - public void onBindViewHolder(UpdateView.UpdateViewHolder holder, PodcastChannel item, int viewType) { - holder.getUpdateView().setObject(item); - } - - @Override - public int getItemViewType(PodcastChannel item) { - return VIEW_TYPE_PODCAST; - } - - @Override - public String getTextToShowInBubble(int position) { - return getNameIndex(getItemForPosition(position).getName(), true); - } + this.imageLoader = imageLoader; + this.largeCell = largeCell; + } + + @Override + public UpdateView.UpdateViewHolder onCreateSectionViewHolder(ViewGroup parent, int viewType) { + PodcastChannelView view; + if(viewType == VIEW_TYPE_PODCAST) { + view = new PodcastChannelView(context); + } else { + view = new PodcastChannelView(context, imageLoader, viewType == VIEW_TYPE_PODCAST_CELL); + } + + return new UpdateView.UpdateViewHolder(view); + } + + @Override + public void onBindViewHolder(UpdateView.UpdateViewHolder holder, PodcastChannel item, int viewType) { + holder.getUpdateView().setObject(item); + } + + @Override + public int getItemViewType(PodcastChannel item) { + if(imageLoader != null && item.getCoverArt() != null) { + return largeCell ? VIEW_TYPE_PODCAST_CELL : VIEW_TYPE_PODCAST_LINE; + } else { + return VIEW_TYPE_PODCAST; + } + } + + @Override + public String getTextToShowInBubble(int position) { + return getNameIndex(getItemForPosition(position).getName(), true); + } } |