From 852108800780fac2edfcaaa1285c17a99c79eea1 Mon Sep 17 00:00:00 2001 From: Ilya Matyukhin Date: Tue, 30 Aug 2022 19:55:38 +0000 Subject: [PATCH] Fix NPEs in AuthContainerView Bug: 243493226 Test: N/A Change-Id: Ia3a677302ec3a270d421f44e746c12a701eb41a6 --- .../biometrics/AuthContainerView.java | 42 +++++++++++++++---- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java index 86837366e0b70..436b756ea0cb6 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthContainerView.java @@ -657,30 +657,50 @@ public class AuthContainerView extends LinearLayout @Override public void onAuthenticationSucceeded(@Modality int modality) { - mBiometricView.onAuthenticationSucceeded(modality); + if (mBiometricView != null) { + mBiometricView.onAuthenticationSucceeded(modality); + } else { + Log.e(TAG, "onAuthenticationSucceeded(): mBiometricView is null"); + } } @Override public void onAuthenticationFailed(@Modality int modality, String failureReason) { - mFailedModalities.add(modality); - mBiometricView.onAuthenticationFailed(modality, failureReason); + if (mBiometricView != null) { + mFailedModalities.add(modality); + mBiometricView.onAuthenticationFailed(modality, failureReason); + } else { + Log.e(TAG, "onAuthenticationFailed(): mBiometricView is null"); + } } @Override public void onHelp(@Modality int modality, String help) { - mBiometricView.onHelp(modality, help); + if (mBiometricView != null) { + mBiometricView.onHelp(modality, help); + } else { + Log.e(TAG, "onHelp(): mBiometricView is null"); + } } @Override public void onError(@Modality int modality, String error) { - mBiometricView.onError(modality, error); + if (mBiometricView != null) { + mBiometricView.onError(modality, error); + } else { + Log.e(TAG, "onError(): mBiometricView is null"); + } } @Override public void onPointerDown() { - if (mBiometricView.onPointerDown(mFailedModalities)) { - Log.d(TAG, "retrying failed modalities (pointer down)"); - mBiometricCallback.onAction(AuthBiometricView.Callback.ACTION_BUTTON_TRY_AGAIN); + if (mBiometricView != null) { + if (mBiometricView.onPointerDown(mFailedModalities)) { + Log.d(TAG, "retrying failed modalities (pointer down)"); + mBiometricCallback.onAction(AuthBiometricView.Callback.ACTION_BUTTON_TRY_AGAIN); + } + } else { + Log.e(TAG, "onPointerDown(): mBiometricView is null"); } } @@ -715,7 +735,11 @@ public class AuthContainerView extends LinearLayout @Override public void animateToCredentialUI() { - mBiometricView.startTransitionToCredentialUI(); + if (mBiometricView != null) { + mBiometricView.startTransitionToCredentialUI(); + } else { + Log.e(TAG, "animateToCredentialUI(): mBiometricView is null"); + } } void animateAway(@AuthDialogCallback.DismissedReason int reason) {