diff options
author | Iván Budnik <ivanbuper@google.com> | 2024-09-10 13:09:42 +0530 |
---|---|---|
committer | Murtuza Raja <quic_mraja@quicinc.com> | 2024-09-10 01:24:21 -0700 |
commit | aa66de82e4e972c55e9e3b23796a32956bce9a8f (patch) | |
tree | 09ec28bcc75a977f6954f4a35ccd4b9f45b16cd1 | |
parent | 2eb6a1da233d8ec0678ebc3201eb1e6fb0ab10e8 (diff) |
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
-rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java | 4 |
1 files changed, 4 insertions, 0 deletions
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 = |