From 2547ea5b58cb396f7cf71046d0602548081ac2f8 Mon Sep 17 00:00:00 2001 From: Selim Cinek Date: Fri, 11 Sep 2015 17:06:29 -0700 Subject: [PATCH] Fixed a bug where the ConfirmDeviceCredentials activity was shown twice. When rotating the ConfirmDeviceCredentials Activity, it was launched again after solving the challenge. Bug: 23937676 Change-Id: Ic0852448f498c79d5448c72cbc31bb55d9bfeddb --- .../fingerprint/FingerprintEnrollFindSensor.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java index 886482252fd..7d6280ba4ba 100644 --- a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java +++ b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java @@ -16,7 +16,6 @@ package com.android.settings.fingerprint; -import android.content.Context; import android.content.Intent; import android.hardware.fingerprint.FingerprintManager; import android.os.Bundle; @@ -32,15 +31,19 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase { private static final int CONFIRM_REQUEST = 1; private static final int ENROLLING = 2; + public static final String EXTRA_KEY_LAUNCHED_CONFIRM = "launched_confirm_lock"; private FingerprintLocationAnimationView mAnimation; + private boolean mLaunchedConfirmLock; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fingerprint_enroll_find_sensor); setHeaderText(R.string.security_settings_fingerprint_enroll_find_sensor_title); - if (mToken == null) { + mLaunchedConfirmLock = savedInstanceState != null && savedInstanceState.getBoolean( + EXTRA_KEY_LAUNCHED_CONFIRM); + if (mToken == null && !mLaunchedConfirmLock) { launchConfirmLock(); } mAnimation = (FingerprintLocationAnimationView) findViewById( @@ -59,6 +62,12 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase { mAnimation.stopAnimation(); } + @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putBoolean(EXTRA_KEY_LAUNCHED_CONFIRM, mLaunchedConfirmLock); + } + @Override protected void onNextButtonClick() { startActivityForResult(getEnrollingIntent(), ENROLLING); @@ -104,6 +113,8 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase { // This shouldn't happen, as we should only end up at this step if a lock thingy is // already set. finish(); + } else { + mLaunchedConfirmLock = true; } }