From 7f4d4fa644520a79bc8f4db52d228e4bb8bf24f0 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Sun, 31 Oct 2010 19:20:02 +0100 Subject: [PATCH 2/2] Android: Localize yes/no text on the buttons in the yesno widget. --- android/src/org/rockbox/RockboxYesno.java | 4 +++- android/src/org/rockbox/YesnoActivity.java | 4 ++-- apps/hosted/yesno.c | 8 ++++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/android/src/org/rockbox/RockboxYesno.java b/android/src/org/rockbox/RockboxYesno.java index aa5e83d..bb5f0be 100644 --- a/android/src/org/rockbox/RockboxYesno.java +++ b/android/src/org/rockbox/RockboxYesno.java @@ -27,11 +27,13 @@ import android.content.Intent; public class RockboxYesno { @SuppressWarnings("unused") - private void yesno_display(String text) + private void yesno_display(String text, String yes, String no) { RockboxActivity a = (RockboxActivity) RockboxService.get_instance().get_activity(); Intent kbd = new Intent(a, YesnoActivity.class); kbd.putExtra("value", text); + kbd.putExtra("yes", yes); + kbd.putExtra("no", no); a.waitForActivity(kbd, new HostCallback() { public void onComplete(int resultCode, Intent data) diff --git a/android/src/org/rockbox/YesnoActivity.java b/android/src/org/rockbox/YesnoActivity.java index 35e064f..37323ac 100644 --- a/android/src/org/rockbox/YesnoActivity.java +++ b/android/src/org/rockbox/YesnoActivity.java @@ -15,7 +15,7 @@ public class YesnoActivity extends Activity .setIcon(R.drawable.icon) .setCancelable(false) .setMessage(getIntent().getStringExtra("value")) - .setPositiveButton(R.string.Yes, new DialogInterface.OnClickListener() + .setPositiveButton(getIntent().getStringExtra("yes"), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { setResult(RESULT_OK, getIntent()); @@ -23,7 +23,7 @@ public class YesnoActivity extends Activity } }) - .setNegativeButton(R.string.No, new DialogInterface.OnClickListener() + .setNegativeButton(getIntent().getStringExtra("no"), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { diff --git a/apps/hosted/yesno.c b/apps/hosted/yesno.c index 1553868..0606e73 100644 --- a/apps/hosted/yesno.c +++ b/apps/hosted/yesno.c @@ -62,7 +62,7 @@ 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,9 +100,13 @@ enum yesno_res gui_syncyesno_run(const struct text_message * main_message, JNIEnv e = *env_ptr; jstring message = build_message(main_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); + e->CallVoidMethod(env_ptr, RockboxYesno_instance, yesno_func, message, yes, no); e->ReleaseStringUTFChars(env_ptr, message, NULL); + e->ReleaseStringUTFChars(env_ptr, yes, NULL); + e->ReleaseStringUTFChars(env_ptr, no, NULL); wakeup_wait(&yesno_wakeup, TIMEOUT_BLOCK); -- 1.7.2.3