Populating accessibility node info with supported actions.

1. The system does not allow performing an accessibility action
   on an accessibility node info unless it explicitly states it
   supports that action. Adding the new accessibility actions
   to the info emitted by a view.

bug:6407647

Change-Id: I8dad1dc60ec68b4da5ed2349a1366a88820175a1
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 588bb06..081b765 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -4668,6 +4668,24 @@
                 info.addAction(AccessibilityNodeInfo.ACTION_FOCUS);
             }
         }
+
+        info.addAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS);
+        info.addAction(AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS);
+
+        if (isClickable()) {
+            info.addAction(AccessibilityNodeInfo.ACTION_CLICK);
+        }
+
+        if (isLongClickable()) {
+            info.addAction(AccessibilityNodeInfo.ACTION_LONG_CLICK);
+        }
+
+        if (getContentDescription() != null) {
+            info.addAction(AccessibilityNodeInfo.ACTION_NEXT_AT_GRANULARITY);
+            info.addAction(AccessibilityNodeInfo.ACTION_PREVIOUS_AT_GRANULARITY);
+            info.setGranularities(AccessibilityNodeInfo.GRANULARITY_CHARACTER
+                    | AccessibilityNodeInfo.GRANULARITY_WORD);
+        }
     }
 
     /**