wiki:AppOpsManager_usage

Version 2 (modified by admin, 11 years ago) (diff)

--

import android.app.AppOpsManager;
        setAppOps(AppOpsManager.OP_READ_CALENDAR, AppOpsManager.OP_WRITE_CALENDAR);
./packages/providers/CalendarProvider/src/com/android/providers/calendar/CalendarProvider2.java
import android.app.AppOpsManager;
        setAppOps(AppOpsManager.OP_READ_CONTACTS, AppOpsManager.OP_WRITE_CONTACTS);
./packages/providers/ContactsProvider/src/com/android/providers/contacts/ContactsProvider2.java
import android.app.AppOpsManager;
        setAppOps(AppOpsManager.OP_READ_CALL_LOG, AppOpsManager.OP_WRITE_CALL_LOG);
./packages/providers/ContactsProvider/src/com/android/providers/contacts/CallLogProvider.java
import android.app.AppOpsManager;
        setAppOps(AppOpsManager.OP_READ_SMS, AppOpsManager.OP_WRITE_SMS);
./packages/providers/TelephonyProvider/src/com/android/providers/telephony/SmsProvider.java
import android.app.AppOpsManager;
        setAppOps(AppOpsManager.OP_READ_SMS, AppOpsManager.OP_WRITE_SMS);
./packages/providers/TelephonyProvider/src/com/android/providers/telephony/MmsSmsProvider.java
import android.app.AppOpsManager;
        setAppOps(AppOpsManager.OP_READ_SMS, AppOpsManager.OP_WRITE_SMS);
