Bluetooth: Only show devices when their names are resolved
* Add a developer menu option to allow name-less devices to be shown when a Bluetooth developer needs it, but hide it for non-developer users. * Set BluetoothDevicePreference to invisible when CachedBluetoothDevice does not have a name besides MAC address and the above developer option is false. * This affects BluetoothPairingDetail and DevicePickerFragment, but does not affect BluetoothSettings. BluetoothSettings will show all paired devices regardless whether an user friendly name exists. Bug: 34685932 Test: pair Bluetooth device, send file over Bluetooth, unit tests Change-Id: Idd7ad4b1671dfdcf3204efb50eddb6dae1065aa5
This commit is contained in:
@@ -199,6 +199,10 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
private static final String FORCE_RESIZABLE_KEY = "force_resizable_activities";
|
||||
private static final String COLOR_TEMPERATURE_KEY = "color_temperature";
|
||||
|
||||
private static final String BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_KEY =
|
||||
"bluetooth_show_devices_without_names";
|
||||
private static final String BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_PROPERTY =
|
||||
"persist.bluetooth.showdeviceswithoutnames";
|
||||
private static final String BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_KEY =
|
||||
"bluetooth_disable_absolute_volume";
|
||||
private static final String BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_PROPERTY =
|
||||
@@ -282,6 +286,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
private SwitchPreference mWifiAggressiveHandover;
|
||||
private SwitchPreference mMobileDataAlwaysOn;
|
||||
private SwitchPreference mTetheringHardwareOffload;
|
||||
private SwitchPreference mBluetoothShowDevicesWithoutNames;
|
||||
private SwitchPreference mBluetoothDisableAbsVolume;
|
||||
private SwitchPreference mBluetoothEnableInbandRinging;
|
||||
|
||||
@@ -498,6 +503,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
mLogpersist = null;
|
||||
}
|
||||
mUsbConfiguration = addListPreference(USB_CONFIGURATION_KEY);
|
||||
mBluetoothShowDevicesWithoutNames =
|
||||
findAndInitSwitchPref(BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_KEY);
|
||||
mBluetoothDisableAbsVolume = findAndInitSwitchPref(BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_KEY);
|
||||
mBluetoothEnableInbandRinging = findAndInitSwitchPref(BLUETOOTH_ENABLE_INBAND_RINGING_KEY);
|
||||
if (!BluetoothHeadset.isInbandRingingSupported(getContext())) {
|
||||
@@ -838,6 +845,7 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
if (mColorTemperaturePreference != null) {
|
||||
updateColorTemperature();
|
||||
}
|
||||
updateBluetoothShowDevicesWithoutUserFriendlyNameOptions();
|
||||
updateBluetoothDisableAbsVolumeOptions();
|
||||
updateBluetoothEnableInbandRingingOptions();
|
||||
updateBluetoothA2dpConfigurationValues();
|
||||
@@ -1468,6 +1476,17 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
mWifiManager.setAllowScansWithTraffic(mWifiAllowScansWithTraffic.isChecked() ? 1 : 0);
|
||||
}
|
||||
|
||||
private void updateBluetoothShowDevicesWithoutUserFriendlyNameOptions() {
|
||||
updateSwitchPreference(mBluetoothShowDevicesWithoutNames,
|
||||
SystemProperties.getBoolean(
|
||||
BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_PROPERTY, false));
|
||||
}
|
||||
|
||||
private void writeBluetoothShowDevicesWithoutUserFriendlyNameOptions() {
|
||||
SystemProperties.set(BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_PROPERTY,
|
||||
mBluetoothShowDevicesWithoutNames.isChecked() ? "true" : "false");
|
||||
}
|
||||
|
||||
private void updateBluetoothDisableAbsVolumeOptions() {
|
||||
updateSwitchPreference(mBluetoothDisableAbsVolume,
|
||||
SystemProperties.getBoolean(BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_PROPERTY, false));
|
||||
@@ -2532,6 +2551,8 @@ public class DevelopmentSettings extends RestrictedSettingsFragment
|
||||
writeUSBAudioOptions();
|
||||
} else if (preference == mForceResizable) {
|
||||
writeForceResizableOptions();
|
||||
} else if (preference == mBluetoothShowDevicesWithoutNames) {
|
||||
writeBluetoothShowDevicesWithoutUserFriendlyNameOptions();
|
||||
} else if (preference == mBluetoothDisableAbsVolume) {
|
||||
writeBluetoothDisableAbsVolumeOptions();
|
||||
} else if (preference == mBluetoothEnableInbandRinging) {
|
||||
|
Reference in New Issue
Block a user