diff options
Diffstat (limited to 'src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java')
| -rw-r--r-- | src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java index bbed42c49..63d93354e 100644 --- a/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java +++ b/src/com/android/settings/fingerprint/FingerprintEnrollFindSensor.java @@ -16,11 +16,11 @@ package com.android.settings.fingerprint; -import android.content.Context; import android.content.Intent; import android.hardware.fingerprint.FingerprintManager; import android.os.Bundle; +import com.android.internal.logging.MetricsLogger; import com.android.settings.ChooseLockSettingsHelper; import com.android.settings.R; @@ -31,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 +63,12 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase { } @Override + public void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putBoolean(EXTRA_KEY_LAUNCHED_CONFIRM, mLaunchedConfirmLock); + } + + @Override protected void onNextButtonClick() { startActivityForResult(getEnrollingIntent(), ENROLLING); } @@ -79,6 +89,9 @@ public class FingerprintEnrollFindSensor extends FingerprintEnrollBase { } else if (resultCode == RESULT_SKIP) { setResult(RESULT_SKIP); finish(); + } else if (resultCode == RESULT_TIMEOUT) { + setResult(RESULT_TIMEOUT); + finish(); } else { FingerprintManager fpm = getSystemService(FingerprintManager.class); int enrolled = fpm.getEnrolledFingerprints().size(); @@ -103,6 +116,13 @@ 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; } } + + @Override + protected int getMetricsCategory() { + return MetricsLogger.FINGERPRINT_FIND_SENSOR; + } } |
