summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/sound
diff options
context:
space:
mode:
authorryanywlin <ryanywlin@google.com>2018-04-17 18:25:38 +0800
committerRyan Lin <ryanywlin@google.com>2018-04-17 23:47:42 +0000
commit7be15cdd236bd9f5ee4bbbe451d22593dcee50b7 (patch)
tree7b9a2efedb608c291d73e5a0dfcc0f8707813351 /src/com/android/settings/sound
parenta46dd4bd4b3aaad586d80d361834bf292f2372bd (diff)
downloadpackages_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.java17
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();
- }
}