Update UI when BT device is rename

* Using getAliasName() instead of getName()
* Add BluetoothDevice isConnected check, when BluetoothDevice is
  disconnected. Do not add to the show list.

Bug: 77783217
Test: make -j50 RunSettingsRoboTests
Change-Id: I183fc693eaefd690568ba2f1ec740258b2bb62c8
This commit is contained in:
hughchen
2018-04-20 10:01:59 +08:00
parent 37a6a91444
commit 615becb392
6 changed files with 18 additions and 10 deletions

View File

@@ -131,7 +131,7 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont
final BluetoothDevice btDevice = mConnectedDevices.get(connectedDeviceIndex); final BluetoothDevice btDevice = mConnectedDevices.get(connectedDeviceIndex);
mSelectedIndex = connectedDeviceIndex; mSelectedIndex = connectedDeviceIndex;
setActiveBluetoothDevice(btDevice); setActiveBluetoothDevice(btDevice);
listPreference.setSummary(btDevice.getName()); listPreference.setSummary(btDevice.getAliasName());
} }
return true; return true;
} }
@@ -319,7 +319,7 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont
mediaValues[mSelectedIndex] = mContext.getText(R.string.media_output_default_summary); mediaValues[mSelectedIndex] = mContext.getText(R.string.media_output_default_summary);
for (int i = 0, size = mConnectedDevices.size(); i < size; i++) { for (int i = 0, size = mConnectedDevices.size(); i < size; i++) {
final BluetoothDevice btDevice = mConnectedDevices.get(i); final BluetoothDevice btDevice = mConnectedDevices.get(i);
mediaOutputs[i] = btDevice.getName(); mediaOutputs[i] = btDevice.getAliasName();
mediaValues[i] = btDevice.getAddress(); mediaValues[i] = btDevice.getAddress();
if (btDevice.equals(activeDevice)) { if (btDevice.equals(activeDevice)) {
// select the active connected device. // select the active connected device.

View File

@@ -66,7 +66,11 @@ public class HandsFreeProfileOutputPreferenceController extends
if (numDevices == 0) { if (numDevices == 0) {
// No connected devices, disable switch entry. // No connected devices, disable switch entry.
mPreference.setVisible(false); mPreference.setVisible(false);
preference.setSummary(mContext.getText(R.string.media_output_default_summary)); final CharSequence summary = mContext.getText(R.string.media_output_default_summary);
final CharSequence[] defaultMediaOutput = new CharSequence[]{summary};
mSelectedIndex = getDefaultDeviceIndex();
preference.setSummary(summary);
setPreference(defaultMediaOutput, defaultMediaOutput, preference);
return; return;
} }

View File

@@ -78,7 +78,11 @@ public class MediaOutputPreferenceController extends AudioSwitchPreferenceContro
if (numDevices == 0) { if (numDevices == 0) {
// Disable switch entry if there is no connected devices. // Disable switch entry if there is no connected devices.
mPreference.setVisible(false); mPreference.setVisible(false);
preference.setSummary(mContext.getText(R.string.media_output_default_summary)); final CharSequence summary = mContext.getText(R.string.media_output_default_summary);
final CharSequence[] defaultMediaOutput = new CharSequence[]{summary};
mSelectedIndex = getDefaultDeviceIndex();
preference.setSummary(summary);
setPreference(defaultMediaOutput, defaultMediaOutput, preference);
return; return;
} }

View File

@@ -226,7 +226,7 @@ public class AudioOutputSwitchPreferenceControllerTest {
mController.onPreferenceChange(mPreference, TEST_DEVICE_ADDRESS_1); mController.onPreferenceChange(mPreference, TEST_DEVICE_ADDRESS_1);
assertThat(mPreference.getSummary()).isEqualTo(mBluetoothDevice.getName()); assertThat(mPreference.getSummary()).isEqualTo(TEST_DEVICE_NAME_1);
} }
/** /**
@@ -246,7 +246,7 @@ public class AudioOutputSwitchPreferenceControllerTest {
mController.onPreferenceChange(mPreference, TEST_DEVICE_ADDRESS_2); mController.onPreferenceChange(mPreference, TEST_DEVICE_ADDRESS_2);
assertThat(mPreference.getSummary()).isEqualTo(secondBluetoothDevice.getName()); assertThat(mPreference.getSummary()).isEqualTo(TEST_DEVICE_NAME_2);
} }
/** /**

View File

@@ -251,7 +251,7 @@ public class HandsFreeProfileOutputPreferenceControllerTest {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.isVisible()).isTrue(); assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(mBluetoothDevice.getName()); assertThat(mPreference.getSummary()).isEqualTo(TEST_DEVICE_NAME_1);
} }
/** /**
@@ -273,7 +273,7 @@ public class HandsFreeProfileOutputPreferenceControllerTest {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.isVisible()).isTrue(); assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(mSecondBluetoothDevice.getName()); assertThat(mPreference.getSummary()).isEqualTo(TEST_DEVICE_NAME_2);
} }
/** /**

View File

@@ -302,7 +302,7 @@ public class MediaOutputPreferenceControllerTest {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.isVisible()).isTrue(); assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(mBluetoothDevice.getName()); assertThat(mPreference.getSummary()).isEqualTo(TEST_DEVICE_NAME_1);
} }
/** /**
@@ -323,7 +323,7 @@ public class MediaOutputPreferenceControllerTest {
mController.updateState(mPreference); mController.updateState(mPreference);
assertThat(mPreference.isVisible()).isTrue(); assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(mSecondBluetoothDevice.getName()); assertThat(mPreference.getSummary()).isEqualTo(TEST_DEVICE_NAME_2);
} }
/** /**