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