package com.quickblox.sample.customobjects.adapter;
import android.content.Context;
import android.databinding.DataBindingUtil;
import android.view.View;
import android.view.ViewGroup;
import com.quickblox.sample.core.ui.adapter.BaseListAdapter;
import com.quickblox.sample.customobjects.R;
import com.quickblox.sample.customobjects.databinding.ListItemMovieBinding;
import com.quickblox.sample.customobjects.model.Movie;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Map;
public class MovieListAdapter extends BaseListAdapter<Movie> {
public MovieListAdapter(Context context, Map<String, Movie> movieMap) {
super(context, new ArrayList<>(movieMap.values()));
updateData(movieMap);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = inflater.inflate(R.layout.list_item_movie, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Movie movie = (Movie) getItem(position);
holder.movieBinding.setMovie(movie);
return convertView;
}
public void updateData(Map<String, Movie> movieMap) {
objectsList = new ArrayList<>(movieMap.values());
Collections.sort(objectsList, new Movie.DateComparator());
notifyDataSetChanged();
}
private static class ViewHolder {
ListItemMovieBinding movieBinding;
public ViewHolder(View v) {
movieBinding = DataBindingUtil.bind(v);
}
}
}