diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index 1c1e1ba32f00c..a9f5f85824037 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -410,12 +410,14 @@
No defaults set
+
+
Text-to-speech settings
Text-to-speech output
-
+
Speech rate
Speed at which the text is spoken
diff --git a/packages/SettingsLib/src/com/android/settingslib/location/SettingsInjector.java b/packages/SettingsLib/src/com/android/settingslib/location/SettingsInjector.java
index ea5105bd9e0d5..6fb01797fbf4f 100644
--- a/packages/SettingsLib/src/com/android/settingslib/location/SettingsInjector.java
+++ b/packages/SettingsLib/src/com/android/settingslib/location/SettingsInjector.java
@@ -35,6 +35,7 @@ import android.os.Messenger;
import android.os.SystemClock;
import android.os.UserHandle;
import android.os.UserManager;
+import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.AttributeSet;
@@ -449,17 +450,22 @@ public class SettingsInjector {
if (setting == null) {
return;
}
- final Preference preference = setting.preference;
Bundle bundle = msg.getData();
- boolean enabled = bundle.getBoolean(SettingInjectorService.ENABLED_KEY, true);
- String summary = bundle.getString(SettingInjectorService.SUMMARY_KEY, null);
if (Log.isLoggable(TAG, Log.DEBUG)) {
Log.d(TAG, setting + ": received " + msg + ", bundle: " + bundle);
}
- preference.setSummary(summary);
+ boolean enabled = bundle.getBoolean(SettingInjectorService.ENABLED_KEY, true);
+ String summary = bundle.getString(SettingInjectorService.SUMMARY_KEY);
+ final Preference preference = setting.preference;
+ if (TextUtils.isEmpty(summary)) {
+ // Set a placeholder summary when received empty summary from injected service.
+ // This is necessary to avoid preference height change.
+ preference.setSummary(R.string.summary_placeholder);
+ } else {
+ preference.setSummary(summary);
+ }
preference.setEnabled(enabled);
- mHandler.sendMessage(
- mHandler.obtainMessage(WHAT_RECEIVED_STATUS, setting));
+ mHandler.sendMessage(mHandler.obtainMessage(WHAT_RECEIVED_STATUS, setting));
}
}