From d72e95c3669f6ce0c7b658e725474bbcd12a545c Mon Sep 17 00:00:00 2001 From: Udam Saini Date: Fri, 12 Feb 2016 13:42:18 -0800 Subject: [PATCH] Fixes autoadvance on find sensor page for fingerprint. OnStop gets called after an activity behind it on the stack is resumed when the user pressed the back button on the navigation bar. Because of this, we need to disable the cancelEnrollment call inside onBackPressed instead of onStop so that on the find sensor page, the auto next advance on pressing the fingerprint sensor will still work. bug:27151472 Change-Id: I1e440f1f7cd91c0711dd31b8bf65a567d4d39f8b --- .../FingerprintEnrollEnrolling.java | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java index 7148bd5f319..2656f17c885 100644 --- a/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java +++ b/src/com/android/settings/fingerprint/FingerprintEnrollEnrolling.java @@ -168,15 +168,30 @@ public class FingerprintEnrollEnrolling extends FingerprintEnrollBase @Override protected void onStop() { super.onStop(); - mSidecar.setListener(null); + if (mSidecar != null) { + mSidecar.setListener(null); + } stopIconAnimation(); if (!isChangingConfigurations()) { - mSidecar.cancelEnrollment(); - getFragmentManager().beginTransaction().remove(mSidecar).commit(); + if (mSidecar != null) { + mSidecar.cancelEnrollment(); + getFragmentManager().beginTransaction().remove(mSidecar).commit(); + } finish(); } } + @Override + public void onBackPressed() { + if (mSidecar != null) { + mSidecar.setListener(null); + mSidecar.cancelEnrollment(); + getFragmentManager().beginTransaction().remove(mSidecar).commit(); + mSidecar = null; + } + super.onBackPressed(); + } + private void animateProgress(int progress) { if (mProgressAnim != null) { mProgressAnim.cancel();