From 7a89f15fed1e032052d6b315d9b042e1100540ce Mon Sep 17 00:00:00 2001 From: Xiaozhen Lin Date: Fri, 7 Apr 2023 00:53:30 +0000 Subject: [PATCH] Destroy activity in onStop() Pixel Imprint will call onDestroy() whenever its menu is invisible. (https://source.corp.google.com/tm-dev/packages/apps/Settings/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java;l=547?sq=package:tm-dev) However, Screen lock should have the same behavior as Pixel Imprint but it doesn't. onDestroy() for Screen lock should be called whenever we exit the menu or the menu becomes invisible. Otherwise, the password may be leaked to RAM unexpectedly in some situations. Bug: 233373529 Test: manual Change-Id: Idc0c115fc2061d863f9cab2aed99c04340b827f8 --- src/com/android/settings/password/ChooseLockGeneric.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java index 3186a560a72..398e4b096c6 100644 --- a/src/com/android/settings/password/ChooseLockGeneric.java +++ b/src/com/android/settings/password/ChooseLockGeneric.java @@ -815,6 +815,14 @@ public class ChooseLockGeneric extends SettingsActivity { return intent; } + @Override + public void onStop() { + super.onStop(); + if (!getActivity().isChangingConfigurations() && !mWaitingForConfirmation) { + getActivity().finish(); + } + } + @Override public void onDestroy() { super.onDestroy();