diff --git a/android/src/main/java/com/facebook/flipper/plugins/inspector/descriptors/utils/AccessibilityRoleUtil.java b/android/src/main/java/com/facebook/flipper/plugins/inspector/descriptors/utils/AccessibilityRoleUtil.java index cfd1273e8..4ad9ce960 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/inspector/descriptors/utils/AccessibilityRoleUtil.java +++ b/android/src/main/java/com/facebook/flipper/plugins/inspector/descriptors/utils/AccessibilityRoleUtil.java @@ -11,6 +11,7 @@ import android.view.View; import android.view.accessibility.AccessibilityNodeInfo; import androidx.core.view.ViewCompat; import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; +import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.AccessibilityActionCompat; import javax.annotation.Nullable; /** @@ -119,6 +120,17 @@ public class AccessibilityRoleUtil { } if (role.equals(AccessibilityRole.NONE)) { + if (AccessibilityUtil.supportsAction( + nodeInfo, AccessibilityActionCompat.ACTION_PAGE_UP.getId()) + || AccessibilityUtil.supportsAction( + nodeInfo, AccessibilityActionCompat.ACTION_PAGE_DOWN.getId()) + || AccessibilityUtil.supportsAction( + nodeInfo, AccessibilityActionCompat.ACTION_PAGE_LEFT.getId()) + || AccessibilityUtil.supportsAction( + nodeInfo, AccessibilityActionCompat.ACTION_PAGE_RIGHT.getId())) { + return AccessibilityRole.PAGER; + } + AccessibilityNodeInfoCompat.CollectionInfoCompat collection = nodeInfo.getCollectionInfo(); if (collection != null) { // RecyclerView will be classified as a list or grid. diff --git a/android/src/main/java/com/facebook/flipper/plugins/inspector/descriptors/utils/AccessibilityUtil.java b/android/src/main/java/com/facebook/flipper/plugins/inspector/descriptors/utils/AccessibilityUtil.java index 75bdf6723..ddbb88fb6 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/inspector/descriptors/utils/AccessibilityUtil.java +++ b/android/src/main/java/com/facebook/flipper/plugins/inspector/descriptors/utils/AccessibilityUtil.java @@ -211,7 +211,7 @@ public final class AccessibilityUtil { } } - private static boolean supportsAction(AccessibilityNodeInfoCompat node, int action) { + protected static boolean supportsAction(AccessibilityNodeInfoCompat node, int action) { if (node != null) { final int supportedActions = node.getActions();