package com.alorma.github.ui.adapter.events;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import com.alorma.github.sdk.bean.dto.response.GithubEvent;
import com.alorma.github.track.Tracker;
import com.alorma.github.ui.adapter.base.RecyclerArrayAdapter;
import com.alorma.github.ui.adapter.events.holders.EventViewHolder;
public class EventsAdapter extends RecyclerArrayAdapter<GithubEvent, EventViewHolder> {
private final EventViewHolderFactory factory;
private final Tracker tracker;
public EventsAdapter(LayoutInflater inflater, EventViewHolderFactory factory, Tracker tracker) {
super(inflater);
this.factory = factory;
this.tracker = tracker;
}
@Override
public EventViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
EventViewHolder viewHolder = factory.getViewHolder(getInflater(), parent, viewType);
viewHolder.setCallback(getCallback());
viewHolder.setTracker(tracker);
return viewHolder;
}
@Override
protected void onBindViewHolder(EventViewHolder holder, GithubEvent githubEvent) {
holder.populate(githubEvent);
}
@Override
public int getItemViewType(int position) {
return factory.viewType(getItem(position));
}
}