summaryrefslogtreecommitdiff
path: root/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/android/src/org/grammaticalframework/ui/android/TTS.java34
-rw-r--r--src/ui/android/src/org/grammaticalframework/ui/android/Translator.java2
2 files changed, 13 insertions, 23 deletions
diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java b/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java
index 585911129..2a77c950a 100644
--- a/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java
+++ b/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java
@@ -20,30 +20,20 @@ public class TTS {
mAudioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
}
- public void setLanguage(String language) {
- Locale locale = LocaleUtils.parseJavaLocale(language.replace('-', '_'),
- Locale.getDefault());
-
- int result = mTts.setLanguage(locale);
- if (result == TextToSpeech.LANG_MISSING_DATA ||
- result == TextToSpeech.LANG_NOT_SUPPORTED) {
- Log.e(TAG, "Language is not available");
- } else {
- // TODO: the language may be available for the locale,
- // but not for the specified country and variant.
- }
- }
-
// TODO: handle speak() calls before service connects
- public void speak(String text) {
+ public void speak(String language, String text) {
if (mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) {
- HashMap<String,String> params = new HashMap<String,String>();
- // TODO: how can I get network / embedded fallback?
- // Using both crashes the TTS engine if the offline data is not installed
- // Using only one doesn't allow the other
- // params.put(TextToSpeech.Engine.KEY_FEATURE_NETWORK_SYNTHESIS, "true");
- // params.put(TextToSpeech.Engine.KEY_FEATURE_EMBEDDED_SYNTHESIS, "true");
- mTts.speak(text, TextToSpeech.QUEUE_FLUSH, params);
+ Locale locale = LocaleUtils.parseJavaLocale(language.replace('-', '_'),
+ Locale.getDefault());
+
+ int result = mTts.setLanguage(locale);
+ if (result == TextToSpeech.LANG_MISSING_DATA ||
+ result == TextToSpeech.LANG_NOT_SUPPORTED) {
+ Log.e(TAG, "Language is not available");
+ } else {
+ HashMap<String,String> params = new HashMap<String,String>();
+ mTts.speak(text, TextToSpeech.QUEUE_FLUSH, params);
+ }
}
}
diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java
index 58b601e31..0c03f4ad3 100644
--- a/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java
+++ b/src/ui/android/src/org/grammaticalframework/ui/android/Translator.java
@@ -33,7 +33,7 @@ public class Translator {
/*
new Language("en-US", "English", "TranslateEng", R.xml.inflection_en), // AR
new Language("cmn-Hans-CN", "Chinese", "TranslateChi", R.xml.inflection_cmn),
- new Language("fi-FI", "Finnish", "TranslateFin", 0),
+ new Language("fi-FI", "Finnish", "TranslateFin", R.xml.inflection_fi, R.xml.qwerty),
new Language("sv-SE", "Swedish", "TranslateSwe", R.xml.inflection_sv),
*/
new Language("en-US", "English", "ParseEng", R.xml.inflection_en, R.xml.qwerty),