[Bugfix]audio:fix NPE when buildBluetoothRoutes

Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.Set.iterator()' on a null object reference
at com.android.server.media.BluetoothRouteProvider.buildBluetoothRoutes(BluetoothRouteProvider.java:165)
at com.android.server.media.BluetoothRouteProvider.access$900(BluetoothRouteProvider.java:53)
at com.android.server.media.BluetoothRouteProvider$AdapterStateChangedReceiver.onReceive(BluetoothRouteProvider.java:462)
at com.android.server.media.BluetoothRouteProvider$BluetoothBroadcastReceiver.onReceive(BluetoothRouteProvider.java:445)
at android.app.LoadedApk$ReceiverDispatcher$Args.lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args(LoadedApk.java:1564)

Signed-off-by: liuxiaoyu7 <liuxiaoyu7@xiaomi.com>
Change-Id: I6828a319248deff851d46f259cfaf392fde04a1d
This commit is contained in:
liuxiaoyu7
2020-12-09 14:21:51 +08:00
parent 3acec4d14f
commit ffbff53cbe

View File

@@ -162,11 +162,13 @@ class BluetoothRouteProvider {
private void buildBluetoothRoutes() {
mBluetoothRoutes.clear();
for (BluetoothDevice device : mBluetoothAdapter.getBondedDevices()) {
if (device.isConnected()) {
BluetoothRouteInfo newBtRoute = createBluetoothRoute(device);
if (newBtRoute.connectedProfiles.size() > 0) {
mBluetoothRoutes.put(device.getAddress(), newBtRoute);
if (mBluetoothAdapter.getBondedDevices() != null) {
for (BluetoothDevice device : mBluetoothAdapter.getBondedDevices()) {
if (device.isConnected()) {
BluetoothRouteInfo newBtRoute = createBluetoothRoute(device);
if (newBtRoute.connectedProfiles.size() > 0) {
mBluetoothRoutes.put(device.getAddress(), newBtRoute);
}
}
}
}