From 8377f912d609abc47e72f0ee3aa866723fed0d81 Mon Sep 17 00:00:00 2001 From: Evan Chen Date: Mon, 1 Nov 2021 01:09:17 +0000 Subject: [PATCH] Need to check isManagedByCompanionApp before calling getMacAddress() Since AssociationInfo.getIdOfType() might return null, we need to to check !Association.isManagedByCompanionApp before calling getMacAddress() Test: cts verifier bug: 198539218 Change-Id: Idd2e6940aea511adc08804ab4c23ea199584808d --- .../companion/CompanionDeviceManagerService.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index cdce3e612489c..3ebf95e7b49f3 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -775,12 +775,14 @@ public class CompanionDeviceManagerService extends SystemService { exemptFromAutoRevoke(packageInfo.packageName, packageInfo.applicationInfo.uid); - if (mCurrentlyConnectedDevices.contains(association.getDeviceMacAddress())) { - grantDeviceProfile(association); - } + if (!association.isManagedByCompanionApp()) { + if (mCurrentlyConnectedDevices.contains(association.getDeviceMacAddress())) { + grantDeviceProfile(association); + } - if (association.isNotifyOnDeviceNearby()) { - restartBleScan(); + if (association.isNotifyOnDeviceNearby()) { + restartBleScan(); + } } } @@ -1213,6 +1215,9 @@ public class CompanionDeviceManagerService extends SystemService { ArrayList result = new ArrayList<>(); ArraySet addressesSeen = new ArraySet<>(); for (AssociationInfo association : getAllAssociations()) { + if (association.isManagedByCompanionApp()) { + continue; + } String address = association.getDeviceMacAddress(); if (addressesSeen.contains(address)) { continue;