diff --git a/res/values/strings.xml b/res/values/strings.xml index f92fd2aca84..ee06f9bef10 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -156,6 +156,8 @@ Shortcut, hearing aid compatibility Preset + + There are no presets programmed by your audiologist Couldn\u2019t update preset diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java index 564e1384779..12f904b6ae2 100644 --- a/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java +++ b/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsController.java @@ -159,19 +159,22 @@ public class BluetoothDetailsHearingAidsPresetsController extends mPreference.setEnabled(mCachedDevice.isConnectedHapClientDevice()); loadAllPresetInfo(); + mPreference.setSummary(null); if (mPreference.getEntries().length == 0) { - if (DEBUG) { - Log.w(TAG, "Disable the preference since preset info size = 0"); + if (mPreference.isEnabled()) { + if (DEBUG) { + Log.w(TAG, "Disable the preference since preset info size = 0"); + } + mPreference.setEnabled(false); + mPreference.setSummary(mContext.getString( + R.string.bluetooth_hearing_aids_presets_empty_list_message)); } - mPreference.setEnabled(false); } else { int activePresetIndex = mHapClientProfile.getActivePresetIndex( mCachedDevice.getDevice()); if (activePresetIndex != BluetoothHapClient.PRESET_INDEX_UNAVAILABLE) { mPreference.setValue(Integer.toString(activePresetIndex)); mPreference.setSummary(mPreference.getEntry()); - } else { - mPreference.setSummary(null); } } } diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java index cf80a871416..36838852b8a 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingAidsPresetsControllerTest.java @@ -38,6 +38,7 @@ import android.bluetooth.BluetoothHapPresetInfo; import androidx.preference.ListPreference; import androidx.preference.PreferenceCategory; +import com.android.settings.R; import com.android.settingslib.bluetooth.CachedBluetoothDevice; import com.android.settingslib.bluetooth.HapClientProfile; import com.android.settingslib.bluetooth.LocalBluetoothManager; @@ -215,6 +216,8 @@ public class BluetoothDetailsHearingAidsPresetsControllerTest extends assertThat(mController.getPreference()).isNotNull(); assertThat(mController.getPreference().isEnabled()).isFalse(); + assertThat(String.valueOf(mController.getPreference().getSummary())).isEqualTo( + mContext.getString(R.string.bluetooth_hearing_aids_presets_empty_list_message)); } @Test