./packages/providers/TelephonyProvider/src/com/android/providers/telephony/MmsProvider.java
import android.app.AppOpsManager;
        AppOpsManager appOps = (AppOpsManager)getSystemService(Context.APP_OPS_SERVICE);
        if (appOps.noteOp(AppOpsManager.OP_CALL_PHONE, launchedFromUid, launchedFromPackage)
                != AppOpsManager.MODE_ALLOWED) {
./packages/apps/Phone/src/com/android/phone/OutgoingCallBroadcaster.java
import android.app.AppOpsManager;
    AppOpsManager mAppOps;
        mAppOps = (AppOpsManager)app.getSystemService(Context.APP_OPS_SERVICE);
        if (mAppOps.noteOp(AppOpsManager.OP_CALL_PHONE, Binder.getCallingUid(), callingPackage)
                != AppOpsManager.MODE_ALLOWED) {
        if (mAppOps.noteOp(AppOpsManager.OP_NEIGHBORING_CELLS, Binder.getCallingUid(),
                callingPackage) != AppOpsManager.MODE_ALLOWED) {
./packages/apps/Phone/src/com/android/phone/PhoneInterfaceManager.java
import android.app.AppOpsManager;
    final AppOpsManager mAppOps;
        mAppOps = (AppOpsManager)context.getSystemService(Context.APP_OPS_SERVICE);
            new int[] { AppOpsManager.OP_COARSE_LOCATION,
                    AppOpsManager.OP_FINE_LOCATION,
                    AppOpsManager.OP_GPS,
                    AppOpsManager.OP_WIFI_SCAN,
                    AppOpsManager.OP_NEIGHBORING_CELLS },
            new int[] { AppOpsManager.OP_READ_CONTACTS,
                    AppOpsManager.OP_WRITE_CONTACTS,
                    AppOpsManager.OP_READ_CALL_LOG,
                    AppOpsManager.OP_WRITE_CALL_LOG,
                    AppOpsManager.OP_READ_CALENDAR,
                    AppOpsManager.OP_WRITE_CALENDAR,
                    AppOpsManager.OP_READ_CLIPBOARD,
                    AppOpsManager.OP_WRITE_CLIPBOARD },
            new int[] { AppOpsManager.OP_READ_SMS,
                    AppOpsManager.OP_RECEIVE_SMS,
                    AppOpsManager.OP_RECEIVE_EMERGECY_SMS,
                    AppOpsManager.OP_RECEIVE_MMS,
                    AppOpsManager.OP_RECEIVE_WAP_PUSH,
                    AppOpsManager.OP_WRITE_SMS,
                    AppOpsManager.OP_SEND_SMS,
                    AppOpsManager.OP_READ_ICC_SMS,
                    AppOpsManager.OP_WRITE_ICC_SMS },
            new int[] { AppOpsManager.OP_VIBRATE,
                    AppOpsManager.OP_POST_NOTIFICATION,
                    AppOpsManager.OP_ACCESS_NOTIFICATIONS,
                    AppOpsManager.OP_CALL_PHONE,
                    AppOpsManager.OP_WRITE_SETTINGS,
                    AppOpsManager.OP_SYSTEM_ALERT_WINDOW,
                    AppOpsManager.OP_CAMERA,
                    AppOpsManager.OP_RECORD_AUDIO,
                    AppOpsManager.OP_PLAY_AUDIO },
        private final SparseArray<AppOpsManager.OpEntry> mOps
                = new SparseArray<AppOpsManager.OpEntry>();
        public void addOp(AppOpEntry entry, AppOpsManager.OpEntry op) {
            mOpSwitches.put(AppOpsManager.opToSwitch(op.getOp()), entry);
            return mOpSwitches.get(AppOpsManager.opToSwitch(op));
        private final AppOpsManager.PackageOps mPkgOps;
        private final ArrayList<AppOpsManager.OpEntry> mOps
                = new ArrayList<AppOpsManager.OpEntry>();
        private final ArrayList<AppOpsManager.OpEntry> mSwitchOps
                = new ArrayList<AppOpsManager.OpEntry>();
        public AppOpEntry(AppOpsManager.PackageOps pkg, AppOpsManager.OpEntry op, AppEntry app,
        private static void addOp(ArrayList<AppOpsManager.OpEntry> list, AppOpsManager.OpEntry op) {
                AppOpsManager.OpEntry pos = list.get(i);
        public void addOp(AppOpsManager.OpEntry op) {
            if (mApp.getOpSwitch(AppOpsManager.opToSwitch(op.getOp())) == null) {
        public AppOpsManager.PackageOps getPackageOps() {
        public AppOpsManager.OpEntry getOpEntry(int pos) {
        private CharSequence getCombinedText(ArrayList<AppOpsManager.OpEntry> ops,
    private void addOp(List<AppOpEntry> entries, AppOpsManager.PackageOps pkgOps,
            AppEntry appEntry, AppOpsManager.OpEntry opEntry, boolean allowMerge, int switchOrder) {
        final int[] opToOrder = new int[AppOpsManager._NUM_OP];
                String perm = AppOpsManager.opToPermission(tpl.ops[i]);
        List<AppOpsManager.PackageOps> pkgs;
                AppOpsManager.PackageOps pkgOps = pkgs.get(i);
                    AppOpsManager.OpEntry opEntry = pkgOps.getOps().get(j);
            List<AppOpsManager.OpEntry> dummyOps = null;
            AppOpsManager.PackageOps pkgOps = null;
                            dummyOps = new ArrayList<AppOpsManager.OpEntry>();
                            pkgOps = new AppOpsManager.PackageOps(
                        AppOpsManager.OpEntry opEntry = new AppOpsManager.OpEntry(
                                permOps.get(k), AppOpsManager.MODE_ALLOWED, 0, 0, 0);
./packages/apps/Settings/src/com/android/settings/applications/AppOpsState.java
import android.app.AppOpsManager;
./packages/apps/Settings/src/com/android/settings/applications/AppOpsSummary.java
import android.app.AppOpsManager;
    private AppOpsManager mAppOps;
                final AppOpsManager.OpEntry firstOp = entry.getOpEntry(0);
                String perm = AppOpsManager.opToPermission(firstOp.getOp());
                final int switchOp = AppOpsManager.opToSwitch(firstOp.getOp());
                        entry.getPackageOps().getPackageName()) == AppOpsManager.MODE_ALLOWED);
                                ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_IGNORED);
        mAppOps = (AppOpsManager)getActivity().getSystemService(Context.APP_OPS_SERVICE);
./packages/apps/Settings/src/com/android/settings/applications/AppOpsDetails.java
import android.app.AppOpsManager;
        dispatch(intent, RECEIVE_SMS_PERMISSION, AppOpsManager.OP_RECEIVE_SMS, mScpResultsReceiver);
./frameworks/opt/telephony/src/java/com/android/internal/telephony/cdma/CdmaSMSDispatcher.java
import android.app.AppOpsManager;
            appOp = AppOpsManager.OP_RECEIVE_MMS;
            appOp = AppOpsManager.OP_RECEIVE_WAP_PUSH;
./frameworks/opt/telephony/src/java/com/android/internal/telephony/WapPushOverSms.java
import android.app.AppOpsManager;
        dispatch(intent, RECEIVE_SMS_PERMISSION, AppOpsManager.OP_RECEIVE_SMS);
        dispatch(intent, RECEIVE_SMS_PERMISSION, AppOpsManager.OP_RECEIVE_SMS);
                    AppOpsManager.OP_RECEIVE_EMERGECY_SMS);
            dispatch(intent, RECEIVE_SMS_PERMISSION, AppOpsManager.OP_RECEIVE_SMS);
./frameworks/opt/telephony/src/java/com/android/internal/telephony/SMSDispatcher.java
import android.app.AppOpsManager;
    final protected AppOpsManager mAppOps;
        mAppOps = (AppOpsManager)mContext.getSystemService(Context.APP_OPS_SERVICE);
        if (mAppOps.noteOp(AppOpsManager.OP_WRITE_ICC_SMS, Binder.getCallingUid(),
                callingPackage) != AppOpsManager.MODE_ALLOWED) {
        if (mAppOps.noteOp(AppOpsManager.OP_WRITE_ICC_SMS, Binder.getCallingUid(),
                callingPackage) != AppOpsManager.MODE_ALLOWED) {
        if (mAppOps.noteOp(AppOpsManager.OP_READ_ICC_SMS, Binder.getCallingUid(),
                callingPackage) != AppOpsManager.MODE_ALLOWED) {
        if (mAppOps.noteOp(AppOpsManager.OP_SEND_SMS, Binder.getCallingUid(),
                callingPackage) != AppOpsManager.MODE_ALLOWED) {
        if (mAppOps.noteOp(AppOpsManager.OP_SEND_SMS, Binder.getCallingUid(),
                callingPackage) != AppOpsManager.MODE_ALLOWED) {
        if (mAppOps.noteOp(AppOpsManager.OP_SEND_SMS, Binder.getCallingUid(),
                callingPackage) != AppOpsManager.MODE_ALLOWED) {
./frameworks/opt/telephony/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
#include <binder/AppOpsManager.h>
    mAppOpsManager.startWatchingMode(AppOpsManager::OP_CAMERA,
    res = mAppOpsManager.startOp(AppOpsManager::OP_CAMERA,
    if (res != AppOpsManager::MODE_ALLOWED) {
        mAppOpsManager.finishOp(AppOpsManager::OP_CAMERA, mClientUid,
    mAppOpsManager.stopWatchingMode(mOpsCallback);
    if (op != AppOpsManager::OP_CAMERA) {
    res = mAppOpsManager.checkOp(AppOpsManager::OP_CAMERA,
            res == AppOpsManager::MODE_ALLOWED ? "ALLOWED" :
            res == AppOpsManager::MODE_IGNORED ? "IGNORED" :
            res == AppOpsManager::MODE_ERRORED ? "ERRORED" :
    if (res != AppOpsManager::MODE_ALLOWED) {
./frameworks/av/services/camera/libcameraservice/CameraService.cpp
#include <binder/AppOpsManager.h>
        AppOpsManager                   mAppOpsManager;
./frameworks/av/services/camera/libcameraservice/CameraService.h
    AppOpsManager.cpp \
./frameworks/native/libs/binder/Android.mk
#include <binder/AppOpsManager.h>
AppOpsManager::AppOpsManager()
sp<IAppOpsService> AppOpsManager::getService()
int32_t AppOpsManager::checkOp(int32_t op, int32_t uid, const String16& callingPackage)
int32_t AppOpsManager::noteOp(int32_t op, int32_t uid, const String16& callingPackage) {
int32_t AppOpsManager::startOp(int32_t op, int32_t uid, const String16& callingPackage) {
void AppOpsManager::finishOp(int32_t op, int32_t uid, const String16& callingPackage) {
void AppOpsManager::startWatchingMode(int32_t op, const String16& packageName,
void AppOpsManager::stopWatchingMode(const sp<IAppOpsCallback>& callback) {
./frameworks/native/libs/binder/AppOpsManager.cpp
class AppOpsManager
    AppOpsManager();
./frameworks/native/include/binder/AppOpsManager.h
Binary file ./frameworks/native/.git/index matches
./frameworks/native/.git/index
import android.app.AppOpsManager;
    List<AppOpsManager.PackageOps> getPackagesForOps(in int[] ops);
    List<AppOpsManager.PackageOps> getOpsForPackage(int uid, String packageName, in int[] ops);
./frameworks/base/core/java/com/android/internal/app/IAppOpsService.aidl
import android.app.AppOpsManager;
        AppOpsManager mAppOpsManager = null;
        int mReadOp = AppOpsManager.OP_NONE;
        int mWriteOp = AppOpsManager.OP_NONE;
            if (enforceReadPermission(callingPkg, uri) != AppOpsManager.MODE_ALLOWED) {
            if (enforceWritePermission(callingPkg, uri) != AppOpsManager.MODE_ALLOWED) {
            if (enforceWritePermission(callingPkg, uri) != AppOpsManager.MODE_ALLOWED) {
                            != AppOpsManager.MODE_ALLOWED) {
                            != AppOpsManager.MODE_ALLOWED) {
            if (enforceWritePermission(callingPkg, uri) != AppOpsManager.MODE_ALLOWED) {
            if (enforceWritePermission(callingPkg, uri) != AppOpsManager.MODE_ALLOWED) {
                if (enforceWritePermission(callingPkg, uri) != AppOpsManager.MODE_ALLOWED) {
                if (enforceReadPermission(callingPkg, uri) != AppOpsManager.MODE_ALLOWED) {
            if (mReadOp != AppOpsManager.OP_NONE) {
                return mAppOpsManager.noteOp(mReadOp, Binder.getCallingUid(), callingPkg);
            return AppOpsManager.MODE_ALLOWED;
            if (mWriteOp != AppOpsManager.OP_NONE) {
                return mAppOpsManager.noteOp(mWriteOp, Binder.getCallingUid(), callingPkg);
            return AppOpsManager.MODE_ALLOWED;
            mTransport.mAppOpsManager = (AppOpsManager)mContext.getSystemService(
    public AppOpsManager getAppOpsManager() {
        return mTransport.mAppOpsManager;
./frameworks/base/core/java/android/content/ContentProvider.java
     * of an assocated app op as per {@link android.app.AppOpsManager}.
     * of an assocated app op as per {@link android.app.AppOpsManager}.
     * {@link android.app.AppOpsManager} for tracking application operations
     * @see android.app.AppOpsManager
./frameworks/base/core/java/android/content/Context.java
public class AppOpsManager {
    public AppOpsManager(Context context, IAppOpsService service) {
    public List<AppOpsManager.PackageOps> getPackagesForOps(int[] ops) {
    public List<AppOpsManager.PackageOps> getOpsForPackage(int uid, String packageName, int[] ops) {
./frameworks/base/core/java/android/app/AppOpsManager.java
                null /*permission*/, AppOpsManager.OP_NONE, false, true, userId);
./frameworks/base/core/java/android/app/ActivityManagerNative.java
                return new AppOpsManager(ctx, service);
                Activity.RESULT_OK, null, null, null, AppOpsManager.OP_NONE, false, false,
                Activity.RESULT_OK, null, null, receiverPermission, AppOpsManager.OP_NONE,
                Activity.RESULT_OK, null, null, receiverPermission, AppOpsManager.OP_NONE, true, false,
        sendOrderedBroadcast(intent, receiverPermission, AppOpsManager.OP_NONE,
                    AppOpsManager.OP_NONE, false, false, user.getIdentifier());
                Activity.RESULT_OK, null, null, receiverPermission, AppOpsManager.OP_NONE, false, false,
                    AppOpsManager.OP_NONE, true, false, user.getIdentifier());
                Activity.RESULT_OK, null, null, null, AppOpsManager.OP_NONE, false, true,
                    AppOpsManager.OP_NONE, true, true, getUserId());
                Activity.RESULT_OK, null, null, null, AppOpsManager.OP_NONE, false, true, user.getIdentifier());
                    AppOpsManager.OP_NONE, true, true, user.getIdentifier());
./frameworks/base/core/java/android/app/ContextImpl.java
parcelable AppOpsManager.PackageOps;
parcelable AppOpsManager.OpEntry;
./frameworks/base/core/java/android/app/AppOpsManager.aidl
import android.app.AppOpsManager;
        setAppOps(AppOpsManager.OP_NONE, AppOpsManager.OP_WRITE_SETTINGS);
        if (getAppOpsManager().noteOp(AppOpsManager.OP_WRITE_SETTINGS, Binder.getCallingUid(),
                callingPackage) != AppOpsManager.MODE_ALLOWED) {
./frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
import android.app.AppOpsManager;
    private final AppOpsManager mAppOps;
        return (mAppOps.checkOpNoThrow(AppOpsManager.OP_POST_NOTIFICATION, uid, pkg)
                == AppOpsManager.MODE_ALLOWED);
        if (mAppOps.noteOpNoThrow(AppOpsManager.OP_POST_NOTIFICATION, uid, pkg)
                != AppOpsManager.MODE_ALLOWED) {
        mAppOps.setMode(AppOpsManager.OP_POST_NOTIFICATION, uid, pkg,
                enabled ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_IGNORED);
        if (mAppOps.noteOpNoThrow(AppOpsManager.OP_ACCESS_NOTIFICATIONS, uid, callingPkg)
                == AppOpsManager.MODE_ALLOWED) {
        if (mAppOps.noteOpNoThrow(AppOpsManager.OP_ACCESS_NOTIFICATIONS, uid, callingPkg)
                == AppOpsManager.MODE_ALLOWED) {
        mAppOps = (AppOpsManager)context.getSystemService(Context.APP_OPS_SERVICE);
./frameworks/base/services/java/com/android/server/NotificationManagerService.java
import android.app.AppOpsManager;
                            null, null, 0, null, null, null, AppOpsManager.OP_NONE,
                null, 0, null, null, null, AppOpsManager.OP_NONE, false, false, -1,
                null, null, 0, null, null, null, AppOpsManager.OP_NONE,
                null, null, 0, null, null, null, AppOpsManager.OP_NONE,
                                AppOpsManager.OP_NONE, false, false, MY_PID, Process.SYSTEM_UID,
                                    0, null, null, null, AppOpsManager.OP_NONE,
                        null, null, 0, null, null, null, AppOpsManager.OP_NONE,
                        android.Manifest.permission.INTERACT_ACROSS_USERS, AppOpsManager.OP_NONE,
                            null, -1, -1, null, AppOpsManager.OP_NONE, receivers, null, 0,
                    AppOpsManager.OP_NONE, serialized, sticky, -1, uid, userId);
                        null, AppOpsManager.OP_NONE, false, false, MY_PID,
                            null, null, 0, null, null, null, AppOpsManager.OP_NONE,
                            null, null, 0, null, null, null, AppOpsManager.OP_NONE,
                                }, 0, null, null, null, AppOpsManager.OP_NONE,
                            android.Manifest.permission.INTERACT_ACROSS_USERS, AppOpsManager.OP_NONE,
                        null, null, 0, null, null, null, AppOpsManager.OP_NONE,
                        null, null, 0, null, null, null, AppOpsManager.OP_NONE,
                        android.Manifest.permission.MANAGE_USERS, AppOpsManager.OP_NONE,
                        android.Manifest.permission.RECEIVE_BOOT_COMPLETED, AppOpsManager.OP_NONE,
                                null, shutdownReceiver, 0, null, null, null, AppOpsManager.OP_NONE,
                        android.Manifest.permission.INTERACT_ACROSS_USERS, AppOpsManager.OP_NONE,
./frameworks/base/services/java/com/android/server/am/ActivityManagerService.java
import android.app.AppOpsManager;
        if (requiredPermission != null || appOp != AppOpsManager.OP_NONE) {
./frameworks/base/services/java/com/android/server/am/BroadcastRecord.java
import android.app.AppOpsManager;
        if (r.appOp != AppOpsManager.OP_NONE) {
            if (mode != AppOpsManager.MODE_ALLOWED) {
            if (r.appOp != AppOpsManager.OP_NONE) {
                if (mode != AppOpsManager.MODE_ALLOWED) {
./frameworks/base/services/java/com/android/server/am/BroadcastQueue.java
import android.app.AppOpsManager;
    private final AppOpsManager mAppOps;
        mAppOps = (AppOpsManager)context.getSystemService(Context.APP_OPS_SERVICE);
            if (mAppOps.noteOp(AppOpsManager.OP_WRITE_CLIPBOARD, Binder.getCallingUid(),
                    callingPackage) != AppOpsManager.MODE_ALLOWED) {
                    if (mAppOps.checkOpNoThrow(AppOpsManager.OP_READ_CLIPBOARD, li.mUid,
                            li.mPackageName) == AppOpsManager.MODE_ALLOWED) {
            if (mAppOps.noteOp(AppOpsManager.OP_READ_CLIPBOARD, Binder.getCallingUid(),
                    pkg) != AppOpsManager.MODE_ALLOWED) {
            if (mAppOps.checkOp(AppOpsManager.OP_READ_CLIPBOARD, Binder.getCallingUid(),
                    callingPackage) != AppOpsManager.MODE_ALLOWED) {
            if (mAppOps.checkOp(AppOpsManager.OP_READ_CLIPBOARD, Binder.getCallingUid(),
                    callingPackage) != AppOpsManager.MODE_ALLOWED) {
            if (mAppOps.checkOp(AppOpsManager.OP_READ_CLIPBOARD, Binder.getCallingUid(),
                    callingPackage) != AppOpsManager.MODE_ALLOWED) {
./frameworks/base/services/java/com/android/server/ClipboardService.java
                            0, null, null, null, android.app.AppOpsManager.OP_NONE,
                                android.app.AppOpsManager.OP_NONE, false, false, userId);
./frameworks/base/services/java/com/android/server/pm/PackageManagerService.java
import android.app.AppOpsManager;
    final AppOpsManager mAppOps;
        mAppOps = (AppOpsManager)context.getSystemService(Context.APP_OPS_SERVICE);
        mAppOps.startWatchingMode(AppOpsManager.OP_SYSTEM_ALERT_WINDOW, null,
                new AppOpsManager.Callback() {
            if (win.mAppOp != AppOpsManager.OP_NONE) {
                        != AppOpsManager.MODE_ALLOWED) {
        if (win.mAppOp != AppOpsManager.OP_NONE) {
                    if (win.mAppOp != AppOpsManager.OP_NONE) {
                                win.getOwningPackage()) == AppOpsManager.MODE_ALLOWED);
./frameworks/base/services/java/com/android/server/wm/WindowManagerService.java
import android.app.AppOpsManager;
                pw.print(" appop="); pw.println(AppOpsManager.opToName(mAppOp));
./frameworks/base/services/java/com/android/server/wm/WindowState.java
import android.app.AppOpsManager;
    private final AppOpsManager mAppOps;
        mAppOps = (AppOpsManager)context.getSystemService(Context.APP_OPS_SERVICE);
            AppOpsManager.Callback callback = new AppOpsManager.Callback() {
            mAppOps.startWatchingMode(AppOpsManager.OP_COARSE_LOCATION, null, callback);
                return AppOpsManager.OP_COARSE_LOCATION;
                return AppOpsManager.OP_FINE_LOCATION;
            if (mAppOps.noteOpNoThrow(op, uid, packageName) != AppOpsManager.MODE_ALLOWED) {
            if (mAppOps.checkOp(op, uid, packageName) != AppOpsManager.MODE_ALLOWED) {
./frameworks/base/services/java/com/android/server/LocationManagerService.java
import android.app.AppOpsManager;
    private final AppOpsManager mAppOps;
        mAppOps = (AppOpsManager)mContext.getSystemService(Context.APP_OPS_SERVICE);
                    if (mAppOps.noteOpNoThrow(AppOpsManager.OP_FINE_LOCATION, state.mUid,
                            state.mPackageName) != AppOpsManager.MODE_ALLOWED) {
./frameworks/base/services/java/com/android/server/location/GeofenceManager.java
import android.app.AppOpsManager;
                    mAppOpsService.startOperation(AppOpsManager.OP_GPS, uid, newWork.getName(i));
                    mAppOpsService.finishOperation(AppOpsManager.OP_GPS, uid, goneWork.getName(i));
./frameworks/base/services/java/com/android/server/location/GpsLocationProvider.java
import android.app.AppOpsManager;
    private final AppOpsManager mAppOps;
        mAppOps = (AppOpsManager)context.getSystemService(Context.APP_OPS_SERVICE);
        if (mAppOps.noteOp(AppOpsManager.OP_WIFI_SCAN, uid, callingPackage)
                != AppOpsManager.MODE_ALLOWED) {
./frameworks/base/services/java/com/android/server/wifi/WifiService.java
import android.app.AppOpsManager;
            mode = AppOpsManager.MODE_ALLOWED;
    private ArrayList<AppOpsManager.OpEntry> collectOps(Ops pkgOps, int[] ops) {
        ArrayList<AppOpsManager.OpEntry> resOps = null;
            resOps = new ArrayList<AppOpsManager.OpEntry>();
                resOps.add(new AppOpsManager.OpEntry(curOp.op, curOp.mode, curOp.time,
                        resOps = new ArrayList<AppOpsManager.OpEntry>();
                    resOps.add(new AppOpsManager.OpEntry(curOp.op, curOp.mode, curOp.time,
    public List<AppOpsManager.PackageOps> getPackagesForOps(int[] ops) {
        ArrayList<AppOpsManager.PackageOps> res = null;
                    ArrayList<AppOpsManager.OpEntry> resOps = collectOps(pkgOps, ops);
                            res = new ArrayList<AppOpsManager.PackageOps>();
                        AppOpsManager.PackageOps resPackage = new AppOpsManager.PackageOps(
    public List<AppOpsManager.PackageOps> getOpsForPackage(int uid, String packageName,
            ArrayList<AppOpsManager.OpEntry> resOps = collectOps(pkgOps, ops);
            ArrayList<AppOpsManager.PackageOps> res = new ArrayList<AppOpsManager.PackageOps>();
            AppOpsManager.PackageOps resPackage = new AppOpsManager.PackageOps(
        code = AppOpsManager.opToSwitch(code);
                    if (mode == AppOpsManager.MODE_ALLOWED) {
            op = AppOpsManager.opToSwitch(op);
            if (op != AppOpsManager.OP_NONE) {
            Op op = getOpLocked(AppOpsManager.opToSwitch(code), uid, packageName, false);
                return AppOpsManager.MODE_ALLOWED;
                return AppOpsManager.MODE_IGNORED;
            final int switchCode = AppOpsManager.opToSwitch(code);
            if (switchOp.mode != AppOpsManager.MODE_ALLOWED) {
            return AppOpsManager.MODE_ALLOWED;
                return AppOpsManager.MODE_IGNORED;
            final int switchCode = AppOpsManager.opToSwitch(code);
            if (switchOp.mode != AppOpsManager.MODE_ALLOWED) {
            return AppOpsManager.MODE_ALLOWED;
        if (op >= 0 && op < AppOpsManager._NUM_OP) {
            List<AppOpsManager.PackageOps> allOps = getPackagesForOps(null);
                        AppOpsManager.PackageOps pkg = allOps.get(i);
                        List<AppOpsManager.OpEntry> ops = pkg.getOps();
                            AppOpsManager.OpEntry op = ops.get(j);
                            if (op.getMode() != AppOpsManager.MODE_ALLOWED) {
                        pw.print("      "); pw.print(AppOpsManager.opToName(op.op));
./frameworks/base/services/java/com/android/server/AppOpsService.java
import android.app.AppOpsManager;
            int mode = mAppOpsService.startOperation(AppOpsManager.OP_VIBRATE, vib.mUid, vib.mPackageName);
            if (mode != AppOpsManager.MODE_ALLOWED) {
                if (mode == AppOpsManager.MODE_ERRORED) {
                mAppOpsService.finishOperation(AppOpsManager.OP_VIBRATE, mCurrentVibration.mUid,
./frameworks/base/services/java/com/android/server/VibratorService.java
                android.app.AppOpsManager.OP_NONE, true, false, mUserId);
./frameworks/base/cmds/am/src/com/android/commands/am/Am.java
Binary file ./frameworks/base/.git/index matches
./frameworks/base/.git/index
import android.app.AppOpsManager;
        outAppOp[0] = AppOpsManager.OP_NONE;
                outAppOp[0] = AppOpsManager.OP_SYSTEM_ALERT_WINDOW;
./frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java