Merge change 4251 into donut
* changes:
Updating TTS engine interface for setting the language based on language, country and variant codes coming from a java.util.Locale instance.
diff --git a/include/tts/TtsEngine.h b/include/tts/TtsEngine.h
index d2aa30e..8486532 100644
--- a/include/tts/TtsEngine.h
+++ b/include/tts/TtsEngine.h
@@ -99,14 +99,18 @@
// @param size length of the language value
// @return TTS_SUCCESS, or TTS_FAILURE
virtual tts_result loadLanguage(const char *value, const size_t size);
-
- // Signal the engine to use the specified language. This will force the
- // language to be loaded if it wasn't loaded previously with loadLanguage().
- // See loadLanguage for the specification of the language.
- // @param value pointer to the language value
- // @param size length of the language value
+
+ // Load the resources associated with the specified language, country and Locale variant.
+ // The loaded language will only be used once a call to setLanguageFromLocale() with the same
+ // language value is issued. Language and country values are coded according to the ISO three
+ // letter codes for languages and countries, as can be retrieved from a java.util.Locale
+ // instance. The variant value is encoded as the variant string retrieved from a
+ // java.util.Locale instance built with that variant data.
+ // @param lang pointer to the ISO three letter code for the language
+ // @param country pointer to the ISO three letter code for the country
+ // @param variant pointer to the variant code
// @return TTS_SUCCESS, or TTS_FAILURE
- virtual tts_result setLanguage(const char *value, const size_t size);
+ virtual tts_result setLanguage(const char *lang, const char *country, const char *variant);
// Retrieve the currently set language, or an empty "value" if no language
// has been set.
diff --git a/packages/TtsService/jni/android_tts_SynthProxy.cpp b/packages/TtsService/jni/android_tts_SynthProxy.cpp
index 582e6219..dfecfd8 100644
--- a/packages/TtsService/jni/android_tts_SynthProxy.cpp
+++ b/packages/TtsService/jni/android_tts_SynthProxy.cpp
@@ -269,7 +269,7 @@
}
}
-
+// TODO update to use language, country, variant
static void
android_tts_SynthProxy_setLanguage(JNIEnv *env, jobject thiz, jint jniData,
jstring language)
@@ -283,8 +283,10 @@
const char *langNativeString = env->GetStringUTFChars(language, 0);
// TODO check return codes
if (pSynthData->mNativeSynthInterface) {
- pSynthData->mNativeSynthInterface->setLanguage(langNativeString,
- strlen(langNativeString));
+ // TODO update to use language, country, variant
+ // commented out to not break the build
+ //pSynthData->mNativeSynthInterface->setLanguage(langNativeString,
+ // strlen(langNativeString));
}
env->ReleaseStringUTFChars(language, langNativeString);
}