package com.simplecity.amp_library.ui.adapters;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.View;
import com.simplecity.amp_library.model.Genre;
import com.simplecity.amp_library.ui.modelviews.GenreView;
import com.simplecity.amp_library.utils.StringUtils;
import com.simplecityapps.recyclerview_fastscroll.views.FastScrollRecyclerView;
public class GenreAdapter extends ItemAdapter implements
FastScrollRecyclerView.SectionedAdapter {
private GenreListener mListener;
public interface GenreListener {
void onItemClick(View v, int position, Genre genre);
}
public void setListener(GenreListener listener) {
mListener = listener;
}
public Genre getGenre(int position) {
return ((GenreView) items.get(position)).genre;
}
@Override
protected void attachListeners(final RecyclerView.ViewHolder viewHolder) {
if (viewHolder instanceof GenreView.ViewHolder) {
viewHolder.itemView.setOnClickListener(v -> {
if (mListener != null && viewHolder.getAdapterPosition() != -1) {
mListener.onItemClick(v, viewHolder.getAdapterPosition(), getGenre(viewHolder.getAdapterPosition()));
}
});
}
}
@NonNull
@Override
public String getSectionName(int position) {
if (items.get(position) == null) {
return "";
}
String string = StringUtils.keyFor(getGenre(position).name);
if (!TextUtils.isEmpty(string)) {
string = string.substring(0, 1).toUpperCase();
} else {
string = " ";
}
return string;
}
}