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

Commit 80a70325 authored by Joshua Trask's avatar Joshua Trask
Browse files

Extend screenshot timeout on accessibility events

The implementation approach comes from SystemUI's
`VolumeDialogImpl.java`.

Manual testing included both voice access and explore-by-touch a11y
modes.

Test: manual testing with extra instrumentation
Bug: 350026673
Flag: EXEMPT bugfix
Change-Id: I0f86248b8e7423cb79c5b67720e6e2b91e01f70d
parent dba90841
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.view.View
import android.view.ViewGroup
import android.view.WindowInsets
import android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL
import android.view.accessibility.AccessibilityEvent
import android.widget.FrameLayout
import android.widget.ImageView
import com.android.systemui.res.R
@@ -83,6 +84,20 @@ class ScreenshotShelfView(context: Context, attrs: AttributeSet? = null) :
        })

        gestureDetector.setIsLongpressEnabled(false)

        // Extend the timeout on any accessibility event (e.g. voice access or explore-by-touch).
        setAccessibilityDelegate(
            object : AccessibilityDelegate() {
                override fun onRequestSendAccessibilityEvent(
                    host: ViewGroup,
                    child: View,
                    event: AccessibilityEvent,
                ): Boolean {
                    userInteractionCallback?.invoke()
                    return super.onRequestSendAccessibilityEvent(host, child, event)
                }
            }
        )
    }

    override fun onFinishInflate() {