1 /*
2  * Copyright (C) 2011 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.view.accessibility;
18 
19 import android.view.accessibility.AccessibilityNodeInfo;
20 import java.util.List;
21 
22 /**
23  * Callback for specifying the result for an asynchronous request made
24  * via calling a method on IAccessibilityInteractionConnectionCallback.
25  *
26  * @hide
27  */
28 oneway interface IAccessibilityInteractionConnectionCallback {
29 
30     /**
31      * Sets the result of an async request that returns an {@link AccessibilityNodeInfo}.
32      *
33      * @param infos The result {@link AccessibilityNodeInfo}.
34      * @param interactionId The interaction id to match the result with the request.
35      */
36     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
37     @RequiresNoPermission
setFindAccessibilityNodeInfoResult(in AccessibilityNodeInfo info, int interactionId)38     void setFindAccessibilityNodeInfoResult(in AccessibilityNodeInfo info, int interactionId);
39 
40     /**
41      * Sets the result of an async request that returns {@link AccessibilityNodeInfo}s.
42      *
43      * @param infos The result {@link AccessibilityNodeInfo}s.
44      * @param interactionId The interaction id to match the result with the request.
45      */
46     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
47     @RequiresNoPermission
setFindAccessibilityNodeInfosResult(in List<AccessibilityNodeInfo> infos, int interactionId)48     void setFindAccessibilityNodeInfosResult(in List<AccessibilityNodeInfo> infos,
49         int interactionId);
50 
51     /**
52      * Sets the result of a prefetch request that returns {@link AccessibilityNodeInfo}s.
53      *
54      * @param root The {@link AccessibilityNodeInfo} for which the prefetching is based off of.
55      * @param infos The result {@link AccessibilityNodeInfo}s.
56      */
57      @RequiresNoPermission
setPrefetchAccessibilityNodeInfoResult( in List<AccessibilityNodeInfo> infos, int interactionId)58     void setPrefetchAccessibilityNodeInfoResult(
59         in List<AccessibilityNodeInfo> infos, int interactionId);
60 
61     /**
62      * Sets the result of a request to perform an accessibility action.
63      *
64      * @param Whether the action was performed.
65      * @param interactionId The interaction id to match the result with the request.
66      */
67     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
68     @RequiresNoPermission
setPerformAccessibilityActionResult(boolean succeeded, int interactionId)69     void setPerformAccessibilityActionResult(boolean succeeded, int interactionId);
70 
71     /**
72     * Sends an error code for a window screenshot request to the requesting client.
73     */
74     @RequiresNoPermission
sendTakeScreenshotOfWindowError(int errorCode, int interactionId)75     void sendTakeScreenshotOfWindowError(int errorCode, int interactionId);
76 
77     /**
78     * Sends an result code for an attach overlay request to the requesting client.
79     */
80     @RequiresNoPermission
sendAttachOverlayResult(int result, int interactionId)81     void sendAttachOverlayResult(int result, int interactionId);
82 }
83