package com.realtrackandroid.views.participationsactive.signinsheet; import java.util.ArrayList; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.TextView; import com.actionbarsherlock.app.SherlockFragmentActivity; import com.actionbarsherlock.view.MenuItem; import com.realtrackandroid.R; import com.realtrackandroid.common.StyledButton; import com.realtrackandroid.models.activities.Participant; /* * This class provides a landing page for the sign in sheets */ public class SignInSheetLandingActivity extends SherlockFragmentActivity { static final int SIGNIN_REQUEST = 1; private StyledButton okButton; private StyledButton doneButton; private StyledButton reviewButton; private ArrayList<Participant> participantList; private Intent intent; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_signinsheetlanding); intent = getIntent(); Bundle resultBundle = intent.getExtras(); participantList = resultBundle.getParcelableArrayList("participantList"); } @Override public void onResume() { super.onResume(); getSupportActionBar().setDisplayHomeAsUpEnabled(true); okButton = (StyledButton) findViewById(R.id.okbutton); doneButton = (StyledButton) findViewById(R.id.doneButton); reviewButton = (StyledButton) findViewById(R.id.reviewButton); if (participantList.isEmpty()) { reviewButton.setVisibility(View.INVISIBLE); ((TextView) findViewById(R.id.reviewMsg)).setVisibility(View.INVISIBLE); } else { reviewButton.setVisibility(View.VISIBLE); ((TextView) findViewById(R.id.reviewMsg)).setVisibility(View.VISIBLE); } // go to sign in sheet okButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent i = new Intent(getApplicationContext(), SignInSheetActivity.class); i.putExtra("activitytitle", intent.getExtras().getString("activitytitle")); if (intent.hasExtra("participationdate")) { i.putExtra("participationdate", intent.getExtras().getString("participationdate")); } startActivityForResult(i, SIGNIN_REQUEST); overridePendingTransition(R.anim.animation_slideinright, R.anim.animation_slideoutleft); } }); // go back to RecordQuickParticipationActivity or RecordOrEditParticipationActivity // send back the participants collected so far doneButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Bundle resultBundle = new Bundle(); resultBundle.putParcelableArrayList("participantList", participantList); intent.putExtras(resultBundle); setResult(RESULT_OK, intent); finish(); } }); if (intent.hasExtra("firstOpen")) { intent.removeExtra("firstOpen"); okButton.performClick(); } // go back to RecordQuickParticipationActivity or RecordOrEditParticipationActivity // send back the participants collected so far reviewButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent i = new Intent(getApplicationContext(), ReviewSignInActivity.class); Bundle resultBundle = new Bundle(); resultBundle.putParcelableArrayList("participantList", participantList); i.putExtras(resultBundle); startActivity(i); } }); } // Handle participant returned by SignInSheetActivity @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { if (requestCode == SIGNIN_REQUEST) { if (resultCode == RESULT_OK) { Bundle resultBundle = intent.getExtras(); Participant currentParticipant = resultBundle.getParcelable("participant"); if (currentParticipant != null) participantList.add(currentParticipant); } } } @Override public void onBackPressed() { super.onBackPressed(); overridePendingTransition(R.anim.animation_slideinleft, R.anim.animation_slideoutright); finish(); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // provide a back button on the actionbar finish(); break; default: return super.onOptionsItemSelected(item); } return true; } @Override protected void onSaveInstanceState(Bundle out) { super.onSaveInstanceState(out); out.putParcelableArrayList("participantList", participantList); } @Override protected void onRestoreInstanceState(Bundle in) { super.onRestoreInstanceState(in); participantList = in.getParcelableArrayList("participantList"); } }