From 52fd31c2f3dbdee58ee57b08336445df8ce80ae9 Mon Sep 17 00:00:00 2001 From: Rakesh Iyer Date: Fri, 26 Oct 2018 12:45:38 -0700 Subject: [PATCH] Misc fixes to TTS settings. 1. Remove an extra PreferenceGroup that was causing some spacing issues. 2. Remove the animations when elements resize because this causes items to slide around unnecessarily. 3. While we're in the file, lambda-ify some of the older code. Bug: 77981482 Bug: 79897262 Test: Manually verified. Change-Id: I9c79beea3a231ba62aeef3543802faebd775e128 --- res/xml/tts_settings.xml | 24 ++++++-------- .../settings/tts/TextToSpeechSettings.java | 31 +++++-------------- 2 files changed, 18 insertions(+), 37 deletions(-) diff --git a/res/xml/tts_settings.xml b/res/xml/tts_settings.xml index 4a2415477ee..e76cdb78046 100644 --- a/res/xml/tts_settings.xml +++ b/res/xml/tts_settings.xml @@ -20,21 +20,17 @@ android:key="tts_settings_screen" android:title="@string/tts_settings_title"> - + - - - - - + diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java index 0f10d28572c..866e5a8000b 100644 --- a/src/com/android/settings/tts/TextToSpeechSettings.java +++ b/src/com/android/settings/tts/TextToSpeechSettings.java @@ -147,12 +147,7 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment * screen for the first time (as opposed to when a user changes his choice * of engine). */ - private final TextToSpeech.OnInitListener mInitListener = new TextToSpeech.OnInitListener() { - @Override - public void onInit(int status) { - onInitEngine(status); - } - }; + private final TextToSpeech.OnInitListener mInitListener = this::onInitEngine; @Override public int getMetricsCategory() { @@ -215,6 +210,11 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment @Override public void onResume() { super.onResume(); + // We tend to change the summary contents of our widgets, which at higher text sizes causes + // them to resize, which results in the recyclerview smoothly animating them at inopportune + // times. Disable the animation so widgets snap to their positions rather than sliding + // around while the user is interacting with it. + getListView().getItemAnimator().setMoveDuration(0); if (mTts == null || mCurrentDefaultLocale == null) { return; @@ -323,7 +323,6 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment if (mCurrentEngine != null) { EngineInfo info = mEnginesHelper.getEngineInfo(mCurrentEngine); - Preference mEnginePreference = findPreference(KEY_TTS_ENGINE_PREFERENCE); ((GearPreference) mEnginePreference).setOnGearClickListener(this); mEnginePreference.setSummary(info.label); @@ -365,14 +364,7 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment if (status == TextToSpeech.SUCCESS) { if (DBG) Log.d(TAG, "TTS engine for settings screen initialized."); checkDefaultLocale(); - getActivity() - .runOnUiThread( - new Runnable() { - @Override - public void run() { - mLocalePreference.setEnabled(true); - } - }); + getActivity().runOnUiThread(() -> mLocalePreference.setEnabled(true)); } else { if (DBG) { Log.d(TAG, @@ -516,14 +508,7 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment } // Sort it - Collections.sort( - entryPairs, - new Comparator>() { - @Override - public int compare(Pair lhs, Pair rhs) { - return lhs.first.compareToIgnoreCase(rhs.first); - } - }); + Collections.sort(entryPairs, (lhs, rhs) -> lhs.first.compareToIgnoreCase(rhs.first)); // Get two arrays out of one of pairs mSelectedLocaleIndex = 0; // Will point to the R.string.tts_lang_use_system value