Loading src/com/android/settings/sound/MediaOutputPreferenceController.java +4 −13 Original line number Diff line number Diff line Loading @@ -16,14 +16,13 @@ package com.android.settings.sound; import static android.media.AudioManager.STREAM_VOICE_CALL; import static android.media.AudioManager.STREAM_MUSIC; import static android.media.AudioSystem.DEVICE_OUT_REMOTE_SUBMIX; import static android.media.AudioSystem.DEVICE_OUT_USB_HEADSET; import static android.media.MediaRouter.ROUTE_TYPE_REMOTE_DISPLAY; import android.bluetooth.BluetoothDevice; import android.content.Context; import android.media.AudioManager; import android.media.MediaRouter; import android.support.v7.preference.Preference; import com.android.internal.util.ArrayUtils; Loading Loading @@ -51,8 +50,7 @@ public class MediaOutputPreferenceController extends AudioSwitchPreferenceContro return; } if (mAudioManager.isMusicActiveRemotely() || isCastDevice(mMediaRouter)) { // TODO(76455906): Workaround for cast mode, need a solid way to identify cast mode. if (isStreamFromOutputDevice(STREAM_MUSIC, DEVICE_OUT_REMOTE_SUBMIX)) { // In cast mode, disable switch entry. preference.setEnabled(false); preference.setSummary(mContext.getText(R.string.media_output_summary_unavailable)); Loading Loading @@ -93,7 +91,7 @@ public class MediaOutputPreferenceController extends AudioSwitchPreferenceContro // Setup devices entries, select active connected device setupPreferenceEntries(mediaOutputs, mediaValues, activeDevice); if (isStreamFromOutputDevice(STREAM_VOICE_CALL, DEVICE_OUT_USB_HEADSET)) { if (isStreamFromOutputDevice(STREAM_MUSIC, DEVICE_OUT_USB_HEADSET)) { // If wired headset is plugged in and active, select to default device. mSelectedIndex = getDefaultDeviceIndex(); } Loading @@ -108,11 +106,4 @@ public class MediaOutputPreferenceController extends AudioSwitchPreferenceContro mProfileManager.getA2dpProfile().setActiveDevice(device); } } private static boolean isCastDevice(MediaRouter mediaRouter) { final MediaRouter.RouteInfo selected = mediaRouter.getSelectedRoute( ROUTE_TYPE_REMOTE_DISPLAY); return selected != null && selected.getPresentationDisplay() != null && selected.getPresentationDisplay().isValid(); } } tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java +2 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.settings.sound; import static android.media.AudioSystem.DEVICE_OUT_REMOTE_SUBMIX; import static android.media.AudioSystem.DEVICE_OUT_USB_HEADSET; import static com.google.common.truth.Truth.assertThat; Loading Loading @@ -198,7 +199,7 @@ public class MediaOutputPreferenceControllerTest { */ @Test public void updateState_mediaStreamIsCapturedByCast_shouldDisableAndSetDefaultSummary() { mShadowAudioManager.setMusicActiveRemotely(true); mShadowAudioManager.setStream(DEVICE_OUT_REMOTE_SUBMIX); mController.updateState(mPreference); Loading Loading
src/com/android/settings/sound/MediaOutputPreferenceController.java +4 −13 Original line number Diff line number Diff line Loading @@ -16,14 +16,13 @@ package com.android.settings.sound; import static android.media.AudioManager.STREAM_VOICE_CALL; import static android.media.AudioManager.STREAM_MUSIC; import static android.media.AudioSystem.DEVICE_OUT_REMOTE_SUBMIX; import static android.media.AudioSystem.DEVICE_OUT_USB_HEADSET; import static android.media.MediaRouter.ROUTE_TYPE_REMOTE_DISPLAY; import android.bluetooth.BluetoothDevice; import android.content.Context; import android.media.AudioManager; import android.media.MediaRouter; import android.support.v7.preference.Preference; import com.android.internal.util.ArrayUtils; Loading Loading @@ -51,8 +50,7 @@ public class MediaOutputPreferenceController extends AudioSwitchPreferenceContro return; } if (mAudioManager.isMusicActiveRemotely() || isCastDevice(mMediaRouter)) { // TODO(76455906): Workaround for cast mode, need a solid way to identify cast mode. if (isStreamFromOutputDevice(STREAM_MUSIC, DEVICE_OUT_REMOTE_SUBMIX)) { // In cast mode, disable switch entry. preference.setEnabled(false); preference.setSummary(mContext.getText(R.string.media_output_summary_unavailable)); Loading Loading @@ -93,7 +91,7 @@ public class MediaOutputPreferenceController extends AudioSwitchPreferenceContro // Setup devices entries, select active connected device setupPreferenceEntries(mediaOutputs, mediaValues, activeDevice); if (isStreamFromOutputDevice(STREAM_VOICE_CALL, DEVICE_OUT_USB_HEADSET)) { if (isStreamFromOutputDevice(STREAM_MUSIC, DEVICE_OUT_USB_HEADSET)) { // If wired headset is plugged in and active, select to default device. mSelectedIndex = getDefaultDeviceIndex(); } Loading @@ -108,11 +106,4 @@ public class MediaOutputPreferenceController extends AudioSwitchPreferenceContro mProfileManager.getA2dpProfile().setActiveDevice(device); } } private static boolean isCastDevice(MediaRouter mediaRouter) { final MediaRouter.RouteInfo selected = mediaRouter.getSelectedRoute( ROUTE_TYPE_REMOTE_DISPLAY); return selected != null && selected.getPresentationDisplay() != null && selected.getPresentationDisplay().isValid(); } }
tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java +2 −1 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.settings.sound; import static android.media.AudioSystem.DEVICE_OUT_REMOTE_SUBMIX; import static android.media.AudioSystem.DEVICE_OUT_USB_HEADSET; import static com.google.common.truth.Truth.assertThat; Loading Loading @@ -198,7 +199,7 @@ public class MediaOutputPreferenceControllerTest { */ @Test public void updateState_mediaStreamIsCapturedByCast_shouldDisableAndSetDefaultSummary() { mShadowAudioManager.setMusicActiveRemotely(true); mShadowAudioManager.setStream(DEVICE_OUT_REMOTE_SUBMIX); mController.updateState(mPreference); Loading