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