Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8f2a06b authored by Kyunglyul Hyun's avatar Kyunglyul Hyun
Browse files

Enable transfer to hearing aid routes.

There was a bug that transfer fails when a BT route has the route ID
different from its hardware address.

Bug: 157708273
Bug: 152585170

Test: run CTS & manually by assigning random ID to BT devices, which
failed without this CL

Change-Id: Ib2183f96b135bd2cef317234a8532b10994ca86b
parent 36806fa8
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ class BluetoothRouteProvider {
    private static BluetoothRouteProvider sInstance;

    @SuppressWarnings("WeakerAccess") /* synthetic access */
    // Maps hardware address to BluetoothRouteInfo
    final Map<String, BluetoothRouteInfo> mBluetoothRoutes = new HashMap<>();
    @SuppressWarnings("WeakerAccess") /* synthetic access */
    BluetoothRouteInfo mSelectedRoute = null;
@@ -127,9 +128,10 @@ class BluetoothRouteProvider {
            return;
        }

        BluetoothRouteInfo btRouteInfo = mBluetoothRoutes.get(routeId);
        BluetoothRouteInfo btRouteInfo = findBluetoothRouteWithRouteId(routeId);

        if (btRouteInfo == null) {
            Slog.w(TAG, "transferTo: unknown route id=" + routeId);
            Slog.w(TAG, "transferTo: Unknown route. ID=" + routeId);
            return;
        }

@@ -194,6 +196,18 @@ class BluetoothRouteProvider {
        return routes;
    }

    BluetoothRouteInfo findBluetoothRouteWithRouteId(String routeId) {
        if (routeId == null) {
            return null;
        }
        for (BluetoothRouteInfo btRouteInfo : mBluetoothRoutes.values()) {
            if (TextUtils.equals(btRouteInfo.route.getId(), routeId)) {
                return btRouteInfo;
            }
        }
        return null;
    }

    /**
     * Updates the volume for {@link AudioManager#getDevicesForStream(int) devices}.
     *