

package com.hannesdorfmann.mosby3.sample.mvi.view.category;

import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import com.hannesdorfmann.mosby3.sample.mvi.businesslogic.model.Product;
import com.hannesdorfmann.mosby3.sample.mvi.view.ui.viewholder.ProductViewHolder;
import java.util.List;

/**
 * Adapter display search results
 *
 * @author Hannes Dorfmann
 */
public class CategoryAdapter extends RecyclerView.Adapter<ProductViewHolder> {

  private final LayoutInflater inflater;
  private final ProductViewHolder.ProductClickedListener productClickedListener;
  private List<Product> products;

  public CategoryAdapter(LayoutInflater inflater, ProductViewHolder.ProductClickedListener productClickedListener) {
    this.inflater = inflater;
    this.productClickedListener = productClickedListener;
  }

  public void setProducts(List<Product> products) {
    this.products = products;
  }

  @Override public ProductViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    return ProductViewHolder.create(inflater, productClickedListener);
  }

  @Override public void onBindViewHolder(ProductViewHolder holder, int position) {
    holder.bind(products.get(position));
  }

  @Override public int getItemCount() {
    return products == null ? 0 : products.size();
  }
}
