From 19be74dd9c9c6272eaacdd161a258a8291eb54ec Mon Sep 17 00:00:00 2001 From: Austin Delgado Date: Wed, 25 Jan 2023 15:18:27 -0800 Subject: [PATCH] Fix race condition in UdfpsKeyguardView init - Fixes the NPE crash when auth starts/stops repeatedly - Fixes the UDFPS icon occasionally exploding in size Bug: 263741015 Bug: 261519205 Test: atest SystemUITests:com.android.systemui.biometrics Change-Id: I5f82d6bdb1f0d2e6c6660ebe9bf861d14ffcac30 --- .../biometrics/UdfpsControllerOverlay.kt | 4 +- .../biometrics/UdfpsEnrollViewController.java | 5 +-- .../biometrics/UdfpsKeyguardView.java | 38 +++++++++---------- .../biometrics/UdfpsKeyguardViewController.kt | 1 + .../biometrics/UdfpsControllerOverlayTest.kt | 8 +++- 5 files changed, 28 insertions(+), 28 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt index b4b3fae41710f..668078734ffe8 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt @@ -262,7 +262,9 @@ class UdfpsControllerOverlay @JvmOverloads constructor( } REASON_AUTH_KEYGUARD -> { UdfpsKeyguardViewController( - view.addUdfpsView(R.layout.udfps_keyguard_view), + view.addUdfpsView(R.layout.udfps_keyguard_view) { + updateSensorLocation(sensorBounds) + }, statusBarStateController, shadeExpansionStateManager, statusBarKeyguardViewManager, diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollViewController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollViewController.java index 40176654a8ec9..c82e6e158a584 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollViewController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsEnrollViewController.java @@ -68,10 +68,7 @@ public class UdfpsEnrollViewController extends UdfpsAnimationViewController