diff options
| -rw-r--r-- | services/core/java/com/android/server/appop/AppOpsCheckingServiceImpl.java (renamed from services/core/java/com/android/server/appop/LegacyAppOpsServiceInterfaceImpl.java) | 8 | ||||
| -rw-r--r-- | services/core/java/com/android/server/appop/AppOpsCheckingServiceInterface.java (renamed from services/core/java/com/android/server/appop/AppOpsServiceInterface.java) | 2 | ||||
| -rw-r--r-- | services/core/java/com/android/server/appop/AppOpsRestrictionsImpl.java | 8 | ||||
| -rw-r--r-- | services/core/java/com/android/server/appop/AppOpsService.java | 75 | ||||
| -rw-r--r-- | services/permission/java/com/android/server/permission/access/AccessCheckingService.kt | 4 | ||||
| -rw-r--r-- | services/permission/java/com/android/server/permission/access/appop/AppOpService.kt | 4 | ||||
| -rw-r--r-- | services/tests/mockingservicestests/src/com/android/server/appop/AppOpsLegacyRestrictionsTest.java | 2 |
7 files changed, 52 insertions, 51 deletions
diff --git a/services/core/java/com/android/server/appop/LegacyAppOpsServiceInterfaceImpl.java b/services/core/java/com/android/server/appop/AppOpsCheckingServiceImpl.java index f6fff351c232..ac25f4edfdb7 100644 --- a/services/core/java/com/android/server/appop/LegacyAppOpsServiceInterfaceImpl.java +++ b/services/core/java/com/android/server/appop/AppOpsCheckingServiceImpl.java @@ -56,7 +56,7 @@ import java.util.Objects; * Legacy implementation for App-ops service's app-op mode (uid and package) storage and access. * In the future this class will also include mode callbacks and op restrictions. */ -public class LegacyAppOpsServiceInterfaceImpl implements AppOpsServiceInterface { +public class AppOpsCheckingServiceImpl implements AppOpsCheckingServiceInterface { static final String TAG = "LegacyAppOpsServiceInterfaceImpl"; @@ -84,7 +84,7 @@ public class LegacyAppOpsServiceInterfaceImpl implements AppOpsServiceInterface private static final int UID_ANY = -2; - LegacyAppOpsServiceInterfaceImpl(PersistenceScheduler persistenceScheduler, + AppOpsCheckingServiceImpl(PersistenceScheduler persistenceScheduler, @NonNull Object lock, Handler handler, Context context, SparseArray<int[]> switchedOps) { this.mPersistenceScheduler = persistenceScheduler; @@ -456,7 +456,7 @@ public class LegacyAppOpsServiceInterfaceImpl implements AppOpsServiceInterface final ArraySet<String> reportedPackageNames = callbackSpecs.valueAt(i); if (reportedPackageNames == null) { mHandler.sendMessage(PooledLambda.obtainMessage( - LegacyAppOpsServiceInterfaceImpl::notifyOpChanged, + AppOpsCheckingServiceImpl::notifyOpChanged, this, callback, code, uid, (String) null)); } else { @@ -464,7 +464,7 @@ public class LegacyAppOpsServiceInterfaceImpl implements AppOpsServiceInterface for (int j = 0; j < reportedPackageCount; j++) { final String reportedPackageName = reportedPackageNames.valueAt(j); mHandler.sendMessage(PooledLambda.obtainMessage( - LegacyAppOpsServiceInterfaceImpl::notifyOpChanged, + AppOpsCheckingServiceImpl::notifyOpChanged, this, callback, code, uid, reportedPackageName)); } } diff --git a/services/core/java/com/android/server/appop/AppOpsServiceInterface.java b/services/core/java/com/android/server/appop/AppOpsCheckingServiceInterface.java index 18f659e4c62a..d8d0d48965ea 100644 --- a/services/core/java/com/android/server/appop/AppOpsServiceInterface.java +++ b/services/core/java/com/android/server/appop/AppOpsCheckingServiceInterface.java @@ -30,7 +30,7 @@ import java.io.PrintWriter; * This interface also includes functions for added and removing op mode watchers. * In the future this interface will also include op restrictions. */ -public interface AppOpsServiceInterface { +public interface AppOpsCheckingServiceInterface { /** * Returns a copy of non-default app-ops with op as keys and their modes as values for a uid. * Returns an empty SparseIntArray if nothing is set. diff --git a/services/core/java/com/android/server/appop/AppOpsRestrictionsImpl.java b/services/core/java/com/android/server/appop/AppOpsRestrictionsImpl.java index adfd2afffd78..f51200f2bf0c 100644 --- a/services/core/java/com/android/server/appop/AppOpsRestrictionsImpl.java +++ b/services/core/java/com/android/server/appop/AppOpsRestrictionsImpl.java @@ -42,7 +42,7 @@ public class AppOpsRestrictionsImpl implements AppOpsRestrictions { private Context mContext; private Handler mHandler; - private AppOpsServiceInterface mAppOpsServiceInterface; + private AppOpsCheckingServiceInterface mAppOpsCheckingServiceInterface; // Map from (Object token) to (int code) to (boolean restricted) private final ArrayMap<Object, SparseBooleanArray> mGlobalRestrictions = new ArrayMap<>(); @@ -56,10 +56,10 @@ public class AppOpsRestrictionsImpl implements AppOpsRestrictions { mUserRestrictionExcludedPackageTags = new ArrayMap<>(); public AppOpsRestrictionsImpl(Context context, Handler handler, - AppOpsServiceInterface appOpsServiceInterface) { + AppOpsCheckingServiceInterface appOpsCheckingServiceInterface) { mContext = context; mHandler = handler; - mAppOpsServiceInterface = appOpsServiceInterface; + mAppOpsCheckingServiceInterface = appOpsCheckingServiceInterface; } @Override @@ -219,7 +219,7 @@ public class AppOpsRestrictionsImpl implements AppOpsRestrictions { int restrictedCodesSize = allUserRestrictedCodes.size(); for (int j = 0; j < restrictedCodesSize; j++) { int code = allUserRestrictedCodes.keyAt(j); - mHandler.post(() -> mAppOpsServiceInterface.notifyWatchersOfChange(code, UID_ANY)); + mHandler.post(() -> mAppOpsCheckingServiceInterface.notifyWatchersOfChange(code, UID_ANY)); } } diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java index cc0a77a6397f..934542291334 100644 --- a/services/core/java/com/android/server/appop/AppOpsService.java +++ b/services/core/java/com/android/server/appop/AppOpsService.java @@ -383,7 +383,8 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch private @Nullable PackageManagerInternal mPackageManagerInternal; /** Interface for app-op modes.*/ - @VisibleForTesting AppOpsServiceInterface mAppOpsServiceInterface; + @VisibleForTesting + AppOpsCheckingServiceInterface mAppOpsCheckingService; /** Interface for app-op restrictions.*/ @VisibleForTesting AppOpsRestrictions mAppOpsRestrictions; @@ -514,10 +515,10 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch } public void clear() { - mAppOpsServiceInterface.removeUid(uid); + mAppOpsCheckingService.removeUid(uid); if (pkgOps != null) { for (String packageName : pkgOps.keySet()) { - mAppOpsServiceInterface.removePackage(packageName, UserHandle.getUserId(uid)); + mAppOpsCheckingService.removePackage(packageName, UserHandle.getUserId(uid)); } } pkgOps = null; @@ -527,7 +528,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch boolean areAllPackageModesDefault = true; if (pkgOps != null) { for (String packageName : pkgOps.keySet()) { - if (!mAppOpsServiceInterface.arePackageModesDefault(packageName, + if (!mAppOpsCheckingService.arePackageModesDefault(packageName, UserHandle.getUserId(uid))) { areAllPackageModesDefault = false; break; @@ -535,21 +536,21 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch } } return (pkgOps == null || pkgOps.isEmpty()) - && mAppOpsServiceInterface.areUidModesDefault(uid) + && mAppOpsCheckingService.areUidModesDefault(uid) && areAllPackageModesDefault; } // Functions for uid mode access and manipulation. public SparseIntArray getNonDefaultUidModes() { - return mAppOpsServiceInterface.getNonDefaultUidModes(uid); + return mAppOpsCheckingService.getNonDefaultUidModes(uid); } public int getUidMode(int op) { - return mAppOpsServiceInterface.getUidMode(uid, op); + return mAppOpsCheckingService.getUidMode(uid, op); } public boolean setUidMode(int op, int mode) { - return mAppOpsServiceInterface.setUidMode(uid, op, mode); + return mAppOpsCheckingService.setUidMode(uid, op, mode); } @SuppressWarnings("GuardedBy") @@ -559,10 +560,10 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch public void evalForegroundOps() { foregroundOps = null; - foregroundOps = mAppOpsServiceInterface.evalForegroundUidOps(uid, foregroundOps); + foregroundOps = mAppOpsCheckingService.evalForegroundUidOps(uid, foregroundOps); if (pkgOps != null) { for (int i = pkgOps.size() - 1; i >= 0; i--) { - foregroundOps = mAppOpsServiceInterface + foregroundOps = mAppOpsCheckingService .evalForegroundPackageOps(pkgOps.valueAt(i).packageName, foregroundOps, UserHandle.getUserId(uid)); } @@ -643,11 +644,11 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch } @Mode int getMode() { - return mAppOpsServiceInterface.getPackageMode(packageName, this.op, + return mAppOpsCheckingService.getPackageMode(packageName, this.op, UserHandle.getUserId(this.uid)); } void setMode(@Mode int mode) { - mAppOpsServiceInterface.setPackageMode(packageName, this.op, mode, + mAppOpsCheckingService.setPackageMode(packageName, this.op, mode, UserHandle.getUserId(this.uid)); } @@ -952,10 +953,10 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch mSwitchedOps.put(switchCode, ArrayUtils.appendInt(mSwitchedOps.get(switchCode), switchedCode)); } - mAppOpsServiceInterface = - new LegacyAppOpsServiceInterfaceImpl(this, this, handler, context, mSwitchedOps); + mAppOpsCheckingService = + new AppOpsCheckingServiceImpl(this, this, handler, context, mSwitchedOps); mAppOpsRestrictions = new AppOpsRestrictionsImpl(context, handler, - mAppOpsServiceInterface); + mAppOpsCheckingService); LockGuard.installLock(this, LockGuard.INDEX_APP_OPS); mFile = new AtomicFile(storagePath, "appops"); @@ -990,7 +991,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch if (uidState == null || uidState.pkgOps == null) { return; } - mAppOpsServiceInterface.removePackage(pkgName, UserHandle.getUserId(uid)); + mAppOpsCheckingService.removePackage(pkgName, UserHandle.getUserId(uid)); Ops removedOps = uidState.pkgOps.remove(pkgName); if (removedOps != null) { scheduleFastWriteLocked(); @@ -1134,7 +1135,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch ArraySet<OnOpModeChangedListener> onModeChangedListeners; synchronized (AppOpsService.this) { onModeChangedListeners = - mAppOpsServiceInterface.getOpModeChangedListeners(code); + mAppOpsCheckingService.getOpModeChangedListeners(code); if (onModeChangedListeners == null) { continue; } @@ -1221,7 +1222,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch // Remove any package state if such. if (uidState.pkgOps != null) { removedOps = uidState.pkgOps.remove(packageName); - mAppOpsServiceInterface.removePackage(packageName, UserHandle.getUserId(uid)); + mAppOpsCheckingService.removePackage(packageName, UserHandle.getUserId(uid)); } // If we just nuked the last package state check if the UID is valid. @@ -1287,7 +1288,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch this, code, uidState.uid, true, null)); } else if (uidState.pkgOps != null) { final ArraySet<OnOpModeChangedListener> listenerSet = - mAppOpsServiceInterface.getOpModeChangedListeners(code); + mAppOpsCheckingService.getOpModeChangedListeners(code); if (listenerSet != null) { for (int cbi = listenerSet.size() - 1; cbi >= 0; cbi--) { final OnOpModeChangedListener listener = listenerSet.valueAt(cbi); @@ -1680,7 +1681,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch ArrayMap<String, Ops> pkgOps = uidState.pkgOps; if (pkgOps != null) { pkgOps.remove(ops.packageName); - mAppOpsServiceInterface.removePackage(ops.packageName, + mAppOpsCheckingService.removePackage(ops.packageName, UserHandle.getUserId(uidState.uid)); if (pkgOps.isEmpty()) { uidState.pkgOps = null; @@ -1776,7 +1777,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch @Nullable IAppOpsCallback callbackToIgnore) { ModeCallback listenerToIgnore = callbackToIgnore != null ? mModeWatchers.get(callbackToIgnore.asBinder()) : null; - mAppOpsServiceInterface.notifyOpChangedForAllPkgsInUid(code, uid, onlyForeground, + mAppOpsCheckingService.notifyOpChangedForAllPkgsInUid(code, uid, onlyForeground, listenerToIgnore); } @@ -1925,14 +1926,14 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch uidState.evalForegroundOps(); } ArraySet<OnOpModeChangedListener> cbs = - mAppOpsServiceInterface.getOpModeChangedListeners(code); + mAppOpsCheckingService.getOpModeChangedListeners(code); if (cbs != null) { if (repCbs == null) { repCbs = new ArraySet<>(); } repCbs.addAll(cbs); } - cbs = mAppOpsServiceInterface.getPackageModeChangedListeners(packageName); + cbs = mAppOpsCheckingService.getPackageModeChangedListeners(packageName); if (cbs != null) { if (repCbs == null) { repCbs = new ArraySet<>(); @@ -1973,7 +1974,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch private void notifyOpChanged(OnOpModeChangedListener callback, int code, int uid, String packageName) { - mAppOpsServiceInterface.notifyOpChanged(callback, code, uid, packageName); + mAppOpsCheckingService.notifyOpChanged(callback, code, uid, packageName); } private static ArrayList<ChangeRec> addChange(ArrayList<ChangeRec> reports, @@ -2071,9 +2072,9 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch for (String packageName : getPackagesForUid(uidState.uid)) { callbacks = addCallbacks(callbacks, code, uidState.uid, packageName, previousMode, - mAppOpsServiceInterface.getOpModeChangedListeners(code)); + mAppOpsCheckingService.getOpModeChangedListeners(code)); callbacks = addCallbacks(callbacks, code, uidState.uid, packageName, - previousMode, mAppOpsServiceInterface + previousMode, mAppOpsCheckingService .getPackageModeChangedListeners(packageName)); allChanges = addChange(allChanges, code, uidState.uid, @@ -2119,9 +2120,9 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch final int uid = curOp.uidState.uid; callbacks = addCallbacks(callbacks, curOp.op, uid, packageName, previousMode, - mAppOpsServiceInterface.getOpModeChangedListeners(curOp.op)); + mAppOpsCheckingService.getOpModeChangedListeners(curOp.op)); callbacks = addCallbacks(callbacks, curOp.op, uid, packageName, - previousMode, mAppOpsServiceInterface + previousMode, mAppOpsCheckingService .getPackageModeChangedListeners(packageName)); allChanges = addChange(allChanges, curOp.op, uid, packageName, @@ -2134,7 +2135,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch } if (pkgOps.size() == 0) { it.remove(); - mAppOpsServiceInterface.removePackage(packageName, + mAppOpsCheckingService.removePackage(packageName, UserHandle.getUserId(uidState.uid)); } } @@ -2238,10 +2239,10 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch mModeWatchers.put(callback.asBinder(), cb); } if (switchOp != AppOpsManager.OP_NONE) { - mAppOpsServiceInterface.startWatchingOpModeChanged(cb, switchOp); + mAppOpsCheckingService.startWatchingOpModeChanged(cb, switchOp); } if (mayWatchPackageName) { - mAppOpsServiceInterface.startWatchingPackageModeChanged(cb, packageName); + mAppOpsCheckingService.startWatchingPackageModeChanged(cb, packageName); } evalAllForegroundOpsLocked(); } @@ -2256,7 +2257,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch ModeCallback cb = mModeWatchers.remove(callback.asBinder()); if (cb != null) { cb.unlinkToDeath(); - mAppOpsServiceInterface.removeListener(cb); + mAppOpsCheckingService.removeListener(cb); } evalAllForegroundOpsLocked(); @@ -3911,7 +3912,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch } boolean success = false; mUidStates.clear(); - mAppOpsServiceInterface.clearAllModes(); + mAppOpsCheckingService.clearAllModes(); try { TypedXmlPullParser parser = Xml.resolvePullParser(stream); int type; @@ -3960,7 +3961,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch } finally { if (!success) { mUidStates.clear(); - mAppOpsServiceInterface.clearAllModes(); + mAppOpsCheckingService.clearAllModes(); } try { stream.close(); @@ -5131,7 +5132,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch } if (!dumpHistory) { - needSep |= mAppOpsServiceInterface.dumpListeners(dumpOp, dumpUid, dumpPackage, pw); + needSep |= mAppOpsCheckingService.dumpListeners(dumpOp, dumpUid, dumpPackage, pw); } if (mModeWatchers.size() > 0 && dumpOp < 0 && !dumpHistory) { @@ -5559,7 +5560,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch private void notifyWatchersOfChange(int code, int uid) { final ArraySet<OnOpModeChangedListener> modeChangedListenerSet; synchronized (this) { - modeChangedListenerSet = mAppOpsServiceInterface.getOpModeChangedListeners(code); + modeChangedListenerSet = mAppOpsCheckingService.getOpModeChangedListeners(code); if (modeChangedListenerSet == null) { return; } @@ -5661,7 +5662,7 @@ public class AppOpsService extends IAppOpsService.Stub implements PersistenceSch return; } Ops removedOps = uidState.pkgOps.remove(packageName); - mAppOpsServiceInterface.removePackage(packageName, UserHandle.getUserId(uid)); + mAppOpsCheckingService.removePackage(packageName, UserHandle.getUserId(uid)); if (removedOps != null) { scheduleFastWriteLocked(); } diff --git a/services/permission/java/com/android/server/permission/access/AccessCheckingService.kt b/services/permission/java/com/android/server/permission/access/AccessCheckingService.kt index 45837e2cdeb3..96270f79e710 100644 --- a/services/permission/java/com/android/server/permission/access/AccessCheckingService.kt +++ b/services/permission/java/com/android/server/permission/access/AccessCheckingService.kt @@ -21,7 +21,7 @@ import com.android.internal.annotations.Keep import com.android.server.LocalManagerRegistry import com.android.server.LocalServices import com.android.server.SystemService -import com.android.server.appop.AppOpsServiceInterface +import com.android.server.appop.AppOpsCheckingServiceInterface import com.android.server.permission.access.appop.AppOpService import com.android.server.permission.access.collection.IntSet import com.android.server.permission.access.permission.PermissionService @@ -51,7 +51,7 @@ class AccessCheckingService(context: Context) : SystemService(context) { appOpService = AppOpService(this) permissionService = PermissionService(this) - LocalServices.addService(AppOpsServiceInterface::class.java, appOpService) + LocalServices.addService(AppOpsCheckingServiceInterface::class.java, appOpService) LocalServices.addService(PermissionManagerServiceInterface::class.java, permissionService) } diff --git a/services/permission/java/com/android/server/permission/access/appop/AppOpService.kt b/services/permission/java/com/android/server/permission/access/appop/AppOpService.kt index f606f86281ea..b8d6aa3b4e49 100644 --- a/services/permission/java/com/android/server/permission/access/appop/AppOpService.kt +++ b/services/permission/java/com/android/server/permission/access/appop/AppOpService.kt @@ -19,14 +19,14 @@ package com.android.server.permission.access.appop import android.util.ArraySet import android.util.SparseBooleanArray import android.util.SparseIntArray -import com.android.server.appop.AppOpsServiceInterface +import com.android.server.appop.AppOpsCheckingServiceInterface import com.android.server.appop.OnOpModeChangedListener import com.android.server.permission.access.AccessCheckingService import java.io.PrintWriter class AppOpService( private val service: AccessCheckingService -) : AppOpsServiceInterface { +) : AppOpsCheckingServiceInterface { fun initialize() { TODO("Not yet implemented") } diff --git a/services/tests/mockingservicestests/src/com/android/server/appop/AppOpsLegacyRestrictionsTest.java b/services/tests/mockingservicestests/src/com/android/server/appop/AppOpsLegacyRestrictionsTest.java index 5dc12510368c..021d01cca381 100644 --- a/services/tests/mockingservicestests/src/com/android/server/appop/AppOpsLegacyRestrictionsTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/appop/AppOpsLegacyRestrictionsTest.java @@ -57,7 +57,7 @@ public class AppOpsLegacyRestrictionsTest { Handler mHandler; @Mock - AppOpsServiceInterface mLegacyAppOpsService; + AppOpsCheckingServiceInterface mLegacyAppOpsService; AppOpsRestrictions mAppOpsRestrictions; |