From: purigarcia Date: Thu, 9 Jul 2015 14:40:29 +0000 (+0200) Subject: save the state before rotate X-Git-Tag: oc-android-1.8~63^2~2 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/066324f60a25ff064c8c61f56e3ee849189a00ff?ds=inline save the state before rotate --- diff --git a/src/com/owncloud/android/ui/activity/PassCodeActivity.java b/src/com/owncloud/android/ui/activity/PassCodeActivity.java index b781e28a..7b8182c1 100644 --- a/src/com/owncloud/android/ui/activity/PassCodeActivity.java +++ b/src/com/owncloud/android/ui/activity/PassCodeActivity.java @@ -61,7 +61,9 @@ public class PassCodeActivity extends ActionBarActivity { private EditText[] mPassCodeEditTexts = new EditText[4]; private String [] mPassCodeDigits = {"","","",""}; + private static String KEY_PASSCODE_DIGITS = "PASSCODE_DIGITS"; private boolean mConfirmingPassCode = false; + private static String KEY_CONFIRMING_PASSCODE = "CONFIRMING_PASSCODE"; private boolean mBChange = true; // to control that only one blocks jump @@ -96,13 +98,23 @@ public class PassCodeActivity extends ActionBarActivity { setCancelButtonEnabled(false); // no option to cancel } else if (ACTION_ENABLE.equals(getIntent().getAction())) { - /// pass code preference has just been activated in Preferences; - // will receive and confirm pass code value - mPassCodeHdr.setText(R.string.pass_code_configure_your_pass_code); - //mPassCodeHdr.setText(R.string.pass_code_enter_pass_code); - // TODO choose a header, check iOS - mPassCodeHdrExplanation.setVisibility(View.VISIBLE); - setCancelButtonEnabled(true); + if (savedInstanceState != null) { + mConfirmingPassCode = savedInstanceState.getBoolean(PassCodeActivity.KEY_CONFIRMING_PASSCODE); + mPassCodeDigits = savedInstanceState.getStringArray(PassCodeActivity.KEY_PASSCODE_DIGITS); + if(mConfirmingPassCode){ + //the app was in the passcodeconfirmation + requestPassCodeConfirmation(); + } + } + if(savedInstanceState == null || (savedInstanceState != null && !mConfirmingPassCode)){ + /// pass code preference has just been activated in Preferences; + // will receive and confirm pass code value + mPassCodeHdr.setText(R.string.pass_code_configure_your_pass_code); + //mPassCodeHdr.setText(R.string.pass_code_enter_pass_code); + // TODO choose a header, check iOS + mPassCodeHdrExplanation.setVisibility(View.VISIBLE); + setCancelButtonEnabled(true); + } } else if (ACTION_DISABLE.equals(getIntent().getAction())) { /// pass code preference has just been disabled in Preferences; @@ -455,6 +467,13 @@ public class PassCodeActivity extends ActionBarActivity { finish(); } + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putBoolean(PassCodeActivity.KEY_CONFIRMING_PASSCODE, mConfirmingPassCode); + outState.putStringArray(PassCodeActivity.KEY_PASSCODE_DIGITS, mPassCodeDigits); + } + private class PassCodeDigitTextWatcher implements TextWatcher {