am aecb9b59: am 59f3f585: Merge "Add performAccessibilityAction to AccessibilityDelegate." into jb-dev

* commit 'aecb9b59e6c9e9a864bf4b302f978fb950df09ff':
  Add performAccessibilityAction to AccessibilityDelegate.
This commit is contained in:
Svetoslav Ganov
2012-05-09 10:09:44 -07:00
committed by Android Git Automerger
2 changed files with 40 additions and 0 deletions

View File

@@ -24454,6 +24454,7 @@ package android.view {
method public void onInitializeAccessibilityNodeInfo(android.view.View, android.view.accessibility.AccessibilityNodeInfo);
method public void onPopulateAccessibilityEvent(android.view.View, android.view.accessibility.AccessibilityEvent);
method public boolean onRequestSendAccessibilityEvent(android.view.ViewGroup, android.view.View, android.view.accessibility.AccessibilityEvent);
method public boolean performAccessibilityAction(android.view.View, int, android.os.Bundle);
method public void sendAccessibilityEvent(android.view.View, int);
method public void sendAccessibilityEventUnchecked(android.view.View, android.view.accessibility.AccessibilityEvent);
}

View File

@@ -6491,12 +6491,31 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
/**
* Performs the specified accessibility action on the view. For
* possible accessibility actions look at {@link AccessibilityNodeInfo}.
* <p>
* If an {@link AccessibilityDelegate} has been specified via calling
* {@link #setAccessibilityDelegate(AccessibilityDelegate)} its
* {@link AccessibilityDelegate#performAccessibilityAction(View, int, Bundle)}
* is responsible for handling this call.
* </p>
*
* @param action The action to perform.
* @param arguments Optional action arguments.
* @return Whether the action was performed.
*/
public boolean performAccessibilityAction(int action, Bundle arguments) {
if (mAccessibilityDelegate != null) {
return mAccessibilityDelegate.performAccessibilityAction(this, action, arguments);
} else {
return performAccessibilityActionInternal(action, arguments);
}
}
/**
* @see #performAccessibilityAction(int, Bundle)
*
* Note: Called from the default {@link AccessibilityDelegate}.
*/
boolean performAccessibilityActionInternal(int action, Bundle arguments) {
switch (action) {
case AccessibilityNodeInfo.ACTION_CLICK: {
if (isClickable()) {
@@ -17419,6 +17438,26 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
host.sendAccessibilityEventInternal(eventType);
}
/**
* Performs the specified accessibility action on the view. For
* possible accessibility actions look at {@link AccessibilityNodeInfo}.
* <p>
* The default implementation behaves as
* {@link View#performAccessibilityAction(int, Bundle)
* View#performAccessibilityAction(int, Bundle)} for the case of
* no accessibility delegate been set.
* </p>
*
* @param action The action to perform.
* @return Whether the action was performed.
*
* @see View#performAccessibilityAction(int, Bundle)
* View#performAccessibilityAction(int, Bundle)
*/
public boolean performAccessibilityAction(View host, int action, Bundle args) {
return host.performAccessibilityActionInternal(action, args);
}
/**
* Sends an accessibility event. This method behaves exactly as
* {@link #sendAccessibilityEvent(View, int)} but takes as an argument an