Improve Bluetooth tethering UI usability.
- Updated hint text for BT tethering checkbox to "[Sharing|not sharing] this [tablet|phone]'s mobile data connection". - Show correct hint text when user enters tethering screen. - Show correct status after user enables tethering when Bluetooth is off. When BluetoothPan.setBluetoothTethering(true) is called with BT off, BluetoothPanProfileHandler will add a broadcast receiver to enable tethering after BT turns on. This happens too late to show the correct status when TetherSettings gets the adapter state changed event, so set a flag (mBluetoothEnableForTether) instead, and call setBluetoothTethering ourselves after the state changes to ON. Also, clear the flag if the adapter state changes to OFF or ERROR. - Show correct status when user enables tethering, then disables Bluetooth, then returns to the tethering screen. Previously it would show Bluetooth tethering enabled, even though adapter state was OFF. - Show the number of connected devices in tethering preference screen. - Distinguish between PANU and NAP in device profiles screen, and show appropriate text to clarify the direction of tethering. - Remove profiles from device profiles list when the device removes the UUID (e.g. Mac OS X turning NAP on/off) and after a NAP disconnection when the remote device only supports PANU. Bug: 3414575 Change-Id: I2c0830876d5b9bddb293e57c4d3ca74f105911b8
This commit is contained in:
@@ -239,7 +239,7 @@ public final class DeviceProfilesSettings extends SettingsPreferenceFragment
|
||||
if (TextUtils.isEmpty(name)) {
|
||||
name = context.getString(R.string.bluetooth_device);
|
||||
}
|
||||
int disconnectMessage = profile.getDisconnectResource();
|
||||
int disconnectMessage = profile.getDisconnectResource(device.getDevice());
|
||||
if (disconnectMessage == 0) {
|
||||
Log.w(TAG, "askDisconnect: unexpected profile " + profile);
|
||||
disconnectMessage = R.string.bluetooth_disconnect_blank;
|
||||
@@ -288,6 +288,13 @@ public final class DeviceProfilesSettings extends SettingsPreferenceFragment
|
||||
refreshProfilePreference(profilePref, profile);
|
||||
}
|
||||
}
|
||||
for (LocalBluetoothProfile profile : mCachedDevice.getRemovedProfiles()) {
|
||||
Preference profilePref = findPreference(profile.toString());
|
||||
if (profilePref != null) {
|
||||
Log.d(TAG, "Removing " + profile.toString() + " from profile list");
|
||||
mProfileContainer.removePreference(profilePref);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void refreshProfilePreference(Preference profilePref, LocalBluetoothProfile profile) {
|
||||
|
Reference in New Issue
Block a user