Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6449de95 authored by Austin Delgado's avatar Austin Delgado Committed by Automerger Merge Worker
Browse files

Merge "Support talkback with new Udfps Overlay on keyguard" into udc-dev am: 2c934288

parents 7c89f7ed 2c934288
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -20,7 +20,8 @@
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/udfps_animation_view_internal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    android:layout_height="match_parent"
    android:contentDescription="@string/accessibility_fingerprint_label">

    <!-- Background protection -->
    <ImageView
+2 −2
Original line number Diff line number Diff line
@@ -829,9 +829,9 @@ public class AuthController implements CoreStartable, CommandQueue.Callbacks,

            final Rect overlayBounds = new Rect(
                    0, /* left */
                    0, /* top */
                    mCachedDisplayInfo.getNaturalHeight() / 2, /* top */
                    mCachedDisplayInfo.getNaturalWidth(), /* right */
                    mCachedDisplayInfo.getNaturalHeight() /* botom */);
                    mCachedDisplayInfo.getNaturalHeight() /* bottom */);

            mUdfpsOverlayParams = new UdfpsOverlayParams(
                    mUdfpsBounds,
+6 −1
Original line number Diff line number Diff line
@@ -364,7 +364,12 @@ class UdfpsControllerOverlay @JvmOverloads constructor(
                if (accessibilityManager.isTouchExplorationEnabled && isEnrollment) {
                    Rect(overlayParams.sensorBounds)
                } else {
                    Rect(overlayParams.overlayBounds)
                    Rect(
                        0,
                        0,
                        overlayParams.naturalDisplayWidth,
                        overlayParams.naturalDisplayHeight
                    )
                }
            } else {
                Rect(overlayParams.sensorBounds)
+20 −2
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import android.hardware.biometrics.BiometricOverlayConstants.REASON_ENROLL_ENROL
import android.hardware.biometrics.BiometricOverlayConstants.ShowReason
import android.hardware.fingerprint.FingerprintManager
import android.hardware.fingerprint.IUdfpsOverlayControllerCallback
import androidx.test.ext.junit.runners.AndroidJUnit4
import android.testing.TestableLooper.RunWithLooper
import android.view.LayoutInflater
import android.view.MotionEvent
@@ -35,6 +34,7 @@ import android.view.Surface.Rotation
import android.view.View
import android.view.WindowManager
import android.view.accessibility.AccessibilityManager
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.keyguard.KeyguardUpdateMonitor
import com.android.settingslib.udfps.UdfpsOverlayParams
@@ -69,8 +69,8 @@ import org.mockito.Captor
import org.mockito.Mock
import org.mockito.Mockito.mock
import org.mockito.Mockito.verify
import org.mockito.Mockito.`when` as whenever
import org.mockito.junit.MockitoJUnit
import org.mockito.Mockito.`when` as whenever

private const val REQUEST_ID = 2L

@@ -340,4 +340,22 @@ class UdfpsControllerOverlayTest : SysuiTestCase() {
            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)
        }
    }
}