diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index 05131d44b01e1..906edb30ff122 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -753,9 +753,19 @@ public class CompanionDeviceManagerService extends SystemService implements Bind } return notMatch; })); + restartBleScan(); } void onAssociationPreRemove(Association association) { + if (association.isNotifyOnDeviceNearby()) { + ServiceConnector serviceConnector = + mDeviceListenerServiceConnectors.forUser(association.getUserId()) + .get(association.getPackageName()); + if (serviceConnector != null) { + serviceConnector.unbind(); + } + } + String deviceProfile = association.getDeviceProfile(); if (deviceProfile != null) { Association otherAssociationWithDeviceProfile = find( @@ -787,16 +797,6 @@ public class CompanionDeviceManagerService extends SystemService implements Bind } } } - - if (association.isNotifyOnDeviceNearby()) { - ServiceConnector serviceConnector = - mDeviceListenerServiceConnectors.forUser(association.getUserId()) - .get(association.getPackageName()); - if (serviceConnector != null) { - serviceConnector.unbind(); - restartBleScan(); - } - } } private void updateSpecialAccessPermissionForAssociatedPackage(Association association) {