package org.voxe.android.activity; import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP; import org.voxe.android.R; import org.voxe.android.VoxeApplication; import org.voxe.android.adapter.ElectionAdapter; import org.voxe.android.common.Analytics; import org.voxe.android.data.ElectionDAO; import org.voxe.android.model.Election; import org.voxe.android.model.ElectionsHolder; import android.content.Intent; import android.widget.ListView; import com.actionbarsherlock.app.SherlockActivity; import com.google.common.base.Optional; import com.googlecode.androidannotations.annotations.AfterViews; import com.googlecode.androidannotations.annotations.App; import com.googlecode.androidannotations.annotations.Bean; import com.googlecode.androidannotations.annotations.EActivity; import com.googlecode.androidannotations.annotations.ItemClick; import com.googlecode.androidannotations.annotations.OptionsItem; import com.googlecode.androidannotations.annotations.OptionsMenu; import com.googlecode.androidannotations.annotations.ViewById; import com.googlecode.androidannotations.annotations.res.HtmlRes; @EActivity(R.layout.select_elections_list) @OptionsMenu(R.menu.select_election) public class SelectElectionActivity extends SherlockActivity { @HtmlRes CharSequence voxeOrgTitle; @App VoxeApplication application; @Bean ElectionAdapter adapter; @ViewById ListView listView; @Bean Analytics analytics; @AfterViews void init() { setTitle(voxeOrgTitle); Optional<ElectionsHolder> optionalElectionHolder = application.getElectionHolder(); if (optionalElectionHolder.isPresent()) { ElectionsHolder electionHolder = optionalElectionHolder.get(); adapter.init(electionHolder.elections); listView.setAdapter(adapter); } else { LoadingActivity_ // .intent(this) // .flags(FLAG_ACTIVITY_CLEAR_TOP) // .start(); finish(); } } @OptionsItem void aboutSelected() { AboutActivity_.intent(this).start(); } @OptionsItem void refreshSelected() { application.setElectionHolder(null); ElectionDAO electionDAO = new ElectionDAO(this); electionDAO.clearData(); LoadingActivity_ // .intent(this) // .flags(FLAG_ACTIVITY_CLEAR_TOP) // .start(); finish(); } @ItemClick void listViewItemClicked(int position) { Election selectedElection = adapter.getItem(position); analytics.electionSelected(selectedElection); Intent intent = SelectCandidatesActivity_ // .intent(this) // .electionIndex(position) // .get(); startActivityForResult(intent, 1); } @Override protected void onPause() { super.onPause(); analytics.onPause(); } @Override protected void onResume() { super.onResume(); analytics.onResume(); } }