From f8e38e2dbbf3410179c9e18e05b7d4022720cfb6 Mon Sep 17 00:00:00 2001 From: Sungsoo Lim Date: Thu, 14 Sep 2017 10:12:10 +0900 Subject: [PATCH] Select a system audio route only when needed When system audio routes are changd, updateAudioRoutes is called, and it selects a system audio route even when a none system route was seleted. That makes the selected route be unselected and this CL fixes it. Bug: 65403568 Test: manual tested that the issue is fixed Change-Id: I5df9d3e5f68cfd40fdb625937f9a8e16f4308e16 --- media/java/android/media/MediaRouter.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/media/java/android/media/MediaRouter.java b/media/java/android/media/MediaRouter.java index 2894e8956c1c5..b072f659f7ce7 100644 --- a/media/java/android/media/MediaRouter.java +++ b/media/java/android/media/MediaRouter.java @@ -202,7 +202,6 @@ public class MediaRouter { audioRoutesChanged = true; } - final int mainType = mCurAudioRoutesInfo.mainType; if (!TextUtils.equals(newRoutes.bluetoothName, mCurAudioRoutesInfo.bluetoothName)) { mCurAudioRoutesInfo.bluetoothName = newRoutes.bluetoothName; if (mCurAudioRoutesInfo.bluetoothName != null) { @@ -229,8 +228,11 @@ public class MediaRouter { } if (audioRoutesChanged) { - selectRouteStatic(ROUTE_TYPE_LIVE_AUDIO, getDefaultSystemAudioRoute(), false); Log.v(TAG, "Audio routes updated: " + newRoutes + ", a2dp=" + isBluetoothA2dpOn()); + if (mSelectedRoute == null || mSelectedRoute == mDefaultAudioVideo + || mSelectedRoute == mBluetoothA2dpRoute) { + selectRouteStatic(ROUTE_TYPE_LIVE_AUDIO, getDefaultSystemAudioRoute(), false); + } } }