summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIván Budnik <ivanbuper@google.com>2024-09-10 13:09:42 +0530
committerMurtuza Raja <quic_mraja@quicinc.com>2024-09-10 01:24:21 -0700
commitaa66de82e4e972c55e9e3b23796a32956bce9a8f (patch)
tree09ec28bcc75a977f6954f4a35ccd4b9f45b16cd1
parent2eb6a1da233d8ec0678ebc3201eb1e6fb0ab10e8 (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.java4
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 =