diff options
author | Iván Budnik <ivanbuper@google.com> | 2024-06-17 16:37:45 +0100 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2024-08-05 09:31:19 +0000 |
commit | 6e134dc065caa4756884cf3138917d8f5b54f717 (patch) | |
tree | 780e01a6191ea0e472ecf04e7fb0c6089e54d0ce | |
parent | c218052dbe344ba787a6af685d2baf443672fad0 (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)
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 = |