From 8858de44789cf1d8cd14b3831246924f7b51e731 Mon Sep 17 00:00:00 2001 From: Curtis Belmonte Date: Thu, 1 Jul 2021 11:14:11 -0700 Subject: [PATCH] Don't attempt caching for BiometricManager.Strings Always fetch the latest requested string when a getter method of BiometricManager.Strings is called, rather than attempted to cache the strings. Test: atest BiometricManagerTest Fixes: 192573011 Change-Id: Ic73e2d0092d200e5912084e1b8f4efdb81bbf2d8 --- .../hardware/biometrics/BiometricManager.java | 49 +++++++------------ 1 file changed, 18 insertions(+), 31 deletions(-) diff --git a/core/java/android/hardware/biometrics/BiometricManager.java b/core/java/android/hardware/biometrics/BiometricManager.java index 0ec508a8c9bf8..ada51559a38d7 100644 --- a/core/java/android/hardware/biometrics/BiometricManager.java +++ b/core/java/android/hardware/biometrics/BiometricManager.java @@ -223,10 +223,6 @@ public class BiometricManager { @NonNull private final IAuthService mService; @Authenticators.Types int mAuthenticators; - @Nullable CharSequence mButtonLabel; - @Nullable CharSequence mPromptMessage; - @Nullable CharSequence mSettingName; - private Strings(@NonNull Context context, @NonNull IAuthService service, @Authenticators.Types int authenticators) { mContext = context; @@ -259,16 +255,13 @@ public class BiometricManager { @RequiresPermission(USE_BIOMETRIC) @Nullable public CharSequence getButtonLabel() { - if (mButtonLabel == null) { - final int userId = mContext.getUserId(); - final String opPackageName = mContext.getOpPackageName(); - try { - mButtonLabel = mService.getButtonLabel(userId, opPackageName, mAuthenticators); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } + final int userId = mContext.getUserId(); + final String opPackageName = mContext.getOpPackageName(); + try { + return mService.getButtonLabel(userId, opPackageName, mAuthenticators); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); } - return mButtonLabel; } /** @@ -296,16 +289,13 @@ public class BiometricManager { @RequiresPermission(USE_BIOMETRIC) @Nullable public CharSequence getPromptMessage() { - if (mPromptMessage == null) { - final int userId = mContext.getUserId(); - final String opPackageName = mContext.getOpPackageName(); - try { - return mService.getPromptMessage(userId, opPackageName, mAuthenticators); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } + final int userId = mContext.getUserId(); + final String opPackageName = mContext.getOpPackageName(); + try { + return mService.getPromptMessage(userId, opPackageName, mAuthenticators); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); } - return mPromptMessage; } /** @@ -335,16 +325,13 @@ public class BiometricManager { @RequiresPermission(USE_BIOMETRIC) @Nullable public CharSequence getSettingName() { - if (mSettingName == null) { - final int userId = mContext.getUserId(); - final String opPackageName = mContext.getOpPackageName(); - try { - return mService.getSettingName(userId, opPackageName, mAuthenticators); - } catch (RemoteException e) { - throw e.rethrowFromSystemServer(); - } + final int userId = mContext.getUserId(); + final String opPackageName = mContext.getOpPackageName(); + try { + return mService.getSettingName(userId, opPackageName, mAuthenticators); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); } - return mSettingName; } }