package org.openlmis.core.view.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import org.openlmis.core.R;
import org.openlmis.core.view.fragment.RapidTestReportFormFragment;
import org.openlmis.core.view.holder.RapidTestReportGridViewHolder;
import org.openlmis.core.view.viewmodel.RapidTestFormGridViewModel;
import java.util.List;
public class RapidTestReportGridAdapter extends RecyclerView.Adapter<RapidTestReportGridViewHolder> {
Context context;
private Boolean editable;
List<RapidTestFormGridViewModel> viewModels;
private RapidTestReportGridViewHolder.QuantityChangeListener quantityChangeListener;
public RapidTestReportGridAdapter(List<RapidTestFormGridViewModel> viewModels, Context context, Boolean editable, RapidTestReportGridViewHolder.QuantityChangeListener quantityChangeListener) {
this.viewModels = viewModels;
this.context = context;
this.editable = editable;
this.quantityChangeListener = quantityChangeListener;
}
@Override
public RapidTestReportGridViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(context).inflate(R.layout.item_rapid_test_report_grid, parent, false);
itemView.getLayoutParams().width = RapidTestReportFormFragment.GRID_SIZE;
return new RapidTestReportGridViewHolder(itemView);
}
@Override
public void onBindViewHolder(RapidTestReportGridViewHolder holder, int position) {
RapidTestFormGridViewModel viewModel = viewModels.get(position);
holder.populate(viewModel, editable, quantityChangeListener);
}
@Override
public int getItemCount() {
return viewModels.size();
}
}