From 5f9987a5c0b0e04daeb5cb590655308c0b0b31e1 Mon Sep 17 00:00:00 2001 From: Evan Chen Date: Tue, 8 Jun 2021 17:17:19 +0000 Subject: [PATCH] Fix system crash when unpair app No need to restartBleScan after each unbind serviceSelector restart ble scan after update the associations Also, move unbind serviceSelector before the permission revoke since permission revoking caused app crashed. Fix: 190506983 Test: Manual test Change-Id: Icc2a19f56295be4000155a4ccd6650a30e7c9b66 --- .../CompanionDeviceManagerService.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index 83dfe8ed25767..685beabc1aef3 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -759,9 +759,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( @@ -793,16 +803,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) {