summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIván Budnik <ivanbuper@google.com>2024-06-17 16:37:45 +0100
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-08-05 09:31:19 +0000
commit6e134dc065caa4756884cf3138917d8f5b54f717 (patch)
tree780e01a6191ea0e472ecf04e7fb0c6089e54d0ce
parentc218052dbe344ba787a6af685d2baf443672fad0 (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.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 =