public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mPreference = screen.findPreference(mPreferenceKey);
+ mPreference.setVisible(false);
}
@Override
if (!isOngoingCallStatus()) {
// Without phone call, disable the switch entry.
- preference.setEnabled(false);
+ mPreference.setVisible(false);
preference.setSummary(mContext.getText(R.string.media_output_default_summary));
return;
}
final int numDevices = ArrayUtils.size(mConnectedDevices);
if (numDevices == 0) {
// No connected devices, disable switch entry.
- 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];
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;
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];
@Override
public String getPreferenceKey() {
- return null;
+ return TEST_KEY;
}
}
}
\ No newline at end of file
/**
* One Headset Bluetooth device is available and activated
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be activate device name
*/
@Test
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(mBluetoothDevice.getName());
}
/**
* More than one Headset Bluetooth devices are available, and second device is active.
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be activate device name
*/
@Test
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(secondBluetoothDevice.getName());
}
/**
* Hands Free Profile Bluetooth device(s) are available, but wired headset is plugged in
* and activated.
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be "This device"
*/
@Test
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(
mContext.getText(R.string.media_output_default_summary));
}
/**
* No available Headset BT devices
- * Preference should be disabled
+ * Preference should be invisible
* Preference summary should be "This device"
*/
@Test
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isFalse();
+ assertThat(mPreference.isVisible()).isFalse();
assertThat(mPreference.getSummary()).isEqualTo(
mContext.getText(R.string.media_output_default_summary));
}
/**
* On going call state:
- * Preference should be disabled
+ * Preference should be invisible
* Default string should be "Unavailable during calls"
*/
@Test
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isFalse();
+ assertThat(mPreference.isVisible()).isFalse();
assertThat(mPreference.getSummary()).isEqualTo(
mContext.getText(R.string.media_out_summary_ongoing_call_state));
}
/**
* No available A2dp BT devices:
- * Preference should be disabled
+ * Preference should be invisible
* Preference summary should be "This device"
*/
@Test
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isFalse();
+ assertThat(mPreference.isVisible()).isFalse();
String defaultString = mContext.getString(R.string.media_output_default_summary);
assertThat(mPreference.getSummary()).isEqualTo(defaultString);
}
/**
* Media stream is captured by something else (cast device):
- * Preference should be disabled
+ * Preference should be invisible
* Preference summary should be "unavailable"
*/
@Test
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isFalse();
+ assertThat(mPreference.isVisible()).isFalse();
String defaultString = mContext.getString(R.string.media_output_summary_unavailable);
assertThat(mPreference.getSummary()).isEqualTo(defaultString);
}
/**
* One A2DP Bluetooth device is available and active.
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be activate device name
*/
@Test
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(mBluetoothDevice.getName());
}
/**
* More than one A2DP Bluetooth devices are available, and second device is active.
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be activate device name
*/
@Test
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(secondBluetoothDevice.getName());
}
/**
* A2DP Bluetooth device(s) are available, but wired headset is plugged in and activated
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be "This device"
*/
@Test
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
String defaultString = mContext.getString(R.string.media_output_default_summary);
assertThat(mPreference.getSummary()).isEqualTo(defaultString);
}
/**
* A2DP Bluetooth device(s) are available, but current device speaker is activated
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be "This device"
*/
@Test
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
String defaultString = mContext.getString(R.string.media_output_default_summary);
assertThat(mPreference.getSummary()).isEqualTo(defaultString);
}