package com.radicaldynamic.groupinform.adapters; import java.util.ArrayList; import java.util.HashMap; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.Spinner; import android.widget.TextView; import com.radicaldynamic.groupinform.R; import com.radicaldynamic.groupinform.application.Collect; import com.radicaldynamic.groupinform.documents.FormDefinition; import com.radicaldynamic.groupinform.documents.FormInstance; public class BrowserShortListAdapter extends ArrayAdapter<FormDefinition> { private Context mContext; private ArrayList<FormDefinition> mItems; private HashMap<String, HashMap<String, String>> mTallies; private Spinner mSpinner; public BrowserShortListAdapter(Context context, int textViewResourceId, ArrayList<FormDefinition> items, HashMap<String, HashMap<String, String>> tallies, Spinner spinner) { super(context, textViewResourceId, items); mContext = context; mItems = items; mTallies = tallies; mSpinner = spinner; } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.browser_list_item, null); } FormDefinition f = mItems.get(position); if (f != null) { ImageView fi = (ImageView) v.findViewById(R.id.icon); TextView tt = (TextView) v.findViewById(R.id.toptext); TextView bt = (TextView) v.findViewById(R.id.bottomtext); if (tt != null) { tt.setText(f.getName()); } if (bt != null) { String tallies = ""; String draft = null; String complete = null; switch (mSpinner.getSelectedItemPosition()) { case 0: fi.setImageDrawable(Collect.getInstance().getResources().getDrawable(R.drawable.to_do_list)); if (mTallies.containsKey(f.getId())) { draft = mTallies.get(f.getId()).get(FormInstance.Status.draft.toString()); complete = mTallies.get(f.getId()).get(FormInstance.Status.complete.toString()); } if (draft == null) draft = "0"; if (complete == null) complete = "0"; tallies = draft + " draft(s), " + complete + " complete"; break; case 1: complete = mTallies.get(f.getId()).get(FormInstance.Status.complete.toString()); if (complete == null) complete = "0"; fi.setImageDrawable(Collect.getInstance().getResources().getDrawable(R.drawable.to_do_list_checked3)); tallies = complete + " complete forms"; if (mTallies.get(f.getId()).get(FormInstance.Status.complete.toString()).equals("1")) tallies = tallies.substring(0, tallies.length() - 1); break; case 2: draft = mTallies.get(f.getId()).get(FormInstance.Status.draft.toString()); if (draft == null) draft = "0"; fi.setImageDrawable(Collect.getInstance().getResources().getDrawable(R.drawable.to_do_list_checked1)); tallies = draft + " drafts"; if (mTallies.get(f.getId()).get(FormInstance.Status.draft.toString()).equals("1")) tallies = tallies.substring(0, tallies.length() - 1); break; case 3: // Handled by BrowserLongListAdapter break; case 4: fi.setImageDrawable(Collect.getInstance().getResources().getDrawable(R.drawable.clipboard_download)); if (mTallies.containsKey(f.getId())) { draft = mTallies.get(f.getId()).get(FormInstance.Status.draft.toString()); complete = mTallies.get(f.getId()).get(FormInstance.Status.complete.toString()); } if (draft == null) draft = "0"; if (complete == null) complete = "0"; tallies = draft + " draft(s), " + complete + " complete"; break; case 5: fi.setImageDrawable(Collect.getInstance().getResources().getDrawable(R.drawable.to_do_list_edit)); if (mTallies.containsKey(f.getId())) { draft = mTallies.get(f.getId()).get(FormInstance.Status.draft.toString()); complete = mTallies.get(f.getId()).get(FormInstance.Status.complete.toString()); } if (draft == null) draft = "0"; if (complete == null) complete = "0"; tallies = draft + " draft(s), " + complete + " complete"; break; } bt.setText(tallies); } } return v; } }