Loading services/core/java/com/android/server/pm/permission/BasePermission.java +0 −12 Original line number Diff line number Diff line Loading @@ -433,18 +433,6 @@ public final class BasePermission { throw new SecurityException("No permission tree found for " + permName); } public void enforceDeclaredUsedAndRuntimeOrDevelopment(AndroidPackage pkg, UidPermissionState uidState) { if (!uidState.hasPermissionState(name) && !pkg.getRequestedPermissions().contains(name)) { throw new SecurityException("Package " + pkg.getPackageName() + " has not requested permission " + name); } if (!isRuntime() && !isDevelopment()) { throw new SecurityException("Permission " + name + " requested by " + pkg.getPackageName() + " is not a changeable permission type"); } } private static BasePermission findPermissionTree( Collection<BasePermission> permissionTrees, String permName) { for (BasePermission bp : permissionTrees) { Loading services/core/java/com/android/server/pm/permission/DevicePermissionState.java +13 −32 Original line number Diff line number Diff line Loading @@ -21,50 +21,32 @@ import android.annotation.Nullable; import android.annotation.UserIdInt; import android.util.SparseArray; import com.android.internal.annotations.GuardedBy; /** * Permission state for this device. */ public final class DevicePermissionState { @GuardedBy("mLock") @NonNull private final SparseArray<UserPermissionState> mUserStates = new SparseArray<>(); @NonNull private final Object mLock; public DevicePermissionState(@NonNull Object lock) { mLock = lock; } @Nullable public UserPermissionState getUserState(@UserIdInt int userId) { synchronized (mLock) { return mUserStates.get(userId); } } @NonNull public UserPermissionState getOrCreateUserState(@UserIdInt int userId) { synchronized (mLock) { UserPermissionState userState = mUserStates.get(userId); if (userState == null) { userState = new UserPermissionState(mLock); userState = new UserPermissionState(); mUserStates.put(userId, userState); } return userState; } } public void removeUserState(@UserIdInt int userId) { synchronized (mLock) { mUserStates.delete(userId); } } public int[] getUserIds() { synchronized (mLock) { final int userStatesSize = mUserStates.size(); final int[] userIds = new int[userStatesSize]; for (int i = 0; i < userStatesSize; i++) { Loading @@ -74,4 +56,3 @@ public final class DevicePermissionState { return userIds; } } } Loading
services/core/java/com/android/server/pm/permission/BasePermission.java +0 −12 Original line number Diff line number Diff line Loading @@ -433,18 +433,6 @@ public final class BasePermission { throw new SecurityException("No permission tree found for " + permName); } public void enforceDeclaredUsedAndRuntimeOrDevelopment(AndroidPackage pkg, UidPermissionState uidState) { if (!uidState.hasPermissionState(name) && !pkg.getRequestedPermissions().contains(name)) { throw new SecurityException("Package " + pkg.getPackageName() + " has not requested permission " + name); } if (!isRuntime() && !isDevelopment()) { throw new SecurityException("Permission " + name + " requested by " + pkg.getPackageName() + " is not a changeable permission type"); } } private static BasePermission findPermissionTree( Collection<BasePermission> permissionTrees, String permName) { for (BasePermission bp : permissionTrees) { Loading
services/core/java/com/android/server/pm/permission/DevicePermissionState.java +13 −32 Original line number Diff line number Diff line Loading @@ -21,50 +21,32 @@ import android.annotation.Nullable; import android.annotation.UserIdInt; import android.util.SparseArray; import com.android.internal.annotations.GuardedBy; /** * Permission state for this device. */ public final class DevicePermissionState { @GuardedBy("mLock") @NonNull private final SparseArray<UserPermissionState> mUserStates = new SparseArray<>(); @NonNull private final Object mLock; public DevicePermissionState(@NonNull Object lock) { mLock = lock; } @Nullable public UserPermissionState getUserState(@UserIdInt int userId) { synchronized (mLock) { return mUserStates.get(userId); } } @NonNull public UserPermissionState getOrCreateUserState(@UserIdInt int userId) { synchronized (mLock) { UserPermissionState userState = mUserStates.get(userId); if (userState == null) { userState = new UserPermissionState(mLock); userState = new UserPermissionState(); mUserStates.put(userId, userState); } return userState; } } public void removeUserState(@UserIdInt int userId) { synchronized (mLock) { mUserStates.delete(userId); } } public int[] getUserIds() { synchronized (mLock) { final int userStatesSize = mUserStates.size(); final int[] userIds = new int[userStatesSize]; for (int i = 0; i < userStatesSize; i++) { Loading @@ -74,4 +56,3 @@ public final class DevicePermissionState { return userIds; } } }