1e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov/*
2e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov * Copyright (C) 2015 The Android Open Source Project
3e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov *
4e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov * Licensed under the Apache License, Version 2.0 (the "License");
5e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov * you may not use this file except in compliance with the License.
6e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov * You may obtain a copy of the License at
7e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov *
8e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov *      http://www.apache.org/licenses/LICENSE-2.0
9e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov *
10e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov * Unless required by applicable law or agreed to in writing, software
11e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov * distributed under the License is distributed on an "AS IS" BASIS,
12e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov * See the License for the specific language governing permissions and
14e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov * limitations under the License.
15e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov */
16e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov
17e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganovpackage android.support.v4.app;
18e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov
19e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganovimport android.app.AppOpsManager;
20e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganovimport android.content.Context;
21e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov
22e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov/**
23e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov * AppOpsManager implementations for API 23.
24e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov */
2595ad49b720f4990d39d05f7e46a5c7bc83afc9d6Chris Banesclass AppOpsManagerCompat23 {
26e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov    public static String permissionToOp(String permission) {
27e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov        return AppOpsManager.permissionToOp(permission);
28e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov    }
29e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov
30e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov    public static int noteOp(Context context, String op, int uid, String packageName) {
31e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov        AppOpsManager appOpsManager = context.getSystemService(AppOpsManager.class);
32e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov        return appOpsManager.noteOp(op, uid, packageName);
33e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov    }
34e899df75f63baf0669f3cbdb193c7475979c8122Svet Ganov
35e899df75f63baf0669f3cbdb193c7475979c8122Svet Ganov    public static int noteProxyOp(Context context, String op, String proxiedPackageName) {
36e899df75f63baf0669f3cbdb193c7475979c8122Svet Ganov        AppOpsManager appOpsManager = context.getSystemService(AppOpsManager.class);
37e899df75f63baf0669f3cbdb193c7475979c8122Svet Ganov        return appOpsManager.noteProxyOp(op, proxiedPackageName);
38e899df75f63baf0669f3cbdb193c7475979c8122Svet Ganov    }
39e2458f312876e3f9ac64f0155997ab21b2b906f2Svet Ganov}
40