diff options
author | 2024-01-24 20:12:32 +0000 | |
---|---|---|
committer | 2024-01-25 22:15:07 +0000 | |
commit | d8a67a647f9bbe8adfce763ce07dfa1b3dd70a9c (patch) | |
tree | 2b45fa4cc3f6b546b6c2efbbc3bdf9c0322926c3 | |
parent | 9b26927bd9e9aa03317105bde3a9aba735ecaad2 (diff) |
Fix NullPointerException when fetching uuid from BluetoothDevice
Test: cts
Bug: 322040773
Change-Id: I0f79501461298697632692920a0587928ad4c167
2 files changed, 9 insertions, 4 deletions
diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index 2e01ced2022b..5019428c5323 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -368,8 +368,10 @@ public class CompanionDeviceManagerService extends SystemService { if (blueToothDevices != null) { for (BluetoothDevice bluetoothDevice : blueToothDevices) { - final List<ParcelUuid> deviceUuids = bluetoothDevice.getUuids() == null - ? Collections.emptyList() : Arrays.asList(bluetoothDevice.getUuids()); + final ParcelUuid[] bluetoothDeviceUuids = bluetoothDevice.getUuids(); + + final List<ParcelUuid> deviceUuids = ArrayUtils.isEmpty(bluetoothDeviceUuids) + ? Collections.emptyList() : Arrays.asList(bluetoothDeviceUuids); for (AssociationInfo ai: mAssociationStore.getAssociationsByAddress(bluetoothDevice.getAddress())) { diff --git a/services/companion/java/com/android/server/companion/presence/BluetoothCompanionDeviceConnectionListener.java b/services/companion/java/com/android/server/companion/presence/BluetoothCompanionDeviceConnectionListener.java index 7eca1193ca12..c514f3ef29d0 100644 --- a/services/companion/java/com/android/server/companion/presence/BluetoothCompanionDeviceConnectionListener.java +++ b/services/companion/java/com/android/server/companion/presence/BluetoothCompanionDeviceConnectionListener.java @@ -38,6 +38,7 @@ import android.util.Slog; import android.util.SparseArray; import com.android.internal.annotations.GuardedBy; +import com.android.internal.util.ArrayUtils; import com.android.server.companion.AssociationStore; import com.android.server.companion.ObservableUuid; import com.android.server.companion.ObservableUuidStore; @@ -172,8 +173,10 @@ public class BluetoothCompanionDeviceConnectionListener mAssociationStore.getAssociationsByAddress(device.getAddress()); final List<ObservableUuid> observableUuids = mObservableUuidStore.getObservableUuidsForUser(userId); - final List<ParcelUuid> deviceUuids = device.getUuids() == null - ? Collections.emptyList() : Arrays.asList(device.getUuids()); + final ParcelUuid[] bluetoothDeviceUuids = device.getUuids(); + + final List<ParcelUuid> deviceUuids = ArrayUtils.isEmpty(bluetoothDeviceUuids) + ? Collections.emptyList() : Arrays.asList(bluetoothDeviceUuids); if (DEBUG) { Log.d(TAG, "onDevice_ConnectivityChanged() " + btDeviceToString(device) |