AccessibilityManagerWrapper.java revision ccaebc2b067b31c6d0d2b740a8ec7ddbd06f090b
1/*
2 * Copyright (C) 2017 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
5 * except in compliance with the License. You may obtain a copy of the License at
6 *
7 *      http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software distributed under the
10 * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
11 * KIND, either express or implied. See the License for the specific language governing
12 * permissions and limitations under the License.
13 */
14
15package com.android.systemui.statusbar.policy;
16
17import android.content.Context;
18import android.view.accessibility.AccessibilityManager;
19import android.view.accessibility.AccessibilityManager.AccessibilityServicesStateChangeListener;
20
21/**
22 * For mocking because AccessibilityManager is final for some reason...
23 */
24public class AccessibilityManagerWrapper implements
25        CallbackController<AccessibilityServicesStateChangeListener> {
26
27    private final AccessibilityManager mAccessibilityManager;
28
29    public AccessibilityManagerWrapper(Context context) {
30        mAccessibilityManager = context.getSystemService(AccessibilityManager.class);
31    }
32
33    @Override
34    public void addCallback(AccessibilityServicesStateChangeListener listener) {
35        mAccessibilityManager.addAccessibilityServicesStateChangeListener(listener, null);
36    }
37
38    @Override
39    public void removeCallback(AccessibilityServicesStateChangeListener listener) {
40        mAccessibilityManager.removeAccessibilityServicesStateChangeListener(listener);
41    }
42}
43