Loading services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +4 −4 Original line number Diff line number Diff line Loading @@ -35,10 +35,10 @@ import static com.android.internal.util.function.pooled.PooledLambda.obtainRunna import static com.android.server.companion.AssociationStore.CHANGE_TYPE_UPDATED_ADDRESS_UNCHANGED; import static com.android.server.companion.PermissionsUtils.checkCallerCanManageAssociationsForPackage; import static com.android.server.companion.PermissionsUtils.checkCallerCanManageCompanionDevice; import static com.android.server.companion.PermissionsUtils.enforceCallerCanInteractWithUserId; import static com.android.server.companion.PermissionsUtils.enforceCallerCanManageAssociationsForPackage; import static com.android.server.companion.PermissionsUtils.enforceCallerCanManageCompanionDevice; import static com.android.server.companion.PermissionsUtils.enforceCallerIsSystemOr; import static com.android.server.companion.PermissionsUtils.enforceCallerIsSystemOrCanInteractWithUserId; import static com.android.server.companion.RolesUtils.addRoleHolderForAssociation; import static com.android.server.companion.RolesUtils.removeRoleHolderForAssociation; Loading Loading @@ -459,7 +459,7 @@ public class CompanionDeviceManagerService extends SystemService @Override public List<AssociationInfo> getAllAssociationsForUser(int userId) throws RemoteException { enforceCallerCanInteractWithUserId(getContext(), userId); enforceCallerIsSystemOrCanInteractWithUserId(getContext(), userId); enforceCallerCanManageCompanionDevice(getContext(), "getAllAssociationsForUser"); return mAssociationStore.getAssociationsForUser(userId); Loading @@ -468,7 +468,7 @@ public class CompanionDeviceManagerService extends SystemService @Override public void addOnAssociationsChangedListener(IOnAssociationsChangedListener listener, int userId) { enforceCallerCanInteractWithUserId(getContext(), userId); enforceCallerIsSystemOrCanInteractWithUserId(getContext(), userId); enforceCallerCanManageCompanionDevice(getContext(), "addOnAssociationsChangedListener"); Loading @@ -478,7 +478,7 @@ public class CompanionDeviceManagerService extends SystemService @Override public void removeOnAssociationsChangedListener(IOnAssociationsChangedListener listener, int userId) { enforceCallerCanInteractWithUserId(getContext(), userId); enforceCallerIsSystemOrCanInteractWithUserId(getContext(), userId); enforceCallerCanManageCompanionDevice( getContext(), "removeOnAssociationsChangedListener"); Loading services/companion/java/com/android/server/companion/PermissionsUtils.java +6 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,12 @@ final class PermissionsUtils { context.enforceCallingPermission(INTERACT_ACROSS_USERS, null); } static void enforceCallerIsSystemOrCanInteractWithUserId(@NonNull Context context, int userId) { if (getCallingUid() == SYSTEM_UID) return; enforceCallerCanInteractWithUserId(context, userId); } static boolean checkCallerIsSystemOr(@UserIdInt int userId, @NonNull String packageName) { final int callingUid = getCallingUid(); if (callingUid == SYSTEM_UID) return true; Loading Loading
services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +4 −4 Original line number Diff line number Diff line Loading @@ -35,10 +35,10 @@ import static com.android.internal.util.function.pooled.PooledLambda.obtainRunna import static com.android.server.companion.AssociationStore.CHANGE_TYPE_UPDATED_ADDRESS_UNCHANGED; import static com.android.server.companion.PermissionsUtils.checkCallerCanManageAssociationsForPackage; import static com.android.server.companion.PermissionsUtils.checkCallerCanManageCompanionDevice; import static com.android.server.companion.PermissionsUtils.enforceCallerCanInteractWithUserId; import static com.android.server.companion.PermissionsUtils.enforceCallerCanManageAssociationsForPackage; import static com.android.server.companion.PermissionsUtils.enforceCallerCanManageCompanionDevice; import static com.android.server.companion.PermissionsUtils.enforceCallerIsSystemOr; import static com.android.server.companion.PermissionsUtils.enforceCallerIsSystemOrCanInteractWithUserId; import static com.android.server.companion.RolesUtils.addRoleHolderForAssociation; import static com.android.server.companion.RolesUtils.removeRoleHolderForAssociation; Loading Loading @@ -459,7 +459,7 @@ public class CompanionDeviceManagerService extends SystemService @Override public List<AssociationInfo> getAllAssociationsForUser(int userId) throws RemoteException { enforceCallerCanInteractWithUserId(getContext(), userId); enforceCallerIsSystemOrCanInteractWithUserId(getContext(), userId); enforceCallerCanManageCompanionDevice(getContext(), "getAllAssociationsForUser"); return mAssociationStore.getAssociationsForUser(userId); Loading @@ -468,7 +468,7 @@ public class CompanionDeviceManagerService extends SystemService @Override public void addOnAssociationsChangedListener(IOnAssociationsChangedListener listener, int userId) { enforceCallerCanInteractWithUserId(getContext(), userId); enforceCallerIsSystemOrCanInteractWithUserId(getContext(), userId); enforceCallerCanManageCompanionDevice(getContext(), "addOnAssociationsChangedListener"); Loading @@ -478,7 +478,7 @@ public class CompanionDeviceManagerService extends SystemService @Override public void removeOnAssociationsChangedListener(IOnAssociationsChangedListener listener, int userId) { enforceCallerCanInteractWithUserId(getContext(), userId); enforceCallerIsSystemOrCanInteractWithUserId(getContext(), userId); enforceCallerCanManageCompanionDevice( getContext(), "removeOnAssociationsChangedListener"); Loading
services/companion/java/com/android/server/companion/PermissionsUtils.java +6 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,12 @@ final class PermissionsUtils { context.enforceCallingPermission(INTERACT_ACROSS_USERS, null); } static void enforceCallerIsSystemOrCanInteractWithUserId(@NonNull Context context, int userId) { if (getCallingUid() == SYSTEM_UID) return; enforceCallerCanInteractWithUserId(context, userId); } static boolean checkCallerIsSystemOr(@UserIdInt int userId, @NonNull String packageName) { final int callingUid = getCallingUid(); if (callingUid == SYSTEM_UID) return true; Loading