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.ImageButton;
import android.widget.TextView;
import com.simplecity.amp_library.R;
import com.simplecity.amp_library.model.Song;
import com.simplecity.amp_library.utils.DrawableUtils;
public class BlacklistView extends BaseAdaptableItem<Song, BlacklistView.ViewHolder> {
public Song song;
public BlacklistView(Song song) {
this.song = song;
}
@Override
public int getViewType() {
return ViewType.BLACKLIST;
}
@Override
public int getLayoutResId() {
return R.layout.list_item_two_lines;
}
@Override
public void bindView(ViewHolder holder) {
holder.lineOne.setText(song.name);
holder.lineTwo.setText(String.format("%s | %s", song.artistName, song.albumName));
}
@Override
public ViewHolder getViewHolder(ViewGroup parent) {
return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(getLayoutResId(), parent, false));
}
@Override
public Song getItem() {
return song;
}
@Override
public boolean areContentsEqual(Object other) {
return equals(other);
}
public static class ViewHolder extends RecyclerView.ViewHolder {
public TextView lineOne;
public TextView lineTwo;
public TextView playCount;
public ImageButton overflow;
public ViewHolder(View itemView) {
super(itemView);
lineOne = (TextView) itemView.findViewById(R.id.line_one);
lineTwo = (TextView) itemView.findViewById(R.id.line_two);
playCount = (TextView) itemView.findViewById(R.id.play_count);
playCount.setVisibility(View.GONE);
overflow = (ImageButton) itemView.findViewById(R.id.btn_overflow);
overflow.setImageDrawable(DrawableUtils.getBaseDrawable(itemView.getContext(), R.drawable.ic_cancel));
}
@Override
public String toString() {
return "BlacklistView.ViewHolder";
}
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
BlacklistView that = (BlacklistView) o;
return song != null ? song.equals(that.song) : that.song == null;
}
@Override
public int hashCode() {
return song != null ? song.hashCode() : 0;
}
}