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)); } }