Hide the audio switcher if it is not relevant

Bug: 78317337
Test: make RunSettingsRoboTests
ROBOTEST_FILTER="AudioOutputSwitchPreferenceControllerTest" -j28
ROBOTEST_FILTER="MediaOutputPreferenceControllerTest" -j28
ROBOTEST_FILTER="HandsFreeProfileOutputPreferenceControllerTest" -j28

Change-Id: I9824941cf410b26ad166aa163d7cccd3bfc31a06
This commit is contained in:
caxtonchan
2018-04-23 15:04:21 +08:00
committed by Caxton Chan
parent 1cf0dfd3b2
commit 458fb2319f
6 changed files with 31 additions and 30 deletions

View File

@@ -52,14 +52,14 @@ public class MediaOutputPreferenceController extends AudioSwitchPreferenceContro
if (isStreamFromOutputDevice(STREAM_MUSIC, DEVICE_OUT_REMOTE_SUBMIX)) {
// In cast mode, disable switch entry.
preference.setEnabled(false);
mPreference.setVisible(false);
preference.setSummary(mContext.getText(R.string.media_output_summary_unavailable));
return;
}
if (isOngoingCallStatus()) {
// Ongoing call status, switch entry for media will be disabled.
preference.setEnabled(false);
mPreference.setVisible(false);
preference.setSummary(
mContext.getText(R.string.media_out_summary_ongoing_call_state));
return;
@@ -79,12 +79,12 @@ public class MediaOutputPreferenceController extends AudioSwitchPreferenceContro
final int numDevices = ArrayUtils.size(mConnectedDevices);
if (numDevices == 0) {
// Disable switch entry if there is no connected devices.
preference.setEnabled(false);
mPreference.setVisible(false);
preference.setSummary(mContext.getText(R.string.media_output_default_summary));
return;
}
preference.setEnabled(true);
mPreference.setVisible(true);
CharSequence[] mediaOutputs = new CharSequence[numDevices + 1];
CharSequence[] mediaValues = new CharSequence[numDevices + 1];