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

Commit 2c934288 authored by Austin Delgado's avatar Austin Delgado Committed by Android (Google) Code Review
Browse files

Merge "Support talkback with new Udfps Overlay on keyguard" into udc-dev

parents de91c389 1fbfaad4
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -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
+2 −2
Original line number Original line Diff line number Diff line
@@ -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,
+6 −1
Original line number Original line Diff line number Diff line
@@ -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)
+20 −2
Original line number Original line 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.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
@@ -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
@@ -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


@@ -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)
        }
    }
}
}