{{{ 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 mOps = new SparseArray(); 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 mOps = new ArrayList(); private final ArrayList mSwitchOps = new ArrayList(); public AppOpEntry(AppOpsManager.PackageOps pkg, AppOpsManager.OpEntry op, AppEntry app, private static void addOp(ArrayList 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 ops, private void addOp(List 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 pkgs; AppOpsManager.PackageOps pkgOps = pkgs.get(i); AppOpsManager.OpEntry opEntry = pkgOps.getOps().get(j); List dummyOps = null; AppOpsManager.PackageOps pkgOps = null; dummyOps = new ArrayList(); 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 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 AppOpsManager mAppOpsManager; ./frameworks/av/services/camera/libcameraservice/CameraService.h AppOpsManager.cpp \ ./frameworks/native/libs/binder/Android.mk #include AppOpsManager::AppOpsManager() sp 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& 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 getPackagesForOps(in int[] ops); List 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 getPackagesForOps(int[] ops) { public List 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 collectOps(Ops pkgOps, int[] ops) { ArrayList resOps = null; resOps = new ArrayList(); resOps.add(new AppOpsManager.OpEntry(curOp.op, curOp.mode, curOp.time, resOps = new ArrayList(); resOps.add(new AppOpsManager.OpEntry(curOp.op, curOp.mode, curOp.time, public List getPackagesForOps(int[] ops) { ArrayList res = null; ArrayList resOps = collectOps(pkgOps, ops); res = new ArrayList(); AppOpsManager.PackageOps resPackage = new AppOpsManager.PackageOps( public List getOpsForPackage(int uid, String packageName, ArrayList resOps = collectOps(pkgOps, ops); ArrayList res = new ArrayList(); 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 allOps = getPackagesForOps(null); AppOpsManager.PackageOps pkg = allOps.get(i); List 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 }}}