summaryrefslogtreecommitdiffstats
path: root/packages/TtsService/jni
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2009-06-16 15:36:28 -0700
committerJean-Michel Trivi <jmtrivi@google.com>2009-06-17 10:16:17 -0700
commit679d728f09eeab2f8b882e42f6e081db1ac74996 (patch)
tree3b9301c16f53e0e09a9c3c0b372ae7105f6f6f7b /packages/TtsService/jni
parentf1170fb5386ea86d704480d321ee9d1ee4858244 (diff)
downloadframeworks_base-679d728f09eeab2f8b882e42f6e081db1ac74996.zip
frameworks_base-679d728f09eeab2f8b882e42f6e081db1ac74996.tar.gz
frameworks_base-679d728f09eeab2f8b882e42f6e081db1ac74996.tar.bz2
Using Locale to specify language and country for a TTS language to load,
rather than a String. Cleanup in doc for TextToSpeech, and addition of queue mode constants.
Diffstat (limited to 'packages/TtsService/jni')
-rw-r--r--packages/TtsService/jni/android_tts_SynthProxy.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/packages/TtsService/jni/android_tts_SynthProxy.cpp b/packages/TtsService/jni/android_tts_SynthProxy.cpp
index dfecfd8..54d038a 100644
--- a/packages/TtsService/jni/android_tts_SynthProxy.cpp
+++ b/packages/TtsService/jni/android_tts_SynthProxy.cpp
@@ -269,10 +269,10 @@ android_tts_SynthProxy_native_finalize(JNIEnv *env, jobject thiz, jint jniData)
}
}
-// TODO update to use language, country, variant
+
static void
android_tts_SynthProxy_setLanguage(JNIEnv *env, jobject thiz, jint jniData,
- jstring language)
+ jstring language, jstring country, jstring variant)
{
if (jniData == 0) {
LOGE("android_tts_SynthProxy_setLanguage(): invalid JNI data");
@@ -281,14 +281,16 @@ android_tts_SynthProxy_setLanguage(JNIEnv *env, jobject thiz, jint jniData,
SynthProxyJniStorage* pSynthData = (SynthProxyJniStorage*)jniData;
const char *langNativeString = env->GetStringUTFChars(language, 0);
+ const char *countryNativeString = env->GetStringUTFChars(country, 0);
+ const char *variantNativeString = env->GetStringUTFChars(variant, 0);
// TODO check return codes
if (pSynthData->mNativeSynthInterface) {
- // TODO update to use language, country, variant
- // commented out to not break the build
- //pSynthData->mNativeSynthInterface->setLanguage(langNativeString,
- // strlen(langNativeString));
+ pSynthData->mNativeSynthInterface->setLanguage(langNativeString, countryNativeString,
+ variantNativeString);
}
env->ReleaseStringUTFChars(language, langNativeString);
+ env->ReleaseStringUTFChars(language, countryNativeString);
+ env->ReleaseStringUTFChars(language, variantNativeString);
}
@@ -496,6 +498,7 @@ android_tts_SynthProxy_getLanguage(JNIEnv *env, jobject thiz, jint jniData)
return env->NewStringUTF(buf);
}
+
JNIEXPORT int JNICALL
android_tts_SynthProxy_getRate(JNIEnv *env, jobject thiz, jint jniData)
{
@@ -531,7 +534,7 @@ static JNINativeMethod gMethods[] = {
(void*)android_tts_SynthProxy_synthesizeToFile
},
{ "native_setLanguage",
- "(ILjava/lang/String;)V",
+ "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V",
(void*)android_tts_SynthProxy_setLanguage
},
{ "native_setSpeechRate",
@@ -567,7 +570,6 @@ static JNINativeMethod gMethods[] = {
#define SP_JNIDATA_FIELD_NAME "mJniData"
#define SP_POSTSPEECHSYNTHESIZED_METHOD_NAME "postNativeSpeechSynthesizedInJava"
-// TODO: verify this is the correct path
static const char* const kClassPathName = "android/tts/SynthProxy";
jint JNI_OnLoad(JavaVM* vm, void* reserved)