/* This file is part of Subsonic. Subsonic is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Subsonic is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Subsonic. If not, see . Copyright 2015 (C) Scott Jackson */ package github.daneren2005.dsub.adapter; import android.content.Context; import java.util.List; import android.view.ViewGroup; import github.daneren2005.dsub.domain.Playlist; import github.daneren2005.dsub.util.ImageLoader; import github.daneren2005.dsub.view.FastScroller; import github.daneren2005.dsub.view.PlaylistView; import github.daneren2005.dsub.view.UpdateView; public class PlaylistAdapter extends SectionAdapter implements FastScroller.BubbleTextGetter { public static int VIEW_TYPE_PLAYLIST = 1; private final ImageLoader imageLoader; private final boolean largeCell; public PlaylistAdapter(Context context, List playlists, ImageLoader imageLoader, boolean largeCell, OnItemClickedListener listener) { super(context, playlists); this.imageLoader = imageLoader; this.largeCell = largeCell; this.onItemClickedListener = listener; } public PlaylistAdapter(Context context, List headers, List> sections, ImageLoader imageLoader, boolean largeCell, OnItemClickedListener listener) { super(context, headers, sections); this.imageLoader = imageLoader; this.largeCell = largeCell; this.onItemClickedListener = listener; } @Override public UpdateView.UpdateViewHolder onCreateSectionViewHolder(ViewGroup parent, int viewType) { return new UpdateView.UpdateViewHolder(new PlaylistView(context, imageLoader, largeCell)); } @Override public void onBindViewHolder(UpdateView.UpdateViewHolder holder, Playlist playlist, int viewType) { holder.getUpdateView().setObject(playlist); holder.setItem(playlist); } @Override public int getItemViewType(Playlist playlist) { return VIEW_TYPE_PLAYLIST; } @Override public String getTextToShowInBubble(int position) { Playlist item = getItemForPosition(position); if(item != null) { return getNameIndex(item.getName()); } else { return null; } } }