Merge "Handle NPE from BluetoothRouteProvider" am: 5a1f9e675b am: c890ab56da am: d92ac4907b am: bb5c45c2ac am: 4f848db35d

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2121494

Change-Id: I6fd094edde8a56afb3710d5a679fc07021143873
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Kyunglyul Hyun
2022-06-16 05:54:40 +00:00
committed by Automerger Merge Worker

View File

@@ -348,18 +348,14 @@ class BluetoothRouteProvider {
private void addActiveRoute(BluetoothRouteInfo btRoute) {
if (btRoute == null) {
if (DEBUG) {
Log.d(TAG, " btRoute is null");
}
Slog.w(TAG, "addActiveRoute: btRoute is null");
return;
}
if (DEBUG) {
Log.d(TAG, "Adding active route: " + btRoute.route);
}
if (mActiveRoutes.contains(btRoute)) {
if (DEBUG) {
Log.d(TAG, " btRoute is already added.");
}
Slog.w(TAG, "addActiveRoute: btRoute is already added.");
return;
}
setRouteConnectionState(btRoute, STATE_CONNECTED);
@@ -392,6 +388,12 @@ class BluetoothRouteProvider {
private void addActiveDevices(BluetoothDevice device) {
// Let the given device be the first active device
BluetoothRouteInfo activeBtRoute = mBluetoothRoutes.get(device.getAddress());
// This could happen if ACTION_ACTIVE_DEVICE_CHANGED is sent before
// ACTION_CONNECTION_STATE_CHANGED is sent.
if (activeBtRoute == null) {
activeBtRoute = createBluetoothRoute(device);
mBluetoothRoutes.put(device.getAddress(), activeBtRoute);
}
addActiveRoute(activeBtRoute);
// A bluetooth route with the same route ID should be added.