in stetho/src/main/java/com/facebook/stetho/common/android/AccessibilityUtil.java [163:195]
public static boolean isTopLevelScrollItem(
@Nullable AccessibilityNodeInfoCompat node,
@Nullable View view) {
if (node == null || view == null) {
return false;
}
View parent = (View) ViewCompat.getParentForAccessibility(view);
if (parent == null) {
return false;
}
if (node.isScrollable()) {
return true;
}
List actionList = node.getActionList();
if (actionList.contains(AccessibilityNodeInfoCompat.ACTION_SCROLL_FORWARD) ||
actionList.contains(AccessibilityNodeInfoCompat.ACTION_SCROLL_BACKWARD)) {
return true;
}
// AdapterView, ScrollView, and HorizontalScrollView are focusable
// containers, but Spinner is a special case.
if (parent instanceof Spinner) {
return false;
}
return
parent instanceof AdapterView ||
parent instanceof ScrollView ||
parent instanceof HorizontalScrollView;
}