diff --git a/src/com/android/settings/biometrics/BiometricEnrollBase.java b/src/com/android/settings/biometrics/BiometricEnrollBase.java index eea1bad91a9..75e409825ea 100644 --- a/src/com/android/settings/biometrics/BiometricEnrollBase.java +++ b/src/com/android/settings/biometrics/BiometricEnrollBase.java @@ -181,16 +181,6 @@ public abstract class BiometricEnrollBase extends InstrumentedActivity { getWindow().setStatusBarColor(getBackgroundColor()); } - @Override - protected void onStop() { - super.onStop(); - if (!isChangingConfigurations() && shouldFinishWhenBackgrounded() - && !BiometricUtils.isAnyMultiBiometricFlow(this)) { - setResult(RESULT_TIMEOUT); - finish(); - } - } - protected boolean shouldFinishWhenBackgrounded() { return !WizardManagerHelper.isAnySetupWizard(getIntent()); } diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java index acfe5a10255..d9f8bd1bf0d 100644 --- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java +++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java @@ -241,6 +241,16 @@ public abstract class BiometricEnrollIntroduction extends BiometricEnrollBase } } + @Override + protected void onStop() { + if (!isChangingConfigurations() && shouldFinishWhenBackgrounded() + && !BiometricUtils.isAnyMultiBiometricFlow(this)) { + setResult(RESULT_TIMEOUT); + finish(); + } + super.onStop(); + } + @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); diff --git a/src/com/android/settings/biometrics/BiometricHandoffActivity.java b/src/com/android/settings/biometrics/BiometricHandoffActivity.java index 7f28ced2029..2b8d89b0dfe 100644 --- a/src/com/android/settings/biometrics/BiometricHandoffActivity.java +++ b/src/com/android/settings/biometrics/BiometricHandoffActivity.java @@ -49,6 +49,16 @@ public class BiometricHandoffActivity extends BiometricEnrollBase { mFooterBarMixin.setPrimaryButton(getPrimaryFooterButton()); } + @Override + protected void onStop() { + if (!isChangingConfigurations() && shouldFinishWhenBackgrounded() + && !BiometricUtils.isAnyMultiBiometricFlow(this)) { + setResult(RESULT_TIMEOUT); + finish(); + } + super.onStop(); + } + @NonNull protected FooterButton getPrimaryFooterButton() { if (mPrimaryFooterButton == null) { diff --git a/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java index 3a61d5e2243..6f68f51e911 100644 --- a/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java +++ b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java @@ -62,7 +62,11 @@ public abstract class BiometricsEnrollEnrolling extends BiometricEnrollBase @Override protected void onStop() { - super.onStop(); + if (!isChangingConfigurations() && shouldFinishWhenBackgrounded() + && !BiometricUtils.isAnyMultiBiometricFlow(this)) { + setResult(RESULT_TIMEOUT); + finish(); + } if (mSidecar != null) { mSidecar.setListener(null); @@ -80,6 +84,7 @@ public abstract class BiometricsEnrollEnrolling extends BiometricEnrollBase } finish(); } + super.onStop(); } @Override diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java index d2d356b1104..cdd99a228a7 100644 --- a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java +++ b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java @@ -170,6 +170,16 @@ public class FaceEnrollEducation extends BiometricEnrollBase { } } + @Override + protected void onStop() { + if (!isChangingConfigurations() && shouldFinishWhenBackgrounded() + && !BiometricUtils.isAnyMultiBiometricFlow(this)) { + setResult(RESULT_TIMEOUT); + finish(); + } + super.onStop(); + } + @Override protected boolean shouldFinishWhenBackgrounded() { return super.shouldFinishWhenBackgrounded() && !mNextClicked; diff --git a/src/com/android/settings/biometrics/face/FaceEnrollFinish.java b/src/com/android/settings/biometrics/face/FaceEnrollFinish.java index 6e99cdb344a..135179475dc 100644 --- a/src/com/android/settings/biometrics/face/FaceEnrollFinish.java +++ b/src/com/android/settings/biometrics/face/FaceEnrollFinish.java @@ -22,6 +22,7 @@ import android.view.View; import com.android.settings.R; import com.android.settings.biometrics.BiometricEnrollBase; +import com.android.settings.biometrics.BiometricUtils; import com.google.android.setupcompat.template.FooterBarMixin; import com.google.android.setupcompat.template.FooterButton; @@ -48,6 +49,16 @@ public class FaceEnrollFinish extends BiometricEnrollBase { ); } + @Override + protected void onStop() { + if (!isChangingConfigurations() && shouldFinishWhenBackgrounded() + && !BiometricUtils.isAnyMultiBiometricFlow(this)) { + setResult(RESULT_TIMEOUT); + finish(); + } + super.onStop(); + } + @Override public int getMetricsCategory() { return SettingsEnums.FACE_ENROLL_FINISHED; diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java index 627a5143a38..79a106559ad 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java @@ -249,10 +249,15 @@ public class FingerprintEnrollFindSensor extends BiometricEnrollBase implements @Override protected void onStop() { - super.onStop(); if (mAnimation != null) { mAnimation.pauseAnimation(); } + if (!isChangingConfigurations() && shouldFinishWhenBackgrounded() + && !BiometricUtils.isAnyMultiBiometricFlow(this)) { + setResult(RESULT_TIMEOUT); + finish(); + } + super.onStop(); } @Override diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java index 16773d3cbda..05ca39c144a 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java @@ -108,6 +108,16 @@ public class FingerprintEnrollFinish extends BiometricEnrollBase { } } + @Override + protected void onStop() { + if (!isChangingConfigurations() && shouldFinishWhenBackgrounded() + && !BiometricUtils.isAnyMultiBiometricFlow(this)) { + setResult(RESULT_TIMEOUT); + finish(); + } + super.onStop(); + } + @Override protected void onNextButtonClick(View view) { updateFingerprintSuggestionEnableState();