Loading packages/SystemUI/res/layout/udfps_keyguard_view_internal.xml +2 −1 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,8 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/udfps_animation_view_internal" android:id="@+id/udfps_animation_view_internal" android:layout_width="match_parent" android:layout_width="match_parent" android:layout_height="match_parent"> android:layout_height="match_parent" android:contentDescription="@string/accessibility_fingerprint_label"> <!-- Background protection --> <!-- Background protection --> <ImageView <ImageView Loading packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -829,9 +829,9 @@ public class AuthController implements CoreStartable, CommandQueue.Callbacks, final Rect overlayBounds = new Rect( final Rect overlayBounds = new Rect( 0, /* left */ 0, /* left */ 0, /* top */ mCachedDisplayInfo.getNaturalHeight() / 2, /* top */ mCachedDisplayInfo.getNaturalWidth(), /* right */ mCachedDisplayInfo.getNaturalWidth(), /* right */ mCachedDisplayInfo.getNaturalHeight() /* botom */); mCachedDisplayInfo.getNaturalHeight() /* bottom */); mUdfpsOverlayParams = new UdfpsOverlayParams( mUdfpsOverlayParams = new UdfpsOverlayParams( mUdfpsBounds, mUdfpsBounds, Loading packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt +6 −1 Original line number Original line Diff line number Diff line Loading @@ -364,7 +364,12 @@ class UdfpsControllerOverlay @JvmOverloads constructor( if (accessibilityManager.isTouchExplorationEnabled && isEnrollment) { if (accessibilityManager.isTouchExplorationEnabled && isEnrollment) { Rect(overlayParams.sensorBounds) Rect(overlayParams.sensorBounds) } else { } else { Rect(overlayParams.overlayBounds) Rect( 0, 0, overlayParams.naturalDisplayWidth, overlayParams.naturalDisplayHeight ) } } } else { } else { Rect(overlayParams.sensorBounds) Rect(overlayParams.sensorBounds) Loading packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerOverlayTest.kt +20 −2 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,6 @@ import android.hardware.biometrics.BiometricOverlayConstants.REASON_ENROLL_ENROL import android.hardware.biometrics.BiometricOverlayConstants.ShowReason import android.hardware.biometrics.BiometricOverlayConstants.ShowReason import android.hardware.fingerprint.FingerprintManager import android.hardware.fingerprint.FingerprintManager import android.hardware.fingerprint.IUdfpsOverlayControllerCallback import android.hardware.fingerprint.IUdfpsOverlayControllerCallback import androidx.test.ext.junit.runners.AndroidJUnit4 import android.testing.TestableLooper.RunWithLooper import android.testing.TestableLooper.RunWithLooper import android.view.LayoutInflater import android.view.LayoutInflater import android.view.MotionEvent import android.view.MotionEvent Loading @@ -35,6 +34,7 @@ import android.view.Surface.Rotation import android.view.View import android.view.View import android.view.WindowManager import android.view.WindowManager import android.view.accessibility.AccessibilityManager import android.view.accessibility.AccessibilityManager import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import androidx.test.filters.SmallTest import com.android.keyguard.KeyguardUpdateMonitor import com.android.keyguard.KeyguardUpdateMonitor import com.android.settingslib.udfps.UdfpsOverlayParams import com.android.settingslib.udfps.UdfpsOverlayParams Loading Loading @@ -69,8 +69,8 @@ import org.mockito.Captor import org.mockito.Mock import org.mockito.Mock import org.mockito.Mockito.mock import org.mockito.Mockito.mock import org.mockito.Mockito.verify import org.mockito.Mockito.verify import org.mockito.Mockito.`when` as whenever import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoJUnit import org.mockito.Mockito.`when` as whenever private const val REQUEST_ID = 2L private const val REQUEST_ID = 2L Loading Loading @@ -340,4 +340,22 @@ class UdfpsControllerOverlayTest : SysuiTestCase() { assertThat(lp.height).isEqualTo(overlayParams.sensorBounds.height()) assertThat(lp.height).isEqualTo(overlayParams.sensorBounds.height()) } } } } @Test fun fullScreenOverlayWithNewTouchDetectionEnabled() = withRotation(ROTATION_0) { withReason(REASON_AUTH_KEYGUARD) { whenever(featureFlags.isEnabled(Flags.UDFPS_NEW_TOUCH_DETECTION)).thenReturn(true) controllerOverlay.show(udfpsController, overlayParams) verify(windowManager).addView( eq(controllerOverlay.overlayView), layoutParamsCaptor.capture() ) // Layout params should use natural display width and height val lp = layoutParamsCaptor.value assertThat(lp.width).isEqualTo(overlayParams.naturalDisplayWidth) assertThat(lp.height).isEqualTo(overlayParams.naturalDisplayHeight) } } } } Loading
packages/SystemUI/res/layout/udfps_keyguard_view_internal.xml +2 −1 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,8 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/udfps_animation_view_internal" android:id="@+id/udfps_animation_view_internal" android:layout_width="match_parent" android:layout_width="match_parent" android:layout_height="match_parent"> android:layout_height="match_parent" android:contentDescription="@string/accessibility_fingerprint_label"> <!-- Background protection --> <!-- Background protection --> <ImageView <ImageView Loading
packages/SystemUI/src/com/android/systemui/biometrics/AuthController.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -829,9 +829,9 @@ public class AuthController implements CoreStartable, CommandQueue.Callbacks, final Rect overlayBounds = new Rect( final Rect overlayBounds = new Rect( 0, /* left */ 0, /* left */ 0, /* top */ mCachedDisplayInfo.getNaturalHeight() / 2, /* top */ mCachedDisplayInfo.getNaturalWidth(), /* right */ mCachedDisplayInfo.getNaturalWidth(), /* right */ mCachedDisplayInfo.getNaturalHeight() /* botom */); mCachedDisplayInfo.getNaturalHeight() /* bottom */); mUdfpsOverlayParams = new UdfpsOverlayParams( mUdfpsOverlayParams = new UdfpsOverlayParams( mUdfpsBounds, mUdfpsBounds, Loading
packages/SystemUI/src/com/android/systemui/biometrics/UdfpsControllerOverlay.kt +6 −1 Original line number Original line Diff line number Diff line Loading @@ -364,7 +364,12 @@ class UdfpsControllerOverlay @JvmOverloads constructor( if (accessibilityManager.isTouchExplorationEnabled && isEnrollment) { if (accessibilityManager.isTouchExplorationEnabled && isEnrollment) { Rect(overlayParams.sensorBounds) Rect(overlayParams.sensorBounds) } else { } else { Rect(overlayParams.overlayBounds) Rect( 0, 0, overlayParams.naturalDisplayWidth, overlayParams.naturalDisplayHeight ) } } } else { } else { Rect(overlayParams.sensorBounds) Rect(overlayParams.sensorBounds) Loading
packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsControllerOverlayTest.kt +20 −2 Original line number Original line Diff line number Diff line Loading @@ -25,7 +25,6 @@ import android.hardware.biometrics.BiometricOverlayConstants.REASON_ENROLL_ENROL import android.hardware.biometrics.BiometricOverlayConstants.ShowReason import android.hardware.biometrics.BiometricOverlayConstants.ShowReason import android.hardware.fingerprint.FingerprintManager import android.hardware.fingerprint.FingerprintManager import android.hardware.fingerprint.IUdfpsOverlayControllerCallback import android.hardware.fingerprint.IUdfpsOverlayControllerCallback import androidx.test.ext.junit.runners.AndroidJUnit4 import android.testing.TestableLooper.RunWithLooper import android.testing.TestableLooper.RunWithLooper import android.view.LayoutInflater import android.view.LayoutInflater import android.view.MotionEvent import android.view.MotionEvent Loading @@ -35,6 +34,7 @@ import android.view.Surface.Rotation import android.view.View import android.view.View import android.view.WindowManager import android.view.WindowManager import android.view.accessibility.AccessibilityManager import android.view.accessibility.AccessibilityManager import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.filters.SmallTest import androidx.test.filters.SmallTest import com.android.keyguard.KeyguardUpdateMonitor import com.android.keyguard.KeyguardUpdateMonitor import com.android.settingslib.udfps.UdfpsOverlayParams import com.android.settingslib.udfps.UdfpsOverlayParams Loading Loading @@ -69,8 +69,8 @@ import org.mockito.Captor import org.mockito.Mock import org.mockito.Mock import org.mockito.Mockito.mock import org.mockito.Mockito.mock import org.mockito.Mockito.verify import org.mockito.Mockito.verify import org.mockito.Mockito.`when` as whenever import org.mockito.junit.MockitoJUnit import org.mockito.junit.MockitoJUnit import org.mockito.Mockito.`when` as whenever private const val REQUEST_ID = 2L private const val REQUEST_ID = 2L Loading Loading @@ -340,4 +340,22 @@ class UdfpsControllerOverlayTest : SysuiTestCase() { assertThat(lp.height).isEqualTo(overlayParams.sensorBounds.height()) assertThat(lp.height).isEqualTo(overlayParams.sensorBounds.height()) } } } } @Test fun fullScreenOverlayWithNewTouchDetectionEnabled() = withRotation(ROTATION_0) { withReason(REASON_AUTH_KEYGUARD) { whenever(featureFlags.isEnabled(Flags.UDFPS_NEW_TOUCH_DETECTION)).thenReturn(true) controllerOverlay.show(udfpsController, overlayParams) verify(windowManager).addView( eq(controllerOverlay.overlayView), layoutParamsCaptor.capture() ) // Layout params should use natural display width and height val lp = layoutParamsCaptor.value assertThat(lp.width).isEqualTo(overlayParams.naturalDisplayWidth) assertThat(lp.height).isEqualTo(overlayParams.naturalDisplayHeight) } } } }