diff options
author | Thomas Martitz <kugel@rockbox.org> | 2010-11-06 01:40:24 +0000 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2010-11-06 01:40:24 +0000 |
commit | 739d76cfda5793256e849acd082d90f1e09c9494 (patch) | |
tree | 4fb4f027e296040fcd8e36722709f7762285c2d3 /apps/hosted | |
parent | 93640fc22847e70f0070061ed1effc5d063dd600 (diff) |
Android: Use our translations for the yes/no/ok/cancel buttons in the yesno and keyboard dialog.
Second part of FS#11708.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28515 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/hosted')
-rw-r--r-- | apps/hosted/keyboard.c | 18 | ||||
-rw-r--r-- | apps/hosted/yesno.c | 14 |
2 files changed, 25 insertions, 7 deletions
diff --git a/apps/hosted/keyboard.c b/apps/hosted/keyboard.c index 6cc14d654f..ab461cf52d 100644 --- a/apps/hosted/keyboard.c +++ b/apps/hosted/keyboard.c @@ -25,6 +25,7 @@ #include <stdbool.h> #include "string-extra.h" #include "kernel.h" +#include "lang.h" extern JNIEnv *env_ptr; static jclass RockboxKeyboardInput_class; @@ -67,7 +68,10 @@ static void kdb_init(void) RockboxKeyboardInput_class, constructor); kbd_inputfunc = e->GetMethodID(env_ptr, RockboxKeyboardInput_class, - "kbd_input", "(Ljava/lang/String;)V"); + "kbd_input", + "(Ljava/lang/String;" + "Ljava/lang/String;" + "Ljava/lang/String;)V"); kbd_is_usable = e->GetMethodID(env_ptr, RockboxKeyboardInput_class, "is_usable", "()Z"); } @@ -80,12 +84,15 @@ static void kdb_init(void) int kbd_input(char* text, int buflen) { - JNIEnv e = *env_ptr; - jstring str = e->NewStringUTF(env_ptr, text); + JNIEnv e = *env_ptr; + jstring str = e->NewStringUTF(env_ptr, text); + jstring ok_text = e->NewStringUTF(env_ptr, str(LANG_KBD_OK)); + jstring cancel_text = e->NewStringUTF(env_ptr, str(LANG_KBD_CANCEL)); const char *utf8_string; kdb_init(); - e->CallVoidMethod(env_ptr, RockboxKeyboardInput_instance,kbd_inputfunc,str); + e->CallVoidMethod(env_ptr, RockboxKeyboardInput_instance,kbd_inputfunc, + str, ok_text, cancel_text); wakeup_wait(&kbd_wakeup, TIMEOUT_BLOCK); @@ -96,6 +103,9 @@ int kbd_input(char* text, int buflen) e->ReleaseStringUTFChars(env_ptr, new_string, utf8_string); e->DeleteGlobalRef(env_ptr, new_string); } + e->DeleteGlobalRef(env_ptr, str); + e->DeleteGlobalRef(env_ptr, ok_text); + e->DeleteGlobalRef(env_ptr, cancel_text); return !accepted; /* return 0 on success */ } diff --git a/apps/hosted/yesno.c b/apps/hosted/yesno.c index 2a8c02edd5..d00cb063af 100644 --- a/apps/hosted/yesno.c +++ b/apps/hosted/yesno.c @@ -62,7 +62,10 @@ static void yesno_init(void) RockboxYesno_class, constructor); yesno_func = e->GetMethodID(env_ptr, RockboxYesno_class, - "yesno_display", "(Ljava/lang/String;)V"); + "yesno_display", + "(Ljava/lang/String;" + "Ljava/lang/String;" + "Ljava/lang/String;)V"); yesno_is_usable = e->GetMethodID(env_ptr, RockboxYesno_class, "is_usable", "()Z"); } @@ -100,12 +103,17 @@ enum yesno_res gui_syncyesno_run(const struct text_message * main_message, JNIEnv e = *env_ptr; jstring message = build_message(main_message); - - e->CallVoidMethod(env_ptr, RockboxYesno_instance, yesno_func, message); + jstring yes = (*env_ptr)->NewStringUTF(env_ptr, str(LANG_SET_BOOL_YES)); + jstring no = (*env_ptr)->NewStringUTF(env_ptr, str(LANG_SET_BOOL_NO)); + + e->CallVoidMethod(env_ptr, RockboxYesno_instance, yesno_func, + message, yes, no); wakeup_wait(&yesno_wakeup, TIMEOUT_BLOCK); e->DeleteLocalRef(env_ptr, message); + e->DeleteLocalRef(env_ptr, yes); + e->DeleteLocalRef(env_ptr, no); return ret ? YESNO_YES : YESNO_NO; } |