Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 436770c0 authored by Jim Miller's avatar Jim Miller Committed by Android (Google) Code Review
Browse files

Merge "Fix 6291333: Don't show multiple pin/pattern/password confirmations" into jb-dev

parents 34081631 47f1cd43
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -47,7 +47,8 @@
            style="@style/SecurityPreferenceButtonContainer"
            android:layout_alignParentRight="true"
            android:layout_alignParentBottom="true"
            android:orientation="horizontal">
            android:orientation="horizontal"
            android:visibility="invisible">

            <!-- left / top button: skip, or re-try -->
            <Button android:id="@+id/footerLeftButton"
+12 −3
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ public class ChooseLockGeneric extends PreferenceActivity {
        private static final int FALLBACK_REQUEST = 101;
        private static final String PASSWORD_CONFIRMED = "password_confirmed";
        private static final String CONFIRM_CREDENTIALS = "confirm_credentials";
        private static final String WAITING_FOR_CONFIRMATION = "waiting_for_confirmation";
        public static final String MINIMUM_QUALITY_KEY = "minimum_quality";

        private static final boolean ALWAY_SHOW_TUTORIAL = true;
@@ -66,6 +67,7 @@ public class ChooseLockGeneric extends PreferenceActivity {
        private DevicePolicyManager mDPM;
        private KeyStore mKeyStore;
        private boolean mPasswordConfirmed = false;
        private boolean mWaitingForConfirmation = false;

        @Override
        public void onCreate(Bundle savedInstanceState) {
@@ -82,19 +84,24 @@ public class ChooseLockGeneric extends PreferenceActivity {

            if (savedInstanceState != null) {
                mPasswordConfirmed = savedInstanceState.getBoolean(PASSWORD_CONFIRMED);
                mWaitingForConfirmation = savedInstanceState.getBoolean(WAITING_FOR_CONFIRMATION);
            }

            if (!mPasswordConfirmed) {
            if (mPasswordConfirmed) {
                updatePreferencesOrFinish();
            } else if (!mWaitingForConfirmation) {
                ChooseLockSettingsHelper helper =
                        new ChooseLockSettingsHelper(this.getActivity(), this);
                if (!helper.launchConfirmationActivity(CONFIRM_EXISTING_REQUEST, null, null)) {
                    mPasswordConfirmed = true; // no password set, so no need to confirm
                    updatePreferencesOrFinish();
                }
                } else {
                updatePreferencesOrFinish();
                    mWaitingForConfirmation = true;
                }
            }
        }



        @Override
        public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
@@ -143,6 +150,7 @@ public class ChooseLockGeneric extends PreferenceActivity {
        @Override
        public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            mWaitingForConfirmation = false;
            if (requestCode == CONFIRM_EXISTING_REQUEST && resultCode == Activity.RESULT_OK) {
                mPasswordConfirmed = true;
                updatePreferencesOrFinish();
@@ -161,6 +169,7 @@ public class ChooseLockGeneric extends PreferenceActivity {
            super.onSaveInstanceState(outState);
            // Saved so we don't force user to re-enter their password if configuration changes
            outState.putBoolean(PASSWORD_CONFIRMED, mPasswordConfirmed);
            outState.putBoolean(WAITING_FOR_CONFIRMATION, mWaitingForConfirmation);
        }

        private void updatePreferencesOrFinish() {