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

Commit 51d8c45f authored by Brad Hinegardner's avatar Brad Hinegardner Committed by Android (Google) Code Review
Browse files

Merge "All a11y actions on lock icon should go to the bouncer" into main

parents 68deaa72 dab593ce
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -225,13 +225,13 @@ class DeviceEntryIconViewModelTest : SysuiTestCase() {
            setUpState(isUdfpsSupported = true)

            assertThat(accessibilityDelegateHint)
                .isEqualTo(DeviceEntryIconView.AccessibilityHintType.AUTHENTICATE)
                .isEqualTo(DeviceEntryIconView.AccessibilityHintType.BOUNCER)

            // interactive lock icon for non udfps as well so that user can navigate to bouncer
            // non-interactive lock icon
            fingerprintPropertyRepository.supportsRearFps()

            assertThat(accessibilityDelegateHint)
                .isEqualTo(DeviceEntryIconView.AccessibilityHintType.AUTHENTICATE)
                .isEqualTo(DeviceEntryIconView.AccessibilityHintType.BOUNCER)
        }

    @Test
+5 −5
Original line number Diff line number Diff line
@@ -63,10 +63,10 @@ constructor(
    private fun setupAccessibilityDelegate() {
        accessibilityDelegate =
            object : AccessibilityDelegate() {
                private val accessibilityAuthenticateHint =
                private val accessibilityBouncerHint =
                    AccessibilityNodeInfo.AccessibilityAction(
                        AccessibilityNodeInfoCompat.ACTION_CLICK,
                        resources.getString(R.string.accessibility_authenticate_hint)
                        resources.getString(R.string.accessibility_bouncer)
                    )
                private val accessibilityEnterHint =
                    AccessibilityNodeInfo.AccessibilityAction(
@@ -79,8 +79,8 @@ constructor(
                ) {
                    super.onInitializeAccessibilityNodeInfo(v, info)
                    when (accessibilityHintType) {
                        AccessibilityHintType.AUTHENTICATE ->
                            info.addAction(accessibilityAuthenticateHint)
                        AccessibilityHintType.BOUNCER ->
                            info.addAction(accessibilityBouncerHint)
                        AccessibilityHintType.ENTER -> info.addAction(accessibilityEnterHint)
                        AccessibilityHintType.NONE -> return
                    }
@@ -274,7 +274,7 @@ constructor(

    enum class AccessibilityHintType {
        NONE,
        AUTHENTICATE,
        BOUNCER,
        ENTER,
    }
}
+3 −9
Original line number Diff line number Diff line
@@ -162,6 +162,7 @@ constructor(
            KeyguardState.LOCKSCREEN, -> 1f
        }
    }

    val useBackgroundProtection: StateFlow<Boolean> = isUdfpsSupported
    val burnInOffsets: Flow<BurnInOffsets> =
        deviceEntryUdfpsInteractor.isUdfpsEnrolledAndEnabled
@@ -263,13 +264,7 @@ constructor(
    val accessibilityDelegateHint: Flow<DeviceEntryIconView.AccessibilityHintType> =
        accessibilityInteractor.isEnabled.flatMapLatest { touchExplorationEnabled ->
            if (touchExplorationEnabled) {
                combine(iconType, isInteractive) { iconType, isInteractive ->
                    if (isInteractive || iconType == DeviceEntryIconView.IconType.LOCK) {
                        iconType.toAccessibilityHintType()
                    } else {
                        DeviceEntryIconView.AccessibilityHintType.NONE
                    }
                }
                iconType.map { it.toAccessibilityHintType() }
            } else {
                flowOf(DeviceEntryIconView.AccessibilityHintType.NONE)
            }
@@ -289,8 +284,7 @@ constructor(
    private fun DeviceEntryIconView.IconType.toAccessibilityHintType():
        DeviceEntryIconView.AccessibilityHintType {
        return when (this) {
            DeviceEntryIconView.IconType.LOCK ->
                DeviceEntryIconView.AccessibilityHintType.AUTHENTICATE
            DeviceEntryIconView.IconType.LOCK -> DeviceEntryIconView.AccessibilityHintType.BOUNCER
            DeviceEntryIconView.IconType.UNLOCK -> DeviceEntryIconView.AccessibilityHintType.ENTER
            DeviceEntryIconView.IconType.FINGERPRINT,
            DeviceEntryIconView.IconType.NONE -> DeviceEntryIconView.AccessibilityHintType.NONE