diff options
author | ryanywlin <ryanywlin@google.com> | 2018-04-17 18:25:38 +0800 |
---|---|---|
committer | Ryan Lin <ryanywlin@google.com> | 2018-04-17 23:47:42 +0000 |
commit | 7be15cdd236bd9f5ee4bbbe451d22593dcee50b7 (patch) | |
tree | 7b9a2efedb608c291d73e5a0dfcc0f8707813351 /src/com/android/settings/sound | |
parent | a46dd4bd4b3aaad586d80d361834bf292f2372bd (diff) | |
download | packages_apps_Settings-7be15cdd236bd9f5ee4bbbe451d22593dcee50b7.tar.gz packages_apps_Settings-7be15cdd236bd9f5ee4bbbe451d22593dcee50b7.tar.bz2 packages_apps_Settings-7be15cdd236bd9f5ee4bbbe451d22593dcee50b7.zip |
Identify cast mode properly in audio switch
- Use STREAM_MUSIC to idetify cast mode
- Use STREAM_MUSIC to detect wired headset
Bug: 78141750
Test: make RunSettingsRoboTests
ROBOTEST_FILTER="MediaOutputPreferenceControllerTest" -j40
Change-Id: I92273d41d3debfc3d6327c4ca09143a2dd9b1cb6
Diffstat (limited to 'src/com/android/settings/sound')
-rw-r--r-- | src/com/android/settings/sound/MediaOutputPreferenceController.java | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/com/android/settings/sound/MediaOutputPreferenceController.java b/src/com/android/settings/sound/MediaOutputPreferenceController.java index 74c77cd23f..df07dc5fa6 100644 --- a/src/com/android/settings/sound/MediaOutputPreferenceController.java +++ b/src/com/android/settings/sound/MediaOutputPreferenceController.java @@ -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; @@ -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)); @@ -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(); } @@ -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(); - } } |