diff options
author | 2024-01-25 23:39:47 +0000 | |
---|---|---|
committer | 2024-01-25 23:39:47 +0000 | |
commit | cb1e8b12a571f50e142337aa668160e6ebb02882 (patch) | |
tree | 9c28956168be7b6604cae76877abe84bfe71ce44 | |
parent | 0252af2e9e10dab41d4140261ccd2b70ae72db2f (diff) | |
parent | d8a67a647f9bbe8adfce763ce07dfa1b3dd70a9c (diff) |
Merge "Fix NullPointerException when fetching uuid from BluetoothDevice" into main
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) |