List of usage examples for android.accessibilityservice AccessibilityService getWindows
public List<AccessibilityWindowInfo> getWindows()
From source file:com.android.utils.compat.accessibilityservice.AccessibilityServiceCompatUtils.java
/** * @return root node of the window that currently has accessibility focus */// w w w.j av a2 s .c o m public static AccessibilityNodeInfoCompat getRootInAccessibilityFocusedWindow(AccessibilityService service) { if (service == null) { return null; } AccessibilityNodeInfo focusedRoot = null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) { List<AccessibilityWindowInfo> windows = service.getWindows(); // Create window manager with fake value of isInRTL = false. This is okay here since // isInRTL will not change the result of getCurrentWindow. WindowManager manager = new WindowManager(false /* isInRTL */); manager.setWindows(windows); AccessibilityWindowInfo accessibilityFocusedWindow = manager .getCurrentWindow(false /* useInputFocus */); if (accessibilityFocusedWindow != null) { focusedRoot = accessibilityFocusedWindow.getRoot(); } } if (focusedRoot == null) { focusedRoot = service.getRootInActiveWindow(); } if (focusedRoot == null) { return null; } return new AccessibilityNodeInfoCompat(focusedRoot); }