package com.simplecity.amp_library.ui.modelviews; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.simplecity.amp_library.R; import com.simplecity.amp_library.model.Playlist; import com.simplecity.amp_library.ui.views.NonScrollImageButton; import com.simplecity.amp_library.utils.DrawableUtils; public class PlaylistView extends BaseAdaptableItem<Playlist, PlaylistView.ViewHolder> { public Playlist playlist; public PlaylistView(Playlist playlist) { this.playlist = playlist; } @Override public int getViewType() { return ViewType.PLAYLIST; } @Override public int getLayoutResId() { return R.layout.list_item_one_line; } @Override public void bindView(ViewHolder holder) { holder.lineOne.setText(playlist.name); holder.overflowButton.setContentDescription(holder.itemView.getResources().getString(R.string.btn_options, playlist.name)); } @Override public ViewHolder getViewHolder(ViewGroup parent) { return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(getLayoutResId(), parent, false)); } @Override public Playlist getItem() { return playlist; } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView lineOne; public NonScrollImageButton overflowButton; public ViewHolder(View itemView) { super(itemView); lineOne = (TextView) itemView.findViewById(R.id.line_one); overflowButton = (NonScrollImageButton) itemView.findViewById(R.id.btn_overflow); overflowButton.setImageDrawable(DrawableUtils.getColoredStateListDrawable(itemView.getContext(), R.drawable.ic_overflow_white)); } @Override public String toString() { return "PlaylistView.ViewHolder"; } } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PlaylistView that = (PlaylistView) o; return playlist != null ? playlist.equals(that.playlist) : that.playlist == null; } @Override public int hashCode() { return playlist != null ? playlist.hashCode() : 0; } @Override public boolean areContentsEqual(Object other) { return equals(other); } }