Loading packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/UdfpsControllerTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -364,6 +364,25 @@ public class UdfpsControllerTest extends SysuiTestCase { TEST_REQUEST_ID, mOpticalProps.sensorId); } @Test public void showUdfpsOverlay_invokedTwice_doesNotNotifyListenerSecondTime() throws RemoteException { mOverlayController.showUdfpsOverlay(TEST_REQUEST_ID, mOpticalProps.sensorId, BiometricRequestConstants.REASON_AUTH_KEYGUARD, mUdfpsOverlayControllerCallback); mFgExecutor.runAllReady(); verify(mFingerprintManager).onUdfpsUiEvent(FingerprintManager.UDFPS_UI_OVERLAY_SHOWN, TEST_REQUEST_ID, mOpticalProps.sensorId); reset(mFingerprintManager); // Second attempt should do nothing mOverlayController.showUdfpsOverlay(TEST_REQUEST_ID, mOpticalProps.sensorId, BiometricRequestConstants.REASON_AUTH_KEYGUARD, mUdfpsOverlayControllerCallback); mFgExecutor.runAllReady(); verify(mFingerprintManager, never()).onUdfpsUiEvent(FingerprintManager.UDFPS_UI_OVERLAY_SHOWN, TEST_REQUEST_ID, mOpticalProps.sensorId); } @Test public void testSubscribesToOrientationChangesWhenShowingOverlay() throws Exception { mOverlayController.showUdfpsOverlay(TEST_REQUEST_ID, mOpticalProps.sensorId, Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +7 −2 Original line number Diff line number Diff line Loading @@ -814,6 +814,11 @@ public class UdfpsController implements DozeReceiver, Dumpable { private void showUdfpsOverlay(@NonNull UdfpsControllerOverlay overlay) { mExecution.assertIsMainThread(); if (mOverlay != null) { Log.d(TAG, "showUdfpsOverlay | the overlay is already showing"); return; } mOverlay = overlay; final int requestReason = overlay.getRequestReason(); if (requestReason == REASON_AUTH_KEYGUARD Loading @@ -823,7 +828,7 @@ public class UdfpsController implements DozeReceiver, Dumpable { return; } if (overlay.show(this, mOverlayParams)) { Log.v(TAG, "showUdfpsOverlay | adding window reason=" + requestReason); Log.d(TAG, "showUdfpsOverlay | adding window reason=" + requestReason); mOnFingerDown = false; mAttemptedToDismissKeyguard = false; mOrientationListener.enable(); Loading @@ -832,7 +837,7 @@ public class UdfpsController implements DozeReceiver, Dumpable { overlay.getRequestId(), mSensorProps.sensorId); } } else { Log.v(TAG, "showUdfpsOverlay | the overlay is already showing"); Log.d(TAG, "showUdfpsOverlay | the overlay is already showing"); } } Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt +2 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import android.view.WindowManager import android.view.accessibility.AccessibilityManager import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener import androidx.annotation.VisibleForTesting import com.android.app.tracing.coroutines.launchTraced as launch import com.android.app.viewcapture.ViewCaptureAwareWindowManager import com.android.keyguard.KeyguardUpdateMonitor import com.android.systemui.animation.ActivityTransitionAnimator Loading Loading @@ -73,7 +74,6 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.map import com.android.app.tracing.coroutines.launchTraced as launch private const val TAG = "UdfpsControllerOverlay" Loading Loading @@ -245,7 +245,7 @@ constructor( return true } Log.v(TAG, "showUdfpsOverlay | the overlay is already showing") Log.d(TAG, "showUdfpsOverlay | the overlay is already showing") return false } Loading Loading
packages/SystemUI/multivalentTests/src/com/android/systemui/biometrics/UdfpsControllerTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -364,6 +364,25 @@ public class UdfpsControllerTest extends SysuiTestCase { TEST_REQUEST_ID, mOpticalProps.sensorId); } @Test public void showUdfpsOverlay_invokedTwice_doesNotNotifyListenerSecondTime() throws RemoteException { mOverlayController.showUdfpsOverlay(TEST_REQUEST_ID, mOpticalProps.sensorId, BiometricRequestConstants.REASON_AUTH_KEYGUARD, mUdfpsOverlayControllerCallback); mFgExecutor.runAllReady(); verify(mFingerprintManager).onUdfpsUiEvent(FingerprintManager.UDFPS_UI_OVERLAY_SHOWN, TEST_REQUEST_ID, mOpticalProps.sensorId); reset(mFingerprintManager); // Second attempt should do nothing mOverlayController.showUdfpsOverlay(TEST_REQUEST_ID, mOpticalProps.sensorId, BiometricRequestConstants.REASON_AUTH_KEYGUARD, mUdfpsOverlayControllerCallback); mFgExecutor.runAllReady(); verify(mFingerprintManager, never()).onUdfpsUiEvent(FingerprintManager.UDFPS_UI_OVERLAY_SHOWN, TEST_REQUEST_ID, mOpticalProps.sensorId); } @Test public void testSubscribesToOrientationChangesWhenShowingOverlay() throws Exception { mOverlayController.showUdfpsOverlay(TEST_REQUEST_ID, mOpticalProps.sensorId, Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsController.java +7 −2 Original line number Diff line number Diff line Loading @@ -814,6 +814,11 @@ public class UdfpsController implements DozeReceiver, Dumpable { private void showUdfpsOverlay(@NonNull UdfpsControllerOverlay overlay) { mExecution.assertIsMainThread(); if (mOverlay != null) { Log.d(TAG, "showUdfpsOverlay | the overlay is already showing"); return; } mOverlay = overlay; final int requestReason = overlay.getRequestReason(); if (requestReason == REASON_AUTH_KEYGUARD Loading @@ -823,7 +828,7 @@ public class UdfpsController implements DozeReceiver, Dumpable { return; } if (overlay.show(this, mOverlayParams)) { Log.v(TAG, "showUdfpsOverlay | adding window reason=" + requestReason); Log.d(TAG, "showUdfpsOverlay | adding window reason=" + requestReason); mOnFingerDown = false; mAttemptedToDismissKeyguard = false; mOrientationListener.enable(); Loading @@ -832,7 +837,7 @@ public class UdfpsController implements DozeReceiver, Dumpable { overlay.getRequestId(), mSensorProps.sensorId); } } else { Log.v(TAG, "showUdfpsOverlay | the overlay is already showing"); Log.d(TAG, "showUdfpsOverlay | the overlay is already showing"); } } Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt +2 −2 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import android.view.WindowManager import android.view.accessibility.AccessibilityManager import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener import androidx.annotation.VisibleForTesting import com.android.app.tracing.coroutines.launchTraced as launch import com.android.app.viewcapture.ViewCaptureAwareWindowManager import com.android.keyguard.KeyguardUpdateMonitor import com.android.systemui.animation.ActivityTransitionAnimator Loading Loading @@ -73,7 +74,6 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.map import com.android.app.tracing.coroutines.launchTraced as launch private const val TAG = "UdfpsControllerOverlay" Loading Loading @@ -245,7 +245,7 @@ constructor( return true } Log.v(TAG, "showUdfpsOverlay | the overlay is already showing") Log.d(TAG, "showUdfpsOverlay | the overlay is already showing") return false } Loading