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