Bluetooth: Use "Disable" in-band ringing instead of "Enable"
* 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
This commit is contained in:
@@ -396,6 +396,11 @@
|
|||||||
<!-- Summary for bluetooth item in connection detail page -->
|
<!-- Summary for bluetooth item in connection detail page -->
|
||||||
<string name="bluetooth_pref_summary">Allow device to pair and connect to bluetooth devices</string>
|
<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]-->
|
<!-- Title for connected device group [CHAR LIMIT=none]-->
|
||||||
<string name="connected_device_connected_title">Currently connected</string>
|
<string name="connected_device_connected_title">Currently connected</string>
|
||||||
<!-- Title for connected device group [CHAR LIMIT=none]-->
|
<!-- Title for connected device group [CHAR LIMIT=none]-->
|
||||||
|
@@ -240,9 +240,9 @@
|
|||||||
android:summary="@string/bluetooth_disable_absolute_volume_summary"/>
|
android:summary="@string/bluetooth_disable_absolute_volume_summary"/>
|
||||||
|
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:key="bluetooth_enable_inband_ringing"
|
android:key="bluetooth_disable_inband_ringing"
|
||||||
android:title="@string/bluetooth_enable_inband_ringing"
|
android:title="@string/bluetooth_disable_inband_ringing"
|
||||||
android:summary="@string/bluetooth_enable_inband_ringing_summary"/>
|
android:summary="@string/bluetooth_disable_inband_ringing_summary"/>
|
||||||
|
|
||||||
<ListPreference
|
<ListPreference
|
||||||
android:key="bluetooth_select_avrcp_version"
|
android:key="bluetooth_select_avrcp_version"
|
||||||
|
@@ -31,11 +31,11 @@ public class BluetoothInbandRingingPreferenceController extends
|
|||||||
DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener,
|
DeveloperOptionsPreferenceController implements Preference.OnPreferenceChangeListener,
|
||||||
PreferenceControllerMixin {
|
PreferenceControllerMixin {
|
||||||
|
|
||||||
private static final String BLUETOOTH_ENABLE_INBAND_RINGING_KEY =
|
private static final String BLUETOOTH_DISABLE_INBAND_RINGING_KEY =
|
||||||
"bluetooth_enable_inband_ringing";
|
"bluetooth_disable_inband_ringing";
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
static final String BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY =
|
static final String BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY =
|
||||||
"persist.bluetooth.enableinbandringing";
|
"persist.bluetooth.disableinbandringing";
|
||||||
|
|
||||||
private SwitchPreference mPreference;
|
private SwitchPreference mPreference;
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ public class BluetoothInbandRingingPreferenceController extends
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPreferenceKey() {
|
public String getPreferenceKey() {
|
||||||
return BLUETOOTH_ENABLE_INBAND_RINGING_KEY;
|
return BLUETOOTH_DISABLE_INBAND_RINGING_KEY;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -62,16 +62,16 @@ public class BluetoothInbandRingingPreferenceController extends
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
final boolean isEnabled = (Boolean) newValue;
|
final boolean isChecked = (Boolean) newValue;
|
||||||
SystemProperties.set(BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY,
|
SystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY,
|
||||||
isEnabled ? "true" : "false");
|
isChecked ? "true" : "false");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateState(Preference preference) {
|
public void updateState(Preference preference) {
|
||||||
final boolean isEnabled = SystemProperties.getBoolean(
|
final boolean isEnabled = SystemProperties.getBoolean(
|
||||||
BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY, true /* default */);
|
BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, false /* default */);
|
||||||
mPreference.setChecked(isEnabled);
|
mPreference.setChecked(isEnabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -83,9 +83,8 @@ public class BluetoothInbandRingingPreferenceController extends
|
|||||||
@Override
|
@Override
|
||||||
protected void onDeveloperOptionsSwitchDisabled() {
|
protected void onDeveloperOptionsSwitchDisabled() {
|
||||||
mPreference.setEnabled(false);
|
mPreference.setEnabled(false);
|
||||||
// the default setting for this preference is the enabled state
|
mPreference.setChecked(false);
|
||||||
mPreference.setChecked(true);
|
SystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, "false");
|
||||||
SystemProperties.set(BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY, "true");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
|
@@ -18,7 +18,7 @@ package com.android.settings.development;
|
|||||||
|
|
||||||
|
|
||||||
import static com.android.settings.development.BluetoothInbandRingingPreferenceController
|
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;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
@@ -84,7 +84,7 @@ public class BluetoothInbandRingingPreferenceControllerTest {
|
|||||||
mController.onPreferenceChange(mPreference, true /* new value */);
|
mController.onPreferenceChange(mPreference, true /* new value */);
|
||||||
|
|
||||||
final boolean mode = SettingsShadowSystemProperties.getBoolean(
|
final boolean mode = SettingsShadowSystemProperties.getBoolean(
|
||||||
BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY, false /* default */);
|
BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, false /* default */);
|
||||||
|
|
||||||
assertThat(mode).isTrue();
|
assertThat(mode).isTrue();
|
||||||
}
|
}
|
||||||
@@ -94,14 +94,14 @@ public class BluetoothInbandRingingPreferenceControllerTest {
|
|||||||
mController.onPreferenceChange(mPreference, false /* new value */);
|
mController.onPreferenceChange(mPreference, false /* new value */);
|
||||||
|
|
||||||
final boolean mode = SettingsShadowSystemProperties.getBoolean(
|
final boolean mode = SettingsShadowSystemProperties.getBoolean(
|
||||||
BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY, false /* default */);
|
BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY, false /* default */);
|
||||||
|
|
||||||
assertThat(mode).isFalse();
|
assertThat(mode).isFalse();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_settingEnabled_preferenceShouldBeChecked() {
|
public void updateState_settingEnabled_preferenceShouldBeChecked() {
|
||||||
SettingsShadowSystemProperties.set(BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY,
|
SettingsShadowSystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY,
|
||||||
Boolean.toString(true));
|
Boolean.toString(true));
|
||||||
mController.updateState(mPreference);
|
mController.updateState(mPreference);
|
||||||
|
|
||||||
@@ -110,7 +110,7 @@ public class BluetoothInbandRingingPreferenceControllerTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void updateState_settingDisabled_preferenceShouldNotBeChecked() {
|
public void updateState_settingDisabled_preferenceShouldNotBeChecked() {
|
||||||
SettingsShadowSystemProperties.set(BLUETOOTH_ENABLE_INBAND_RINGING_PROPERTY,
|
SettingsShadowSystemProperties.set(BLUETOOTH_DISABLE_INBAND_RINGING_PROPERTY,
|
||||||
Boolean.toString(false));
|
Boolean.toString(false));
|
||||||
mController.updateState(mPreference);
|
mController.updateState(mPreference);
|
||||||
|
|
||||||
@@ -122,11 +122,11 @@ public class BluetoothInbandRingingPreferenceControllerTest {
|
|||||||
mController.onDeveloperOptionsDisabled();
|
mController.onDeveloperOptionsDisabled();
|
||||||
|
|
||||||
final boolean mode = SettingsShadowSystemProperties.getBoolean(
|
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).setEnabled(false);
|
||||||
verify(mPreference).setChecked(true);
|
verify(mPreference).setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user