From aa66de82e4e972c55e9e3b23796a32956bce9a8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Budnik?= Date: Tue, 10 Sep 2024 13:09:42 +0530 Subject: Fix IAE for bluetooth routes without set BT address This change just adds a last resort check to avoid the exception and fix the crash. Further checks will be added in the routing framework to avoid this incongruent state. Test: atest com.android.settingslib.media and manually with demo app Bug: 347499404 Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ee6d33f4e29fe196c262a3c7051d34ef8f93a62f) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:800ba45f78de22893c982ac28e4c089ce5faf8f8) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ca89bbb204cb355a164c61613f15214c607ad923) (cherry picked from commit 6e134dc065caa4756884cf3138917d8f5b54f717) Merged-In: I87e6810467bcae0bac7f0418217b03e57c1d8c03 Change-Id: I87e6810467bcae0bac7f0418217b03e57c1d8c03 --- .../src/com/android/settingslib/media/InfoMediaManager.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java index 1728e405fa29..362267c75716 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java @@ -576,6 +576,10 @@ public class InfoMediaManager extends MediaManager { case TYPE_HEARING_AID: case TYPE_BLUETOOTH_A2DP: case TYPE_BLE_HEADSET: + if (route.getAddress() == null) { + Log.e(TAG, "Ignoring bluetooth route with no set address: " + route); + break; + } final BluetoothDevice device = BluetoothAdapter.getDefaultAdapter().getRemoteDevice(route.getAddress()); final CachedBluetoothDevice cachedDevice = -- cgit v1.2.3