package com.android.smap.fragments; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import com.android.smap.GatewayApp; import com.android.smap.R; import com.android.smap.activities.FragmentContainerActivity.Builder; import com.android.smap.adapters.DistributionAdapter; import com.android.smap.api.models.Distribution; import com.android.smap.api.models.Survey; import com.android.smap.di.DataManager; import com.android.smap.ui.ViewQuery; import com.google.inject.Inject; public class SurveyDistributionsFragment extends BaseFragment implements OnItemClickListener { public static final String EXTRA_SURVEY_ID = DistributionDetailFragment.class .getCanonicalName() + "id"; private Survey mSurvey; @Inject private DataManager mDataManager; // TODO - Create Distribution Adapter private DistributionAdapter mAdapter; @Override public View onCreateContentView(LayoutInflater inflater, Bundle savedInstanceState) { LinearLayout view = (LinearLayout) inflater.inflate( R.layout.fragment_distributions, null); mDataManager = GatewayApp.getDependencyContainer().getDataManager(); Bundle b = getArguments(); if (b != null) { mSurvey = mDataManager.getSurvey(b.getLong(EXTRA_SURVEY_ID)); } TextView textView = (TextView) view.findViewById(R.id.txt_survey_name); textView.setText(mSurvey.getName()); ListView listView = (ListView) view.findViewById(R.id.list_distributions); //mDataManager = GatewayApp.getDependencyContainer().getDataManager(); mAdapter = new DistributionAdapter(getActivity(), mSurvey.getDistributions()); listView.setOnItemClickListener(this); listView.setAdapter(mAdapter); return view; } @Override public void onResume() { super.onResume(); mAdapter.setModel(mSurvey.getDistributions()); } @Override public void onItemClick(AdapterView<?> av, View parent, int pos, long viewId) { Distribution distribution = mAdapter.getItem(pos); Bundle b = new Bundle(); b.putLong(DistributionDetailFragment.EXTRA_DISTRIBUTION_ID, distribution.getId()); startActivity(new Builder(getActivity(), DistributionDetailFragment.class) .arguments(b).title(R.string.ab_distribution_details).build()); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); inflater = getActivity().getMenuInflater(); inflater.inflate(R.menu.menu_add, menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { boolean handled = true; switch (item.getItemId()) { case android.R.id.home: // Actionbar home/up icon getActivity().onBackPressed(); break; case R.id.action_add: Bundle b = new Bundle(); b.putLong(EXTRA_SURVEY_ID, mSurvey.getId()); startActivity(new Builder(getActivity(), SurveyDistributionCreateFragment.class) .arguments(b).title(R.string.ab_create_distribution).build()); break; } return handled; } }