Loading core/java/android/view/ViewAncestor.java +31 −30 Original line number Diff line number Diff line Loading @@ -2321,20 +2321,28 @@ public final class ViewAncestor extends Handler implements ViewParent, handleDispatchSystemUiVisibilityChanged(msg.arg1); } break; case DO_FIND_ACCESSIBLITY_NODE_INFO_BY_ACCESSIBILITY_ID: { if (mView != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfoByAccessibilityIdUiThread(msg); } } break; case DO_PERFORM_ACCESSIBILITY_ACTION: { if (mView != null) { getAccessibilityInteractionController() .perfromAccessibilityActionUiThread(msg); } } break; case DO_FIND_ACCESSIBLITY_NODE_INFO_BY_VIEW_ID: { if (mView != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfoByViewIdUiThread(msg); } } break; case DO_FIND_ACCESSIBLITY_NODE_INFO_BY_VIEW_TEXT: { if (mView != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfosByViewTextUiThread(msg); } } break; } } Loading Loading @@ -4149,44 +4157,37 @@ public final class ViewAncestor extends Handler implements ViewParent, public void findAccessibilityNodeInfoByAccessibilityId(int accessibilityId, int interactionId, IAccessibilityInteractionConnectionCallback callback) { final ViewAncestor viewAncestor = mViewAncestor.get(); if (viewAncestor == null) { return; } if (mViewAncestor.get() != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfoByAccessibilityIdClientThread(accessibilityId, interactionId, callback); } } public void performAccessibilityAction(int accessibilityId, int action, int interactionId, IAccessibilityInteractionConnectionCallback callback) { final ViewAncestor viewAncestor = mViewAncestor.get(); if (viewAncestor == null) { return; } if (mViewAncestor.get() != null) { getAccessibilityInteractionController() .performAccessibilityActionClientThread(accessibilityId, action, interactionId, callback); } } public void findAccessibilityNodeInfoByViewId(int viewId, int interactionId, IAccessibilityInteractionConnectionCallback callback) { final ViewAncestor viewAncestor = mViewAncestor.get(); if (viewAncestor == null) { return; } if (mViewAncestor.get() != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfoByViewIdClientThread(viewId, interactionId, callback); } } public void findAccessibilityNodeInfosByViewText(String text, int interactionId, IAccessibilityInteractionConnectionCallback callback) { final ViewAncestor viewAncestor = mViewAncestor.get(); if (viewAncestor == null) { return; } if (mViewAncestor.get() != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfosByViewTextClientThread(text, interactionId, callback); .findAccessibilityNodeInfosByViewTextClientThread(text, interactionId, callback); } } } Loading core/tests/coretests/src/android/accessibilityservice/InterrogationActivityTest.java +12 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.os.SystemClock; import android.provider.Settings; import android.test.ActivityInstrumentationTestCase2; import android.test.suitebuilder.annotation.LargeTest; import android.util.Log; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityNodeInfo; Loading Loading @@ -305,7 +304,14 @@ public class InterrogationActivityTest // focus the view assertTrue(button.performAction(ACTION_FOCUS)); SystemClock.sleep(200); synchronized (sConnection) { try { sConnection.wait(500); } catch (InterruptedException ie) { /* ignore */ } } // check that last event source AccessibilityNodeInfo source = sLastAccessibilityEvent.getSource(); Loading Loading @@ -437,6 +443,9 @@ public class InterrogationActivityTest public void onAccessibilityEvent(AccessibilityEvent event) { sLastAccessibilityEvent = AccessibilityEvent.obtain(event); synchronized (sConnection) { sConnection.notifyAll(); } } }; IAccessibilityManager manager = IAccessibilityManager.Stub.asInterface( Loading Loading
core/java/android/view/ViewAncestor.java +31 −30 Original line number Diff line number Diff line Loading @@ -2321,20 +2321,28 @@ public final class ViewAncestor extends Handler implements ViewParent, handleDispatchSystemUiVisibilityChanged(msg.arg1); } break; case DO_FIND_ACCESSIBLITY_NODE_INFO_BY_ACCESSIBILITY_ID: { if (mView != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfoByAccessibilityIdUiThread(msg); } } break; case DO_PERFORM_ACCESSIBILITY_ACTION: { if (mView != null) { getAccessibilityInteractionController() .perfromAccessibilityActionUiThread(msg); } } break; case DO_FIND_ACCESSIBLITY_NODE_INFO_BY_VIEW_ID: { if (mView != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfoByViewIdUiThread(msg); } } break; case DO_FIND_ACCESSIBLITY_NODE_INFO_BY_VIEW_TEXT: { if (mView != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfosByViewTextUiThread(msg); } } break; } } Loading Loading @@ -4149,44 +4157,37 @@ public final class ViewAncestor extends Handler implements ViewParent, public void findAccessibilityNodeInfoByAccessibilityId(int accessibilityId, int interactionId, IAccessibilityInteractionConnectionCallback callback) { final ViewAncestor viewAncestor = mViewAncestor.get(); if (viewAncestor == null) { return; } if (mViewAncestor.get() != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfoByAccessibilityIdClientThread(accessibilityId, interactionId, callback); } } public void performAccessibilityAction(int accessibilityId, int action, int interactionId, IAccessibilityInteractionConnectionCallback callback) { final ViewAncestor viewAncestor = mViewAncestor.get(); if (viewAncestor == null) { return; } if (mViewAncestor.get() != null) { getAccessibilityInteractionController() .performAccessibilityActionClientThread(accessibilityId, action, interactionId, callback); } } public void findAccessibilityNodeInfoByViewId(int viewId, int interactionId, IAccessibilityInteractionConnectionCallback callback) { final ViewAncestor viewAncestor = mViewAncestor.get(); if (viewAncestor == null) { return; } if (mViewAncestor.get() != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfoByViewIdClientThread(viewId, interactionId, callback); } } public void findAccessibilityNodeInfosByViewText(String text, int interactionId, IAccessibilityInteractionConnectionCallback callback) { final ViewAncestor viewAncestor = mViewAncestor.get(); if (viewAncestor == null) { return; } if (mViewAncestor.get() != null) { getAccessibilityInteractionController() .findAccessibilityNodeInfosByViewTextClientThread(text, interactionId, callback); .findAccessibilityNodeInfosByViewTextClientThread(text, interactionId, callback); } } } Loading
core/tests/coretests/src/android/accessibilityservice/InterrogationActivityTest.java +12 −3 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.os.SystemClock; import android.provider.Settings; import android.test.ActivityInstrumentationTestCase2; import android.test.suitebuilder.annotation.LargeTest; import android.util.Log; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityNodeInfo; Loading Loading @@ -305,7 +304,14 @@ public class InterrogationActivityTest // focus the view assertTrue(button.performAction(ACTION_FOCUS)); SystemClock.sleep(200); synchronized (sConnection) { try { sConnection.wait(500); } catch (InterruptedException ie) { /* ignore */ } } // check that last event source AccessibilityNodeInfo source = sLastAccessibilityEvent.getSource(); Loading Loading @@ -437,6 +443,9 @@ public class InterrogationActivityTest public void onAccessibilityEvent(AccessibilityEvent event) { sLastAccessibilityEvent = AccessibilityEvent.obtain(event); synchronized (sConnection) { sConnection.notifyAll(); } } }; IAccessibilityManager manager = IAccessibilityManager.Stub.asInterface( Loading