Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1a92e1e5 authored by Svetoslav Ganov's avatar Svetoslav Ganov Committed by Android (Google) Code Review
Browse files

Merge "Invalid access to AccessibilityInteractionController"

parents a65610a0 601ad806
Loading
Loading
Loading
Loading
+31 −30
Original line number Diff line number Diff line
@@ -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;
        }
    }
@@ -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);
            }
        }
    }

+12 −3
Original line number Diff line number Diff line
@@ -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;
@@ -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();
@@ -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(