package org.openlmis.core.view.fragment; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.TextView; import com.google.inject.Inject; import org.openlmis.core.R; import org.openlmis.core.presenter.AllDrugsMovementPresenter; import org.openlmis.core.presenter.Presenter; import org.openlmis.core.view.adapter.MovementHistoryAdapter; import org.openlmis.core.view.viewmodel.StockHistoryViewModel; import java.util.Arrays; import java.util.List; import roboguice.inject.InjectView; public class AllDrugsMovementHistoryFragment extends BaseFragment implements AllDrugsMovementPresenter.AllDrugsMovementView { @Inject AllDrugsMovementPresenter presenter; @InjectView(R.id.date_spinner) Spinner dateSpinner; @InjectView(R.id.tv_product_count) TextView tvProductCount; @InjectView(R.id.tv_movement_count) TextView tvMovementCount; @InjectView(R.id.rv_movement_history) RecyclerView movementHistoryListView; private MovementHistoryAdapter adapter; private static List<Integer> DATE_ITEMS = Arrays.asList(7, 14, 30, 90, 180, 365); @Override public Presenter initPresenter() { return presenter; } @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_all_drugs_movement_history, container, true); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); innitSpinner(); initRecyclerView(); } private void initRecyclerView() { movementHistoryListView.setLayoutManager(new LinearLayoutManager(getActivity())); adapter = new MovementHistoryAdapter(); movementHistoryListView.setAdapter(adapter); } private void innitSpinner() { ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getActivity(), R.array.movement_date_items_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); dateSpinner.setAdapter(adapter); dateSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { presenter.loadMovementHistory(DATE_ITEMS.get(position)); } @Override public void onNothingSelected(AdapterView<?> parent) { } }); } @Override public void refreshRecyclerView(List<StockHistoryViewModel> stockHistoryViewModels) { adapter.refresh(stockHistoryViewModels); } @Override public void updateHistoryCount(int productCount, int movementCount) { tvProductCount.setText(getResources().getString(R.string.msg_products_with_movement_count, productCount)); tvMovementCount.setText(getResources().getString(R.string.msg_movement_count, movementCount)); } }