1/*
2** Copyright 2009, 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
17package android.view.accessibility;
18
19import android.accessibilityservice.AccessibilityServiceInfo;
20import android.accessibilityservice.IAccessibilityServiceConnection;
21import android.accessibilityservice.IAccessibilityServiceClient;
22import android.content.ComponentName;
23import android.view.accessibility.AccessibilityEvent;
24import android.view.accessibility.AccessibilityNodeInfo;
25import android.view.accessibility.IAccessibilityInteractionConnection;
26import android.view.accessibility.IAccessibilityManagerClient;
27import android.view.IWindow;
28
29/**
30 * Interface implemented by the AccessibilityManagerService called by
31 * the AccessibilityManagers.
32 *
33 * @hide
34 */
35interface IAccessibilityManager {
36
37    oneway void interrupt(int userId);
38
39    oneway void sendAccessibilityEvent(in AccessibilityEvent uiEvent, int userId);
40
41    long addClient(IAccessibilityManagerClient client, int userId);
42
43    List<AccessibilityServiceInfo> getInstalledAccessibilityServiceList(int userId);
44
45    List<AccessibilityServiceInfo> getEnabledAccessibilityServiceList(int feedbackType, int userId);
46
47    int addAccessibilityInteractionConnection(IWindow windowToken,
48            in IAccessibilityInteractionConnection connection, int userId);
49
50    void removeAccessibilityInteractionConnection(IWindow windowToken);
51
52    void setPictureInPictureActionReplacingConnection(
53            in IAccessibilityInteractionConnection connection);
54
55    void registerUiTestAutomationService(IBinder owner, IAccessibilityServiceClient client,
56        in AccessibilityServiceInfo info, int flags);
57
58    void unregisterUiTestAutomationService(IAccessibilityServiceClient client);
59
60    void temporaryEnableAccessibilityStateUntilKeyguardRemoved(in ComponentName service,
61            boolean touchExplorationEnabled);
62
63    IBinder getWindowToken(int windowId, int userId);
64
65    void notifyAccessibilityButtonClicked();
66
67    void notifyAccessibilityButtonVisibilityChanged(boolean available);
68
69    // Requires WRITE_SECURE_SETTINGS
70    void performAccessibilityShortcut();
71
72    // System process only
73    boolean sendFingerprintGesture(int gestureKeyCode);
74}
75