* Given that in-band ringing is enabled by default on supported devices,
the corresponding development settings should be rephrased from
"Enable in-band ringing" to "Disable in-band ringing" to hint that it
is enabled by default
* This also gets rid of special logic to check that option in
initialization
* Add strings to reflect this update
* Modify BluetoothInbandRingingPreferenceControllerTest to reflect this
change
Bug:
65383086
Test: make, try toggling the preference and verify whether in-band
ringing works or not, RunSettingsRoboTests
Change-Id: I29f91c7d12c725b12452ec163b75051ff28f500d
<!-- Summary for bluetooth item in connection detail page -->
<string name="bluetooth_pref_summary">Allow device to pair and connect to bluetooth devices</string>
+ <!-- Setting Checkbox title for disabling Bluetooth inband ringing in Development Settings -->
+ <string name="bluetooth_disable_inband_ringing">Disable in-band ringing</string>
+ <!-- Summary of checkbox for disabling Bluetooth inband ringing in Development Settings -->
+ <string name="bluetooth_disable_inband_ringing_summary">Don’t play custom phone ringtones on Bluetooth headsets</string>
+
<!-- Title for connected device group [CHAR LIMIT=none]-->
<string name="connected_device_connected_title">Currently connected</string>
<!-- Title for connected device group [CHAR LIMIT=none]-->
android:summary="@string/bluetooth_disable_absolute_volume_summary"/>
<SwitchPreference
- android:key="bluetooth_enable_inband_ringing"
- android:title="@string/bluetooth_enable_inband_ringing"
- android:summary="@string/bluetooth_enable_inband_ringing_summary"/>
+ android:key="bluetooth_disable_inband_ringing"
+ android:title="@string/bluetooth_disable_inband_ringing"
+ android:summary="@string/bluetooth_disable_inband_ringing_summary"/>
<ListPreference
android:key="bluetooth_select_avrcp_version"
DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener,
PreferenceControllerMixin {
- private static final String BLUETOOTH_ENABLE_INBAND_RINGING_KEY =
- "bluetooth_enable_inband_ringing";
+ private static final String BLUETOOTH_DISABLE_INBAND_RINGING_KEY =
+ "bluetooth_disable_inband_ringing";
@VisibleForTesting
- static final String BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY =
- "persist.bluetooth.enableinbandringing";
+ static final String BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY =
+ "persist.bluetooth.disableinbandringing";
private SwitchPreference mPreference;
@Override
public String getPreferenceKey() {
- return BLUETOOTH_ENABLE_INBAND_RINGING_KEY;
+ return BLUETOOTH_DISABLE_INBAND_RINGING_KEY;
}
@Override
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
- final boolean isEnabled = (Boolean) newValue;
- SystemProperties.set(BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY,
- isEnabled ? "true" : "false");
+ final boolean isChecked = (Boolean) newValue;
+ SystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY,
+ isChecked ? "true" : "false");
return true;
}
@Override
public void updateState(Preference preference) {
final boolean isEnabled = SystemProperties.getBoolean(
- BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY, true /* default */);
+ BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, false /* default */);
mPreference.setChecked(isEnabled);
}
@Override
protected void onDeveloperOptionsSwitchDisabled() {
mPreference.setEnabled(false);
- // the default setting for this preference is the enabled state
- mPreference.setChecked(true);
- SystemProperties.set(BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY, "true");
+ mPreference.setChecked(false);
+ SystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, "false");
}
@VisibleForTesting
import static com.android.settings.development.BluetoothInbandRingingPreferenceController
- .BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY;
+ .BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY;
import static com.google.common.truth.Truth.assertThat;
mController.onPreferenceChange(mPreference, true /* new value */);
final boolean mode = SettingsShadowSystemProperties.getBoolean(
- BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY, false /* default */);
+ BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, false /* default */);
assertThat(mode).isTrue();
}
mController.onPreferenceChange(mPreference, false /* new value */);
final boolean mode = SettingsShadowSystemProperties.getBoolean(
- BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY, false /* default */);
+ BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, false /* default */);
assertThat(mode).isFalse();
}
@Test
public void updateState_settingEnabled_preferenceShouldBeChecked() {
- SettingsShadowSystemProperties.set(BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY,
+ SettingsShadowSystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY,
Boolean.toString(true));
mController.updateState(mPreference);
@Test
public void updateState_settingDisabled_preferenceShouldNotBeChecked() {
- SettingsShadowSystemProperties.set(BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY,
+ SettingsShadowSystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY,
Boolean.toString(false));
mController.updateState(mPreference);
mController.onDeveloperOptionsDisabled();
final boolean mode = SettingsShadowSystemProperties.getBoolean(
- BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY, false /* default */);
+ BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, false /* default */);
- assertThat(mode).isTrue();
+ assertThat(mode).isFalse();
verify(mPreference).setEnabled(false);
- verify(mPreference).setChecked(true);
+ verify(mPreference).setChecked(false);
}
@Test