From 615becb392fe57efcd8aac400a3f88924ce8c13c Mon Sep 17 00:00:00 2001 From: hughchen Date: Fri, 20 Apr 2018 10:01:59 +0800 Subject: [PATCH] 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 --- src/com/android/settings/sound/AudioSwitchPreferenceController.java | 4 ++-- .../settings/sound/HandsFreeProfileOutputPreferenceController.java | 6 +++++- src/com/android/settings/sound/MediaOutputPreferenceController.java | 6 +++++- .../settings/sound/AudioOutputSwitchPreferenceControllerTest.java | 4 ++-- .../sound/HandsFreeProfileOutputPreferenceControllerTest.java | 4 ++-- .../android/settings/sound/MediaOutputPreferenceControllerTest.java | 4 ++-- 6 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/com/android/settings/sound/AudioSwitchPreferenceController.java b/src/com/android/settings/sound/AudioSwitchPreferenceController.java index dde2b3012e..7ed3db9fcf 100644 --- a/src/com/android/settings/sound/AudioSwitchPreferenceController.java +++ b/src/com/android/settings/sound/AudioSwitchPreferenceController.java @@ -131,7 +131,7 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont final BluetoothDevice btDevice = mConnectedDevices.get(connectedDeviceIndex); mSelectedIndex = connectedDeviceIndex; setActiveBluetoothDevice(btDevice); - listPreference.setSummary(btDevice.getName()); + listPreference.setSummary(btDevice.getAliasName()); } return true; } @@ -319,7 +319,7 @@ public abstract class AudioSwitchPreferenceController extends BasePreferenceCont mediaValues[mSelectedIndex] = mContext.getText(R.string.media_output_default_summary); for (int i = 0, size = mConnectedDevices.size(); i < size; i++) { final BluetoothDevice btDevice = mConnectedDevices.get(i); - mediaOutputs[i] = btDevice.getName(); + mediaOutputs[i] = btDevice.getAliasName(); mediaValues[i] = btDevice.getAddress(); if (btDevice.equals(activeDevice)) { // select the active connected device. diff --git a/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java b/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java index 2039913312..f7f547aaa4 100644 --- a/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java +++ b/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java @@ -66,7 +66,11 @@ public class HandsFreeProfileOutputPreferenceController extends if (numDevices == 0) { // No connected devices, disable switch entry. 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; } diff --git a/src/com/android/settings/sound/MediaOutputPreferenceController.java b/src/com/android/settings/sound/MediaOutputPreferenceController.java index 79f3c9d954..b456263eaf 100644 --- a/src/com/android/settings/sound/MediaOutputPreferenceController.java +++ b/src/com/android/settings/sound/MediaOutputPreferenceController.java @@ -78,7 +78,11 @@ public class MediaOutputPreferenceController extends AudioSwitchPreferenceContro if (numDevices == 0) { // Disable switch entry if there is no connected devices. 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; } diff --git a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java index 272fd20cb3..7eccd42ed3 100644 --- a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java @@ -226,7 +226,7 @@ public class AudioOutputSwitchPreferenceControllerTest { 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); - assertThat(mPreference.getSummary()).isEqualTo(secondBluetoothDevice.getName()); + assertThat(mPreference.getSummary()).isEqualTo(TEST_DEVICE_NAME_2); } /** diff --git a/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java index db09eab2d5..314dbfdd6d 100644 --- a/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java @@ -251,7 +251,7 @@ public class HandsFreeProfileOutputPreferenceControllerTest { mController.updateState(mPreference); 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); assertThat(mPreference.isVisible()).isTrue(); - assertThat(mPreference.getSummary()).isEqualTo(mSecondBluetoothDevice.getName()); + assertThat(mPreference.getSummary()).isEqualTo(TEST_DEVICE_NAME_2); } /** diff --git a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java index b777239760..e8869365f4 100644 --- a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java @@ -302,7 +302,7 @@ public class MediaOutputPreferenceControllerTest { mController.updateState(mPreference); 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); assertThat(mPreference.isVisible()).isTrue(); - assertThat(mPreference.getSummary()).isEqualTo(mSecondBluetoothDevice.getName()); + assertThat(mPreference.getSummary()).isEqualTo(TEST_DEVICE_NAME_2); } /** -- 2.11.0