175986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov/*
275986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov * Copyright (C) 2009 The Android Open Source Project
375986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov *
475986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov * Licensed under the Apache License, Version 2.0 (the "License");
575986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov * you may not use this file except in compliance with the License.
675986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov * You may obtain a copy of the License at
775986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov *
875986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov *      http://www.apache.org/licenses/LICENSE-2.0
975986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov *
1075986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov * Unless required by applicable law or agreed to in writing, software
1175986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov * distributed under the License is distributed on an "AS IS" BASIS,
1275986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1375986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov * See the License for the specific language governing permissions and
1475986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov * limitations under the License.
1575986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov */
1675986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov
1775986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganovpackage android.accessibilityservice;
1875986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov
19aa780c110922148a6a4ba06734bb2b0bb8c98f93Svetoslav Ganovimport android.os.Bundle;
2075986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganovimport android.accessibilityservice.AccessibilityServiceInfo;
21152e9bb81aa5b2ab4637f4b2dae04b3ce89fa891Svetoslav Ganovimport android.view.MagnificationSpec;
228643aa0179e598e78d938c59035389054535a229Svetoslav Ganovimport android.view.accessibility.AccessibilityNodeInfo;
238bd69610aafc6995126965d1d23b771fe02a9084Svetoslav Ganovimport android.view.accessibility.IAccessibilityInteractionConnectionCallback;
2475986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov
2575986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov/**
268643aa0179e598e78d938c59035389054535a229Svetoslav Ganov * Interface given to an AccessibilitySerivce to talk to the AccessibilityManagerService.
2775986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov *
2875986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov * @hide
2975986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov */
308643aa0179e598e78d938c59035389054535a229Svetoslav Ganovinterface IAccessibilityServiceConnection {
3175986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov
3275986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov    void setServiceInfo(in AccessibilityServiceInfo info);
338643aa0179e598e78d938c59035389054535a229Svetoslav Ganov
34152e9bb81aa5b2ab4637f4b2dae04b3ce89fa891Svetoslav Ganov    boolean findAccessibilityNodeInfoByAccessibilityId(int accessibilityWindowId,
35021078554b902179442a345a9d080a165c3b5139Svetoslav Ganov        long accessibilityNodeId, int interactionId,
364213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov        IAccessibilityInteractionConnectionCallback callback, int flags, long threadId);
378643aa0179e598e78d938c59035389054535a229Svetoslav Ganov
38152e9bb81aa5b2ab4637f4b2dae04b3ce89fa891Svetoslav Ganov    boolean findAccessibilityNodeInfosByText(int accessibilityWindowId, long accessibilityNodeId,
3979311c4af8b54d3cd47ab37a120c648bfc990511Svetoslav Ganov        String text, int interactionId, IAccessibilityInteractionConnectionCallback callback,
408bd69610aafc6995126965d1d23b771fe02a9084Svetoslav Ganov        long threadId);
41eeee4d2c01d3c4ed99e4891dbc75c7de69a803faSvetoslav Ganov
4280943d8daa6ab31ab5c486d57aea406aa0730d58Svetoslav Ganov    boolean findAccessibilityNodeInfosByViewId(int accessibilityWindowId,
4380943d8daa6ab31ab5c486d57aea406aa0730d58Svetoslav Ganov        long accessibilityNodeId, String viewId, int interactionId,
4480943d8daa6ab31ab5c486d57aea406aa0730d58Svetoslav Ganov        IAccessibilityInteractionConnectionCallback callback, long threadId);
458643aa0179e598e78d938c59035389054535a229Svetoslav Ganov
46152e9bb81aa5b2ab4637f4b2dae04b3ce89fa891Svetoslav Ganov    boolean findFocus(int accessibilityWindowId, long accessibilityNodeId, int focusType,
474213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov        int interactionId, IAccessibilityInteractionConnectionCallback callback, long threadId);
484213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov
49152e9bb81aa5b2ab4637f4b2dae04b3ce89fa891Svetoslav Ganov    boolean focusSearch(int accessibilityWindowId, long accessibilityNodeId, int direction,
504213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov        int interactionId, IAccessibilityInteractionConnectionCallback callback, long threadId);
514213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov
52021078554b902179442a345a9d080a165c3b5139Svetoslav Ganov    boolean performAccessibilityAction(int accessibilityWindowId, long accessibilityNodeId,
53aa780c110922148a6a4ba06734bb2b0bb8c98f93Svetoslav Ganov        int action, in Bundle arguments, int interactionId,
54aa780c110922148a6a4ba06734bb2b0bb8c98f93Svetoslav Ganov        IAccessibilityInteractionConnectionCallback callback, long threadId);
554213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov
564213804541a8b05cd0587b138a2fd9a3b7fd9350Svetoslav Ganov    AccessibilityServiceInfo getServiceInfo();
57005b83b0c62d3d0538f0d566b08bd457015ec661Svetoslav Ganov
58fefd20e927b7252d63acb7bb1852c5188e3c1b2eSvetoslav Ganov    boolean performGlobalAction(int action);
59c4fccd183f1bb47a027bb303af5e65bec2f68b1bSvetoslav
60c4fccd183f1bb47a027bb303af5e65bec2f68b1bSvetoslav    oneway void setOnKeyEventResult(boolean handled, int sequence);
6175986cf9bc57ef11ad70f36fb77fbbf5d63af6ecsvetoslavganov}
62