package org.openlmis.core.view.holder; import android.view.View; import android.widget.TextView; import org.openlmis.core.R; import org.openlmis.core.model.StockCard; import org.openlmis.core.utils.TextStyleUtil; import org.openlmis.core.view.viewmodel.InventoryViewModel; import roboguice.inject.InjectView; public class ArchivedDrugsViewHolder extends BaseViewHolder { @InjectView(R.id.tv_product_name) TextView tvProductName; @InjectView(R.id.tv_product_unit) TextView tvProductUnit; @InjectView(R.id.action_view_history) TextView tvViewHistory; @InjectView(R.id.action_archive_back) TextView tvArchiveBack; public ArchivedDrugsViewHolder(View itemView) { super(itemView); } public void populate(final InventoryViewModel inventoryViewModel, String queryKeyWord, final ArchiveStockCardListener listener) { tvProductName.setText(TextStyleUtil.getHighlightQueryKeyWord(queryKeyWord, inventoryViewModel.getStyledName())); tvProductUnit.setText(TextStyleUtil.getHighlightQueryKeyWord(queryKeyWord, inventoryViewModel.getStyledUnit())); if (!inventoryViewModel.getProduct().isActive()) { tvArchiveBack.setVisibility(View.GONE); } setActionListeners(inventoryViewModel, listener); } private void setActionListeners(final InventoryViewModel inventoryViewModel, final ArchiveStockCardListener listener) { tvViewHistory.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (listener != null) { listener.viewMovementHistory(inventoryViewModel.getStockCard()); } } }); tvArchiveBack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (listener != null) { listener.archiveStockCardBack(inventoryViewModel.getStockCard()); } } }); } public interface ArchiveStockCardListener { void viewMovementHistory(StockCard stockCard); void archiveStockCardBack(StockCard stockCard); } }