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

Commit c36b8acd authored by Adam Powell's avatar Adam Powell Committed by Android Git Automerger
Browse files

am 38895394: Merge "Properly switch MediaRouter to wired audio over a2dp." into jb-dev

* commit '38895394':
  Properly switch MediaRouter to wired audio over a2dp.
parents 4fbbea09 38895394
Loading
Loading
Loading
Loading
+19 −7
Original line number Diff line number Diff line
@@ -126,6 +126,15 @@ public class MediaRouter {
                sStatic.mDefaultAudio.mNameResId = name;
                dispatchRouteChanged(sStatic.mDefaultAudio);
            }

            boolean a2dpEnabled;
            try {
                a2dpEnabled = mAudioService.isBluetoothA2dpOn();
            } catch (RemoteException e) {
                Log.e(TAG, "Error querying Bluetooth A2DP state", e);
                a2dpEnabled = false;
            }

            if (!TextUtils.equals(newRoutes.mBluetoothName, mCurRoutesInfo.mBluetoothName)) {
                mCurRoutesInfo.mBluetoothName = newRoutes.mBluetoothName;
                if (mCurRoutesInfo.mBluetoothName != null) {
@@ -135,13 +144,6 @@ public class MediaRouter {
                        info.mSupportedTypes = ROUTE_TYPE_LIVE_AUDIO;
                        sStatic.mBluetoothA2dpRoute = info;
                        addRoute(sStatic.mBluetoothA2dpRoute);
                        try {
                            if (mAudioService.isBluetoothA2dpOn()) {
                                selectRouteStatic(ROUTE_TYPE_LIVE_AUDIO, mBluetoothA2dpRoute);
                            }
                        } catch (RemoteException e) {
                            Log.e(TAG, "Error selecting Bluetooth A2DP route", e);
                        }
                    } else {
                        sStatic.mBluetoothA2dpRoute.mName = mCurRoutesInfo.mBluetoothName;
                        dispatchRouteChanged(sStatic.mBluetoothA2dpRoute);
@@ -151,6 +153,16 @@ public class MediaRouter {
                    sStatic.mBluetoothA2dpRoute = null;
                }
            }

            if (mBluetoothA2dpRoute != null) {
                if (mCurRoutesInfo.mMainType != AudioRoutesInfo.MAIN_SPEAKER &&
                        mSelectedRoute == mBluetoothA2dpRoute) {
                    selectRouteStatic(ROUTE_TYPE_LIVE_AUDIO, mDefaultAudio);
                } else if (mCurRoutesInfo.mMainType == AudioRoutesInfo.MAIN_SPEAKER &&
                        mSelectedRoute == mDefaultAudio && a2dpEnabled) {
                    selectRouteStatic(ROUTE_TYPE_LIVE_AUDIO, mBluetoothA2dpRoute);
                }
            }
        }
    }