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
This commit is contained in:
@@ -20,21 +20,17 @@
|
||||
android:key="tts_settings_screen"
|
||||
android:title="@string/tts_settings_title">
|
||||
|
||||
<PreferenceCategory android:key="tts_engine_section">
|
||||
<com.android.settings.widget.GearPreference
|
||||
android:key="tts_engine_preference"
|
||||
android:title="@string/tts_engine_preference_title"
|
||||
android:fragment="com.android.settings.tts.TtsEnginePreferenceFragment"
|
||||
settings:searchable="false"/>
|
||||
|
||||
<com.android.settings.widget.GearPreference
|
||||
android:key="tts_engine_preference"
|
||||
android:title="@string/tts_engine_preference_title"
|
||||
android:fragment="com.android.settings.tts.TtsEnginePreferenceFragment"
|
||||
settings:searchable="false"/>
|
||||
|
||||
<ListPreference
|
||||
android:key="tts_default_lang"
|
||||
android:title="@string/tts_default_lang_title"
|
||||
android:summary="@string/tts_default_lang_summary"
|
||||
android:persistent="false" />
|
||||
|
||||
</PreferenceCategory>
|
||||
<ListPreference
|
||||
android:key="tts_default_lang"
|
||||
android:title="@string/tts_default_lang_title"
|
||||
android:summary="@string/tts_default_lang_summary"
|
||||
android:persistent="false" />
|
||||
|
||||
<PreferenceCategory android:key="tts_general_section">
|
||||
|
||||
|
@@ -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<Pair<String, Locale>>() {
|
||||
@Override
|
||||
public int compare(Pair<String, Locale> lhs, Pair<String, Locale> 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
|
||||
|
Reference in New Issue
Block a user