diff options
11 files changed, 25 insertions, 54 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java index 81305f90e2b8..0b395a8760cf 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java @@ -223,7 +223,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard @Override public void onSwipeUp() { if (!mUpdateMonitor.isFaceDetectionRunning()) { - boolean didFaceAuthRun = mUpdateMonitor.requestFaceAuth(true, + boolean didFaceAuthRun = mUpdateMonitor.requestFaceAuth( FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER); mKeyguardSecurityCallback.userActivity(); if (didFaceAuthRun) { diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index 0351b411f222..bad75e8dd862 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -1631,7 +1631,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab @Override public void onUdfpsPointerDown(int sensorId) { mLogger.logUdfpsPointerDown(sensorId); - requestFaceAuth(true, FaceAuthApiRequestReason.UDFPS_POINTER_DOWN); + requestFaceAuth(FaceAuthApiRequestReason.UDFPS_POINTER_DOWN); } /** @@ -2372,14 +2372,12 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab /** * Requests face authentication if we're on a state where it's allowed. * This will re-trigger auth in case it fails. - * @param userInitiatedRequest true if the user explicitly requested face auth * @param reason One of the reasons {@link FaceAuthApiRequestReason} on why this API is being * invoked. * @return current face auth detection state, true if it is running. */ - public boolean requestFaceAuth(boolean userInitiatedRequest, - @FaceAuthApiRequestReason String reason) { - mLogger.logFaceAuthRequested(userInitiatedRequest, reason); + public boolean requestFaceAuth(@FaceAuthApiRequestReason String reason) { + mLogger.logFaceAuthRequested(reason); updateFaceListeningState(BIOMETRIC_ACTION_START, apiRequestReasonToUiEvent(reason)); return isFaceDetectionRunning(); } diff --git a/packages/SystemUI/src/com/android/keyguard/logging/KeyguardUpdateMonitorLogger.kt b/packages/SystemUI/src/com/android/keyguard/logging/KeyguardUpdateMonitorLogger.kt index 31fc3204a7f1..3308f5550bfc 100644 --- a/packages/SystemUI/src/com/android/keyguard/logging/KeyguardUpdateMonitorLogger.kt +++ b/packages/SystemUI/src/com/android/keyguard/logging/KeyguardUpdateMonitorLogger.kt @@ -111,11 +111,10 @@ class KeyguardUpdateMonitorLogger @Inject constructor( }, { "Face help received, msgId: $int1 msg: $str1" }) } - fun logFaceAuthRequested(userInitiatedRequest: Boolean, reason: String?) { + fun logFaceAuthRequested(reason: String?) { logBuffer.log(TAG, DEBUG, { - bool1 = userInitiatedRequest str1 = reason - }, { "requestFaceAuth() userInitiated=$bool1 reason=$str1" }) + }, { "requestFaceAuth() reason=$str1" }) } fun logFaceAuthSuccess(userId: Int) { diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java index b49d4523a765..96fe65f8fd40 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java @@ -859,9 +859,7 @@ public class UdfpsController implements DozeReceiver { playStartHaptic(); if (!mKeyguardUpdateMonitor.isFaceDetectionRunning()) { - mKeyguardUpdateMonitor.requestFaceAuth( - /* userInitiatedRequest */ false, - FaceAuthApiRequestReason.UDFPS_POINTER_DOWN); + mKeyguardUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.UDFPS_POINTER_DOWN); } } mOnFingerDown = true; diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java index 026ef0e80686..40b58b927f0a 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java @@ -2669,8 +2669,8 @@ public final class NotificationPanelViewController { // When expanding QS, let's authenticate the user if possible, // this will speed up notification actions. - if (height == 0) { - mCentralSurfaces.requestFaceAuth(false, FaceAuthApiRequestReason.QS_EXPANDED); + if (height == 0 && !mKeyguardStateController.canDismissLockScreen()) { + mUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.QS_EXPANDED); } } @@ -3928,7 +3928,7 @@ public final class NotificationPanelViewController { mShadeLog.v("onMiddleClicked on Keyguard, mDozingOnDown: false"); // Try triggering face auth, this "might" run. Check // KeyguardUpdateMonitor#shouldListenForFace to see when face auth won't run. - boolean didFaceAuthRun = mUpdateMonitor.requestFaceAuth(true, + boolean didFaceAuthRun = mUpdateMonitor.requestFaceAuth( FaceAuthApiRequestReason.NOTIFICATION_PANEL_CLICKED); if (didFaceAuthRun) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java index 169c90780926..75b444fbd297 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java @@ -41,7 +41,6 @@ import androidx.lifecycle.LifecycleOwner; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.statusbar.RegisterStatusBarResult; import com.android.keyguard.AuthKeyguardMessageArea; -import com.android.keyguard.FaceAuthApiRequestReason; import com.android.systemui.Dumpable; import com.android.systemui.animation.ActivityLaunchAnimator; import com.android.systemui.animation.RemoteTransitionAdapter; @@ -230,13 +229,6 @@ public interface CentralSurfaces extends Dumpable, ActivityStarter, LifecycleOwn boolean isShadeDisabled(); - /** - * Request face auth to initiated - * @param userInitiatedRequest Whether this was a user initiated request - * @param reason Reason why face auth was triggered. - */ - void requestFaceAuth(boolean userInitiatedRequest, @FaceAuthApiRequestReason String reason); - @Override void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade, int flags); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java index 9da502767a45..409cad0aecc5 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java @@ -123,7 +123,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.internal.statusbar.IStatusBarService; import com.android.internal.statusbar.RegisterStatusBarResult; import com.android.keyguard.AuthKeyguardMessageArea; -import com.android.keyguard.FaceAuthApiRequestReason; import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.keyguard.ViewMediatorCallback; @@ -1632,18 +1631,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { return (mDisabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0; } - /** - * Asks {@link KeyguardUpdateMonitor} to run face auth. - */ - @Override - public void requestFaceAuth(boolean userInitiatedRequest, - @FaceAuthApiRequestReason String reason) { - if (!mKeyguardStateController.canDismissLockScreen()) { - mKeyguardUpdateMonitor.requestFaceAuth( - userInitiatedRequest, reason); - } - } - private void updateReportRejectedTouchVisibility() { if (mReportRejectedTouch == null) { return; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardLiftController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardLiftController.kt index 5e26cf062b58..4550cb2987ea 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardLiftController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardLiftController.kt @@ -73,7 +73,6 @@ class KeyguardLiftController @Inject constructor( isListening = false updateListeningState() keyguardUpdateMonitor.requestFaceAuth( - true, FaceAuthApiRequestReason.PICK_UP_GESTURE_TRIGGERED ) keyguardUpdateMonitor.requestActiveUnlock( diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java index b885d546c517..f9bec65ab677 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java @@ -486,7 +486,7 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase { registeredSwipeListener.onSwipeUp(); - verify(mKeyguardUpdateMonitor).requestFaceAuth(true, + verify(mKeyguardUpdateMonitor).requestFaceAuth( FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER); } @@ -499,16 +499,15 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase { registeredSwipeListener.onSwipeUp(); verify(mKeyguardUpdateMonitor, never()) - .requestFaceAuth(true, - FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER); + .requestFaceAuth(FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER); } @Test public void onSwipeUp_whenFaceDetectionIsTriggered_hidesBouncerMessage() { KeyguardSecurityContainer.SwipeListener registeredSwipeListener = getRegisteredSwipeListener(); - when(mKeyguardUpdateMonitor.requestFaceAuth(true, - FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER)).thenReturn(true); + when(mKeyguardUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER)) + .thenReturn(true); setupGetSecurityView(); registeredSwipeListener.onSwipeUp(); @@ -520,8 +519,8 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase { public void onSwipeUp_whenFaceDetectionIsNotTriggered_retainsBouncerMessage() { KeyguardSecurityContainer.SwipeListener registeredSwipeListener = getRegisteredSwipeListener(); - when(mKeyguardUpdateMonitor.requestFaceAuth(true, - FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER)).thenReturn(false); + when(mKeyguardUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER)) + .thenReturn(false); setupGetSecurityView(); registeredSwipeListener.onSwipeUp(); diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java index 1238eafd0aea..5104f84f3bc6 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java @@ -676,7 +676,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { bouncerFullyVisibleAndNotGoingToSleep(); mTestableLooper.processAllMessages(); - boolean didFaceAuthRun = mKeyguardUpdateMonitor.requestFaceAuth(true, + boolean didFaceAuthRun = mKeyguardUpdateMonitor.requestFaceAuth( NOTIFICATION_PANEL_CLICKED); assertThat(didFaceAuthRun).isTrue(); @@ -688,7 +688,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { biometricsDisabledForCurrentUser(); mTestableLooper.processAllMessages(); - boolean didFaceAuthRun = mKeyguardUpdateMonitor.requestFaceAuth(true, + boolean didFaceAuthRun = mKeyguardUpdateMonitor.requestFaceAuth( NOTIFICATION_PANEL_CLICKED); assertThat(didFaceAuthRun).isFalse(); @@ -707,8 +707,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { // Stop scanning when bouncer becomes visible setKeyguardBouncerVisibility(true); clearInvocations(mFaceManager); - mKeyguardUpdateMonitor.requestFaceAuth(true, - FaceAuthApiRequestReason.UDFPS_POINTER_DOWN); + mKeyguardUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.UDFPS_POINTER_DOWN); verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(), anyBoolean()); } @@ -1695,7 +1694,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { } private void triggerSuccessfulFaceAuth() { - mKeyguardUpdateMonitor.requestFaceAuth(true, FaceAuthApiRequestReason.UDFPS_POINTER_DOWN); + mKeyguardUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.UDFPS_POINTER_DOWN); verify(mFaceManager).authenticate(any(), any(), mAuthenticationCallbackCaptor.capture(), diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java index 300843f3da95..ac4dd49208c2 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationPanelViewControllerTest.java @@ -1594,7 +1594,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase { mTouchHandler.onTouch(mock(View.class), mDownMotionEvent); mEmptySpaceClickListenerCaptor.getValue().onEmptySpaceClicked(0, 0); - verify(mUpdateMonitor).requestFaceAuth(true, + verify(mUpdateMonitor).requestFaceAuth( FaceAuthApiRequestReason.NOTIFICATION_PANEL_CLICKED); } @@ -1604,7 +1604,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase { mNotificationPanelViewController.mStatusBarStateListener; statusBarStateListener.onStateChanged(KEYGUARD); mNotificationPanelViewController.setDozing(false, false); - when(mUpdateMonitor.requestFaceAuth(true, NOTIFICATION_PANEL_CLICKED)).thenReturn(false); + when(mUpdateMonitor.requestFaceAuth(NOTIFICATION_PANEL_CLICKED)).thenReturn(false); // This sets the dozing state that is read when onMiddleClicked is eventually invoked. mTouchHandler.onTouch(mock(View.class), mDownMotionEvent); @@ -1619,7 +1619,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase { mNotificationPanelViewController.mStatusBarStateListener; statusBarStateListener.onStateChanged(KEYGUARD); mNotificationPanelViewController.setDozing(false, false); - when(mUpdateMonitor.requestFaceAuth(true, NOTIFICATION_PANEL_CLICKED)).thenReturn(true); + when(mUpdateMonitor.requestFaceAuth(NOTIFICATION_PANEL_CLICKED)).thenReturn(true); // This sets the dozing state that is read when onMiddleClicked is eventually invoked. mTouchHandler.onTouch(mock(View.class), mDownMotionEvent); @@ -1639,7 +1639,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase { mTouchHandler.onTouch(mock(View.class), mDownMotionEvent); mEmptySpaceClickListenerCaptor.getValue().onEmptySpaceClicked(0, 0); - verify(mUpdateMonitor, never()).requestFaceAuth(anyBoolean(), anyString()); + verify(mUpdateMonitor, never()).requestFaceAuth(anyString()); } @Test @@ -1650,7 +1650,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase { mEmptySpaceClickListenerCaptor.getValue().onEmptySpaceClicked(0, 0); - verify(mUpdateMonitor, never()).requestFaceAuth(anyBoolean(), anyString()); + verify(mUpdateMonitor, never()).requestFaceAuth(anyString()); } |