Loading services/core/java/com/android/server/appop/AppOpsCheckingServiceImpl.java +7 −6 Original line number Diff line number Diff line Loading @@ -218,7 +218,7 @@ public class AppOpsCheckingServiceImpl implements AppOpsCheckingServiceInterface } @Override public boolean arePackageModesDefault(String packageMode, @UserIdInt int userId) { public boolean arePackageModesDefault(@NonNull String packageMode, @UserIdInt int userId) { synchronized (mLock) { ArrayMap<String, SparseIntArray> packageModes = mUserPackageModes.get(userId, null); if (packageModes == null) { Loading Loading @@ -490,15 +490,16 @@ public class AppOpsCheckingServiceImpl implements AppOpsCheckingServiceInterface } @Override public SparseBooleanArray evalForegroundUidOps(int uid, SparseBooleanArray foregroundOps) { public SparseBooleanArray evalForegroundUidOps(int uid, @Nullable SparseBooleanArray foregroundOps) { synchronized (mLock) { return evalForegroundOps(mUidModes.get(uid), foregroundOps); } } @Override public SparseBooleanArray evalForegroundPackageOps(String packageName, SparseBooleanArray foregroundOps, @UserIdInt int userId) { public SparseBooleanArray evalForegroundPackageOps(@NonNull String packageName, @Nullable SparseBooleanArray foregroundOps, @UserIdInt int userId) { synchronized (mLock) { ArrayMap<String, SparseIntArray> packageModes = mUserPackageModes.get(userId, null); return evalForegroundOps(packageModes == null ? null : packageModes.get(packageName), Loading Loading @@ -537,8 +538,8 @@ public class AppOpsCheckingServiceImpl implements AppOpsCheckingServiceInterface } @Override public boolean dumpListeners(int dumpOp, int dumpUid, String dumpPackage, PrintWriter printWriter) { public boolean dumpListeners(int dumpOp, int dumpUid, @Nullable String dumpPackage, @NonNull PrintWriter printWriter) { boolean needSep = false; if (mOpModeWatchers.size() > 0) { boolean printedHeader = false; Loading services/core/java/com/android/server/appop/AppOpsCheckingServiceInterface.java +6 −5 Original line number Diff line number Diff line Loading @@ -103,7 +103,7 @@ public interface AppOpsCheckingServiceInterface { * @param packageName package name. * @param userId user id associated with the package. */ boolean arePackageModesDefault(String packageName, @UserIdInt int userId); boolean arePackageModesDefault(@NonNull String packageName, @UserIdInt int userId); /** * Stop tracking app-op modes for all uid and packages. Loading Loading @@ -184,7 +184,7 @@ public interface AppOpsCheckingServiceInterface { * @param foregroundOps boolean array where app-ops that have MODE_FOREGROUND are marked true. * @return foregroundOps. */ SparseBooleanArray evalForegroundUidOps(int uid, SparseBooleanArray foregroundOps); SparseBooleanArray evalForegroundUidOps(int uid, @Nullable SparseBooleanArray foregroundOps); /** * Go over the list of app-ops for the package name and mark app-ops with MODE_FOREGROUND in Loading @@ -194,8 +194,8 @@ public interface AppOpsCheckingServiceInterface { * @param userId user id associated with the package. * @return foregroundOps. */ SparseBooleanArray evalForegroundPackageOps(String packageName, SparseBooleanArray foregroundOps, @UserIdInt int userId); SparseBooleanArray evalForegroundPackageOps(@NonNull String packageName, @Nullable SparseBooleanArray foregroundOps, @UserIdInt int userId); /** * Dump op mode and package mode listeners and their details. Loading @@ -205,5 +205,6 @@ public interface AppOpsCheckingServiceInterface { * @param dumpPackage if not null and if dumpOp is -1, dumps watchers for the package name. * @param printWriter writer to dump to. */ boolean dumpListeners(int dumpOp, int dumpUid, String dumpPackage, PrintWriter printWriter); boolean dumpListeners(int dumpOp, int dumpUid, @Nullable String dumpPackage, @NonNull PrintWriter printWriter); } services/core/java/com/android/server/appop/OnOpModeChangedListener.java +1 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import android.os.RemoteException; * Listener for mode changes, encapsulates methods that should be triggered in the event of a mode * change. */ abstract class OnOpModeChangedListener { public abstract class OnOpModeChangedListener { // Constant meaning that any UID should be matched when dispatching callbacks private static final int UID_ANY = -2; Loading services/permission/java/com/android/server/permission/access/appop/AppOpsCheckingServiceCompatImpl.kt 0 → 100644 +144 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.permission.access.appop import android.util.ArraySet import android.util.SparseBooleanArray import android.util.SparseIntArray import com.android.server.appop.AppOpsCheckingServiceInterface import com.android.server.appop.OnOpModeChangedListener import com.android.server.permission.access.AccessCheckingService import java.io.PrintWriter class AppOpsCheckingServiceCompatImpl( private val accessCheckingService: AccessCheckingService ) : AppOpsCheckingServiceInterface { override fun getNonDefaultUidModes(uid: Int): SparseIntArray { TODO("Not yet implemented") } override fun getUidMode(uid: Int, op: Int): Int { TODO("Not yet implemented") } override fun setUidMode(uid: Int, op: Int, mode: Int): Boolean { TODO("Not yet implemented") } override fun getPackageMode(packageName: String, op: Int, userId: Int): Int { TODO("Not yet implemented") } override fun setPackageMode(packageName: String, op: Int, mode: Int, userId: Int) { TODO("Not yet implemented") } override fun removePackage(packageName: String, userId: Int): Boolean { TODO("Not yet implemented") } override fun removeUid(uid: Int) { TODO("Not yet implemented") } override fun areUidModesDefault(uid: Int): Boolean { TODO("Not yet implemented") } override fun arePackageModesDefault(packageName: String, userId: Int): Boolean { TODO("Not yet implemented") } override fun clearAllModes() { TODO("Not yet implemented") } override fun startWatchingOpModeChanged(changedListener: OnOpModeChangedListener, op: Int) { TODO("Not yet implemented") } override fun startWatchingPackageModeChanged( changedListener: OnOpModeChangedListener, packageName: String ) { TODO("Not yet implemented") } override fun removeListener(changedListener: OnOpModeChangedListener) { TODO("Not yet implemented") } override fun getOpModeChangedListeners(op: Int): ArraySet<OnOpModeChangedListener> { TODO("Not yet implemented") } override fun getPackageModeChangedListeners( packageName: String ): ArraySet<OnOpModeChangedListener> { TODO("Not yet implemented") } override fun notifyWatchersOfChange(op: Int, uid: Int) { TODO("Not yet implemented") } override fun notifyOpChanged( changedListener: OnOpModeChangedListener, op: Int, uid: Int, packageName: String? ) { TODO("Not yet implemented") } override fun notifyOpChangedForAllPkgsInUid( op: Int, uid: Int, onlyForeground: Boolean, callbackToIgnore: OnOpModeChangedListener? ) { TODO("Not yet implemented") } override fun evalForegroundUidOps( uid: Int, foregroundOps: SparseBooleanArray? ): SparseBooleanArray { TODO("Not yet implemented") } override fun evalForegroundPackageOps( packageName: String, foregroundOps: SparseBooleanArray?, userId: Int ): SparseBooleanArray { TODO("Not yet implemented") } override fun dumpListeners( dumpOp: Int, dumpUid: Int, dumpPackage: String?, printWriter: PrintWriter ): Boolean { TODO("Not yet implemented") } companion object { private val LOG_TAG = AppOpsCheckingServiceCompatImpl::class.java.simpleName } } Loading
services/core/java/com/android/server/appop/AppOpsCheckingServiceImpl.java +7 −6 Original line number Diff line number Diff line Loading @@ -218,7 +218,7 @@ public class AppOpsCheckingServiceImpl implements AppOpsCheckingServiceInterface } @Override public boolean arePackageModesDefault(String packageMode, @UserIdInt int userId) { public boolean arePackageModesDefault(@NonNull String packageMode, @UserIdInt int userId) { synchronized (mLock) { ArrayMap<String, SparseIntArray> packageModes = mUserPackageModes.get(userId, null); if (packageModes == null) { Loading Loading @@ -490,15 +490,16 @@ public class AppOpsCheckingServiceImpl implements AppOpsCheckingServiceInterface } @Override public SparseBooleanArray evalForegroundUidOps(int uid, SparseBooleanArray foregroundOps) { public SparseBooleanArray evalForegroundUidOps(int uid, @Nullable SparseBooleanArray foregroundOps) { synchronized (mLock) { return evalForegroundOps(mUidModes.get(uid), foregroundOps); } } @Override public SparseBooleanArray evalForegroundPackageOps(String packageName, SparseBooleanArray foregroundOps, @UserIdInt int userId) { public SparseBooleanArray evalForegroundPackageOps(@NonNull String packageName, @Nullable SparseBooleanArray foregroundOps, @UserIdInt int userId) { synchronized (mLock) { ArrayMap<String, SparseIntArray> packageModes = mUserPackageModes.get(userId, null); return evalForegroundOps(packageModes == null ? null : packageModes.get(packageName), Loading Loading @@ -537,8 +538,8 @@ public class AppOpsCheckingServiceImpl implements AppOpsCheckingServiceInterface } @Override public boolean dumpListeners(int dumpOp, int dumpUid, String dumpPackage, PrintWriter printWriter) { public boolean dumpListeners(int dumpOp, int dumpUid, @Nullable String dumpPackage, @NonNull PrintWriter printWriter) { boolean needSep = false; if (mOpModeWatchers.size() > 0) { boolean printedHeader = false; Loading
services/core/java/com/android/server/appop/AppOpsCheckingServiceInterface.java +6 −5 Original line number Diff line number Diff line Loading @@ -103,7 +103,7 @@ public interface AppOpsCheckingServiceInterface { * @param packageName package name. * @param userId user id associated with the package. */ boolean arePackageModesDefault(String packageName, @UserIdInt int userId); boolean arePackageModesDefault(@NonNull String packageName, @UserIdInt int userId); /** * Stop tracking app-op modes for all uid and packages. Loading Loading @@ -184,7 +184,7 @@ public interface AppOpsCheckingServiceInterface { * @param foregroundOps boolean array where app-ops that have MODE_FOREGROUND are marked true. * @return foregroundOps. */ SparseBooleanArray evalForegroundUidOps(int uid, SparseBooleanArray foregroundOps); SparseBooleanArray evalForegroundUidOps(int uid, @Nullable SparseBooleanArray foregroundOps); /** * Go over the list of app-ops for the package name and mark app-ops with MODE_FOREGROUND in Loading @@ -194,8 +194,8 @@ public interface AppOpsCheckingServiceInterface { * @param userId user id associated with the package. * @return foregroundOps. */ SparseBooleanArray evalForegroundPackageOps(String packageName, SparseBooleanArray foregroundOps, @UserIdInt int userId); SparseBooleanArray evalForegroundPackageOps(@NonNull String packageName, @Nullable SparseBooleanArray foregroundOps, @UserIdInt int userId); /** * Dump op mode and package mode listeners and their details. Loading @@ -205,5 +205,6 @@ public interface AppOpsCheckingServiceInterface { * @param dumpPackage if not null and if dumpOp is -1, dumps watchers for the package name. * @param printWriter writer to dump to. */ boolean dumpListeners(int dumpOp, int dumpUid, String dumpPackage, PrintWriter printWriter); boolean dumpListeners(int dumpOp, int dumpUid, @Nullable String dumpPackage, @NonNull PrintWriter printWriter); }
services/core/java/com/android/server/appop/OnOpModeChangedListener.java +1 −1 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ import android.os.RemoteException; * Listener for mode changes, encapsulates methods that should be triggered in the event of a mode * change. */ abstract class OnOpModeChangedListener { public abstract class OnOpModeChangedListener { // Constant meaning that any UID should be matched when dispatching callbacks private static final int UID_ANY = -2; Loading
services/permission/java/com/android/server/permission/access/appop/AppOpsCheckingServiceCompatImpl.kt 0 → 100644 +144 −0 Original line number Diff line number Diff line /* * Copyright (C) 2022 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.server.permission.access.appop import android.util.ArraySet import android.util.SparseBooleanArray import android.util.SparseIntArray import com.android.server.appop.AppOpsCheckingServiceInterface import com.android.server.appop.OnOpModeChangedListener import com.android.server.permission.access.AccessCheckingService import java.io.PrintWriter class AppOpsCheckingServiceCompatImpl( private val accessCheckingService: AccessCheckingService ) : AppOpsCheckingServiceInterface { override fun getNonDefaultUidModes(uid: Int): SparseIntArray { TODO("Not yet implemented") } override fun getUidMode(uid: Int, op: Int): Int { TODO("Not yet implemented") } override fun setUidMode(uid: Int, op: Int, mode: Int): Boolean { TODO("Not yet implemented") } override fun getPackageMode(packageName: String, op: Int, userId: Int): Int { TODO("Not yet implemented") } override fun setPackageMode(packageName: String, op: Int, mode: Int, userId: Int) { TODO("Not yet implemented") } override fun removePackage(packageName: String, userId: Int): Boolean { TODO("Not yet implemented") } override fun removeUid(uid: Int) { TODO("Not yet implemented") } override fun areUidModesDefault(uid: Int): Boolean { TODO("Not yet implemented") } override fun arePackageModesDefault(packageName: String, userId: Int): Boolean { TODO("Not yet implemented") } override fun clearAllModes() { TODO("Not yet implemented") } override fun startWatchingOpModeChanged(changedListener: OnOpModeChangedListener, op: Int) { TODO("Not yet implemented") } override fun startWatchingPackageModeChanged( changedListener: OnOpModeChangedListener, packageName: String ) { TODO("Not yet implemented") } override fun removeListener(changedListener: OnOpModeChangedListener) { TODO("Not yet implemented") } override fun getOpModeChangedListeners(op: Int): ArraySet<OnOpModeChangedListener> { TODO("Not yet implemented") } override fun getPackageModeChangedListeners( packageName: String ): ArraySet<OnOpModeChangedListener> { TODO("Not yet implemented") } override fun notifyWatchersOfChange(op: Int, uid: Int) { TODO("Not yet implemented") } override fun notifyOpChanged( changedListener: OnOpModeChangedListener, op: Int, uid: Int, packageName: String? ) { TODO("Not yet implemented") } override fun notifyOpChangedForAllPkgsInUid( op: Int, uid: Int, onlyForeground: Boolean, callbackToIgnore: OnOpModeChangedListener? ) { TODO("Not yet implemented") } override fun evalForegroundUidOps( uid: Int, foregroundOps: SparseBooleanArray? ): SparseBooleanArray { TODO("Not yet implemented") } override fun evalForegroundPackageOps( packageName: String, foregroundOps: SparseBooleanArray?, userId: Int ): SparseBooleanArray { TODO("Not yet implemented") } override fun dumpListeners( dumpOp: Int, dumpUid: Int, dumpPackage: String?, printWriter: PrintWriter ): Boolean { TODO("Not yet implemented") } companion object { private val LOG_TAG = AppOpsCheckingServiceCompatImpl::class.java.simpleName } }