Long click: use the node's window's bounds instead of asking WMS.
The WindowManagerService#getWindowFrame method returns an empty rect when the requested window has no window state. As evident by the checks in wm/AccessibilityWindowsPopulator not all windows have a WindowState known by WMS. This change grabs the node's window's bounds by getting the node's A11yWindowInfo then checking bounds in screen. This always returns a non-empty rect because it uses bounds data from SurfaceFlinger's onWindowInfosChanged callback. Bug: 317166487 Test: atest TouchInteractionControllerTest Test: Launch an app in aspect ratio compat mode. Use TalkBack swipe gestures to focus on the aspect ratio button. Double-tap and hold anywhere on the screen. Observe that the button is long-clicked. Change-Id: I09ea7bfc002c9878304d273bfc7f87d3e6de0d0a
Loading
Please register or sign in to comment