diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index 4af2e32582e3d..b8ceffadfcdea 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -463,7 +463,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind }, FgThread.getExecutor()).whenComplete(uncheckExceptions((association, err) -> { if (err == null) { - addAssociation(association); + addAssociation(association, userId); } else { Slog.e(LOG_TAG, "Failed to discover device(s)", err); callback.onFailure("No devices found: " + err.getMessage()); @@ -654,7 +654,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind } else { return association; } - })); + }), userId); restartBleScan(); } @@ -672,7 +672,8 @@ public class CompanionDeviceManagerService extends SystemService implements Bind android.Manifest.permission.ASSOCIATE_COMPANION_DEVICES, "createAssociation"); addAssociation(new Association( - userId, macAddress, packageName, null, false, System.currentTimeMillis())); + userId, macAddress, packageName, null, false, + System.currentTimeMillis()), userId); } private void checkCanCallNotificationApi(String callingPackage) throws RemoteException { @@ -774,9 +775,9 @@ public class CompanionDeviceManagerService extends SystemService implements Bind return Binder.getCallingUid() == Process.SYSTEM_UID; } - void addAssociation(Association association) { + void addAssociation(Association association, int userId) { updateSpecialAccessPermissionForAssociatedPackage(association); - recordAssociation(association); + recordAssociation(association, userId); } void removeAssociation(int userId, String pkg, String deviceMacAddress) { @@ -788,7 +789,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind onAssociationPreRemove(association); } return notMatch; - })); + }), userId); restartBleScan(); } @@ -980,13 +981,9 @@ public class CompanionDeviceManagerService extends SystemService implements Bind }, getContext(), packageName, userId).recycleOnUse()); } - private void recordAssociation(Association association) { + private void recordAssociation(Association association, int userId) { Slog.i(LOG_TAG, "recordAssociation(" + association + ")"); - updateAssociations(associations -> CollectionUtils.add(associations, association)); - } - - private void updateAssociations(Function, Set> update) { - updateAssociations(update, getCallingUserId()); + updateAssociations(associations -> CollectionUtils.add(associations, association), userId); } private void updateAssociations(Function, Set> update, @@ -1552,7 +1549,7 @@ public class CompanionDeviceManagerService extends SystemService implements Bind String pkg = getNextArgRequired(); String address = getNextArgRequired(); addAssociation(new Association(userId, address, pkg, null, false, - System.currentTimeMillis())); + System.currentTimeMillis()), userId); } break;