Merge "Take TextToSpeechSettings out of endless loop"
This commit is contained in:
committed by
Android (Google) Code Review
commit
746078fb71
@@ -47,6 +47,7 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.MissingResourceException;
|
import java.util.MissingResourceException;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class TextToSpeechSettings extends SettingsPreferenceFragment implements
|
public class TextToSpeechSettings extends SettingsPreferenceFragment implements
|
||||||
@@ -104,7 +105,7 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
|
|||||||
private TextToSpeech mTts = null;
|
private TextToSpeech mTts = null;
|
||||||
private TtsEngines mEnginesHelper = null;
|
private TtsEngines mEnginesHelper = null;
|
||||||
|
|
||||||
private String mSampleText = "";
|
private String mSampleText = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default locale used by selected TTS engine, null if not connected to any engine.
|
* Default locale used by selected TTS engine, null if not connected to any engine.
|
||||||
@@ -270,10 +271,14 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment implements
|
|||||||
|
|
||||||
// ISO-3166 alpha 3 country codes are out of spec. If we won't normalize,
|
// ISO-3166 alpha 3 country codes are out of spec. If we won't normalize,
|
||||||
// we may end up with English (USA)and German (DEU).
|
// we may end up with English (USA)and German (DEU).
|
||||||
|
final Locale oldDefaultLocale = mCurrentDefaultLocale;
|
||||||
mCurrentDefaultLocale = mEnginesHelper.parseLocaleString(defaultLocale.toString());
|
mCurrentDefaultLocale = mEnginesHelper.parseLocaleString(defaultLocale.toString());
|
||||||
|
if (!Objects.equals(oldDefaultLocale, mCurrentDefaultLocale)) {
|
||||||
|
mSampleText = null;
|
||||||
|
}
|
||||||
|
|
||||||
int defaultAvailable = mTts.setLanguage(defaultLocale);
|
int defaultAvailable = mTts.setLanguage(defaultLocale);
|
||||||
if (evaluateDefaultLocale()) {
|
if (evaluateDefaultLocale() && mSampleText == null) {
|
||||||
getSampleText();
|
getSampleText();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user