Merge "Remove logging only boolean parameter from KeyguardUpdateMonitor#requestFaceAuth" into tm-qpr-dev am: 5454f0bb82

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20256535

Change-Id: Ic12a9ecedbeb5368a4d47478faaca2ff073f2fd8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Chandru S
2022-10-28 10:27:09 +00:00
committed by Automerger Merge Worker
11 changed files with 25 additions and 54 deletions

View File

@@ -223,7 +223,7 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard
@Override @Override
public void onSwipeUp() { public void onSwipeUp() {
if (!mUpdateMonitor.isFaceDetectionRunning()) { if (!mUpdateMonitor.isFaceDetectionRunning()) {
boolean didFaceAuthRun = mUpdateMonitor.requestFaceAuth(true, boolean didFaceAuthRun = mUpdateMonitor.requestFaceAuth(
FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER); FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER);
mKeyguardSecurityCallback.userActivity(); mKeyguardSecurityCallback.userActivity();
if (didFaceAuthRun) { if (didFaceAuthRun) {

View File

@@ -1631,7 +1631,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
@Override @Override
public void onUdfpsPointerDown(int sensorId) { public void onUdfpsPointerDown(int sensorId) {
mLogger.logUdfpsPointerDown(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. * Requests face authentication if we're on a state where it's allowed.
* This will re-trigger auth in case it fails. * 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 * @param reason One of the reasons {@link FaceAuthApiRequestReason} on why this API is being
* invoked. * invoked.
* @return current face auth detection state, true if it is running. * @return current face auth detection state, true if it is running.
*/ */
public boolean requestFaceAuth(boolean userInitiatedRequest, public boolean requestFaceAuth(@FaceAuthApiRequestReason String reason) {
@FaceAuthApiRequestReason String reason) { mLogger.logFaceAuthRequested(reason);
mLogger.logFaceAuthRequested(userInitiatedRequest, reason);
updateFaceListeningState(BIOMETRIC_ACTION_START, apiRequestReasonToUiEvent(reason)); updateFaceListeningState(BIOMETRIC_ACTION_START, apiRequestReasonToUiEvent(reason));
return isFaceDetectionRunning(); return isFaceDetectionRunning();
} }

View File

@@ -111,11 +111,10 @@ class KeyguardUpdateMonitorLogger @Inject constructor(
}, { "Face help received, msgId: $int1 msg: $str1" }) }, { "Face help received, msgId: $int1 msg: $str1" })
} }
fun logFaceAuthRequested(userInitiatedRequest: Boolean, reason: String?) { fun logFaceAuthRequested(reason: String?) {
logBuffer.log(TAG, DEBUG, { logBuffer.log(TAG, DEBUG, {
bool1 = userInitiatedRequest
str1 = reason str1 = reason
}, { "requestFaceAuth() userInitiated=$bool1 reason=$str1" }) }, { "requestFaceAuth() reason=$str1" })
} }
fun logFaceAuthSuccess(userId: Int) { fun logFaceAuthSuccess(userId: Int) {

View File

@@ -859,9 +859,7 @@ public class UdfpsController implements DozeReceiver {
playStartHaptic(); playStartHaptic();
if (!mKeyguardUpdateMonitor.isFaceDetectionRunning()) { if (!mKeyguardUpdateMonitor.isFaceDetectionRunning()) {
mKeyguardUpdateMonitor.requestFaceAuth( mKeyguardUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.UDFPS_POINTER_DOWN);
/* userInitiatedRequest */ false,
FaceAuthApiRequestReason.UDFPS_POINTER_DOWN);
} }
} }
mOnFingerDown = true; mOnFingerDown = true;

View File

@@ -2669,8 +2669,8 @@ public final class NotificationPanelViewController {
// When expanding QS, let's authenticate the user if possible, // When expanding QS, let's authenticate the user if possible,
// this will speed up notification actions. // this will speed up notification actions.
if (height == 0) { if (height == 0 && !mKeyguardStateController.canDismissLockScreen()) {
mCentralSurfaces.requestFaceAuth(false, FaceAuthApiRequestReason.QS_EXPANDED); mUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.QS_EXPANDED);
} }
} }
@@ -3928,7 +3928,7 @@ public final class NotificationPanelViewController {
mShadeLog.v("onMiddleClicked on Keyguard, mDozingOnDown: false"); mShadeLog.v("onMiddleClicked on Keyguard, mDozingOnDown: false");
// Try triggering face auth, this "might" run. Check // Try triggering face auth, this "might" run. Check
// KeyguardUpdateMonitor#shouldListenForFace to see when face auth won't run. // KeyguardUpdateMonitor#shouldListenForFace to see when face auth won't run.
boolean didFaceAuthRun = mUpdateMonitor.requestFaceAuth(true, boolean didFaceAuthRun = mUpdateMonitor.requestFaceAuth(
FaceAuthApiRequestReason.NOTIFICATION_PANEL_CLICKED); FaceAuthApiRequestReason.NOTIFICATION_PANEL_CLICKED);
if (didFaceAuthRun) { if (didFaceAuthRun) {

View File

@@ -41,7 +41,6 @@ import androidx.lifecycle.LifecycleOwner;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.statusbar.RegisterStatusBarResult; import com.android.internal.statusbar.RegisterStatusBarResult;
import com.android.keyguard.AuthKeyguardMessageArea; import com.android.keyguard.AuthKeyguardMessageArea;
import com.android.keyguard.FaceAuthApiRequestReason;
import com.android.systemui.Dumpable; import com.android.systemui.Dumpable;
import com.android.systemui.animation.ActivityLaunchAnimator; import com.android.systemui.animation.ActivityLaunchAnimator;
import com.android.systemui.animation.RemoteTransitionAdapter; import com.android.systemui.animation.RemoteTransitionAdapter;
@@ -230,13 +229,6 @@ public interface CentralSurfaces extends Dumpable, ActivityStarter, LifecycleOwn
boolean isShadeDisabled(); 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 @Override
void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade, void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade,
int flags); int flags);

View File

@@ -123,7 +123,6 @@ import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.statusbar.IStatusBarService; import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.statusbar.RegisterStatusBarResult; import com.android.internal.statusbar.RegisterStatusBarResult;
import com.android.keyguard.AuthKeyguardMessageArea; import com.android.keyguard.AuthKeyguardMessageArea;
import com.android.keyguard.FaceAuthApiRequestReason;
import com.android.keyguard.KeyguardUpdateMonitor; import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.keyguard.KeyguardUpdateMonitorCallback;
import com.android.keyguard.ViewMediatorCallback; import com.android.keyguard.ViewMediatorCallback;
@@ -1632,18 +1631,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
return (mDisabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) != 0; 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() { private void updateReportRejectedTouchVisibility() {
if (mReportRejectedTouch == null) { if (mReportRejectedTouch == null) {
return; return;

View File

@@ -73,7 +73,6 @@ class KeyguardLiftController @Inject constructor(
isListening = false isListening = false
updateListeningState() updateListeningState()
keyguardUpdateMonitor.requestFaceAuth( keyguardUpdateMonitor.requestFaceAuth(
true,
FaceAuthApiRequestReason.PICK_UP_GESTURE_TRIGGERED FaceAuthApiRequestReason.PICK_UP_GESTURE_TRIGGERED
) )
keyguardUpdateMonitor.requestActiveUnlock( keyguardUpdateMonitor.requestActiveUnlock(

View File

@@ -486,7 +486,7 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
registeredSwipeListener.onSwipeUp(); registeredSwipeListener.onSwipeUp();
verify(mKeyguardUpdateMonitor).requestFaceAuth(true, verify(mKeyguardUpdateMonitor).requestFaceAuth(
FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER); FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER);
} }
@@ -499,16 +499,15 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
registeredSwipeListener.onSwipeUp(); registeredSwipeListener.onSwipeUp();
verify(mKeyguardUpdateMonitor, never()) verify(mKeyguardUpdateMonitor, never())
.requestFaceAuth(true, .requestFaceAuth(FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER);
FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER);
} }
@Test @Test
public void onSwipeUp_whenFaceDetectionIsTriggered_hidesBouncerMessage() { public void onSwipeUp_whenFaceDetectionIsTriggered_hidesBouncerMessage() {
KeyguardSecurityContainer.SwipeListener registeredSwipeListener = KeyguardSecurityContainer.SwipeListener registeredSwipeListener =
getRegisteredSwipeListener(); getRegisteredSwipeListener();
when(mKeyguardUpdateMonitor.requestFaceAuth(true, when(mKeyguardUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER))
FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER)).thenReturn(true); .thenReturn(true);
setupGetSecurityView(); setupGetSecurityView();
registeredSwipeListener.onSwipeUp(); registeredSwipeListener.onSwipeUp();
@@ -520,8 +519,8 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase {
public void onSwipeUp_whenFaceDetectionIsNotTriggered_retainsBouncerMessage() { public void onSwipeUp_whenFaceDetectionIsNotTriggered_retainsBouncerMessage() {
KeyguardSecurityContainer.SwipeListener registeredSwipeListener = KeyguardSecurityContainer.SwipeListener registeredSwipeListener =
getRegisteredSwipeListener(); getRegisteredSwipeListener();
when(mKeyguardUpdateMonitor.requestFaceAuth(true, when(mKeyguardUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER))
FaceAuthApiRequestReason.SWIPE_UP_ON_BOUNCER)).thenReturn(false); .thenReturn(false);
setupGetSecurityView(); setupGetSecurityView();
registeredSwipeListener.onSwipeUp(); registeredSwipeListener.onSwipeUp();

View File

@@ -676,7 +676,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
bouncerFullyVisibleAndNotGoingToSleep(); bouncerFullyVisibleAndNotGoingToSleep();
mTestableLooper.processAllMessages(); mTestableLooper.processAllMessages();
boolean didFaceAuthRun = mKeyguardUpdateMonitor.requestFaceAuth(true, boolean didFaceAuthRun = mKeyguardUpdateMonitor.requestFaceAuth(
NOTIFICATION_PANEL_CLICKED); NOTIFICATION_PANEL_CLICKED);
assertThat(didFaceAuthRun).isTrue(); assertThat(didFaceAuthRun).isTrue();
@@ -688,7 +688,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
biometricsDisabledForCurrentUser(); biometricsDisabledForCurrentUser();
mTestableLooper.processAllMessages(); mTestableLooper.processAllMessages();
boolean didFaceAuthRun = mKeyguardUpdateMonitor.requestFaceAuth(true, boolean didFaceAuthRun = mKeyguardUpdateMonitor.requestFaceAuth(
NOTIFICATION_PANEL_CLICKED); NOTIFICATION_PANEL_CLICKED);
assertThat(didFaceAuthRun).isFalse(); assertThat(didFaceAuthRun).isFalse();
@@ -707,8 +707,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
// Stop scanning when bouncer becomes visible // Stop scanning when bouncer becomes visible
setKeyguardBouncerVisibility(true); setKeyguardBouncerVisibility(true);
clearInvocations(mFaceManager); clearInvocations(mFaceManager);
mKeyguardUpdateMonitor.requestFaceAuth(true, mKeyguardUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.UDFPS_POINTER_DOWN);
FaceAuthApiRequestReason.UDFPS_POINTER_DOWN);
verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(), verify(mFaceManager, never()).authenticate(any(), any(), any(), any(), anyInt(),
anyBoolean()); anyBoolean());
} }
@@ -1695,7 +1694,7 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
} }
private void triggerSuccessfulFaceAuth() { private void triggerSuccessfulFaceAuth() {
mKeyguardUpdateMonitor.requestFaceAuth(true, FaceAuthApiRequestReason.UDFPS_POINTER_DOWN); mKeyguardUpdateMonitor.requestFaceAuth(FaceAuthApiRequestReason.UDFPS_POINTER_DOWN);
verify(mFaceManager).authenticate(any(), verify(mFaceManager).authenticate(any(),
any(), any(),
mAuthenticationCallbackCaptor.capture(), mAuthenticationCallbackCaptor.capture(),

View File

@@ -1594,7 +1594,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
mTouchHandler.onTouch(mock(View.class), mDownMotionEvent); mTouchHandler.onTouch(mock(View.class), mDownMotionEvent);
mEmptySpaceClickListenerCaptor.getValue().onEmptySpaceClicked(0, 0); mEmptySpaceClickListenerCaptor.getValue().onEmptySpaceClicked(0, 0);
verify(mUpdateMonitor).requestFaceAuth(true, verify(mUpdateMonitor).requestFaceAuth(
FaceAuthApiRequestReason.NOTIFICATION_PANEL_CLICKED); FaceAuthApiRequestReason.NOTIFICATION_PANEL_CLICKED);
} }
@@ -1604,7 +1604,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
mNotificationPanelViewController.mStatusBarStateListener; mNotificationPanelViewController.mStatusBarStateListener;
statusBarStateListener.onStateChanged(KEYGUARD); statusBarStateListener.onStateChanged(KEYGUARD);
mNotificationPanelViewController.setDozing(false, false); 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. // This sets the dozing state that is read when onMiddleClicked is eventually invoked.
mTouchHandler.onTouch(mock(View.class), mDownMotionEvent); mTouchHandler.onTouch(mock(View.class), mDownMotionEvent);
@@ -1619,7 +1619,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
mNotificationPanelViewController.mStatusBarStateListener; mNotificationPanelViewController.mStatusBarStateListener;
statusBarStateListener.onStateChanged(KEYGUARD); statusBarStateListener.onStateChanged(KEYGUARD);
mNotificationPanelViewController.setDozing(false, false); 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. // This sets the dozing state that is read when onMiddleClicked is eventually invoked.
mTouchHandler.onTouch(mock(View.class), mDownMotionEvent); mTouchHandler.onTouch(mock(View.class), mDownMotionEvent);
@@ -1639,7 +1639,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
mTouchHandler.onTouch(mock(View.class), mDownMotionEvent); mTouchHandler.onTouch(mock(View.class), mDownMotionEvent);
mEmptySpaceClickListenerCaptor.getValue().onEmptySpaceClicked(0, 0); mEmptySpaceClickListenerCaptor.getValue().onEmptySpaceClicked(0, 0);
verify(mUpdateMonitor, never()).requestFaceAuth(anyBoolean(), anyString()); verify(mUpdateMonitor, never()).requestFaceAuth(anyString());
} }
@Test @Test
@@ -1650,7 +1650,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
mEmptySpaceClickListenerCaptor.getValue().onEmptySpaceClicked(0, 0); mEmptySpaceClickListenerCaptor.getValue().onEmptySpaceClicked(0, 0);
verify(mUpdateMonitor, never()).requestFaceAuth(anyBoolean(), anyString()); verify(mUpdateMonitor, never()).requestFaceAuth(anyString());
} }