diff options
Diffstat (limited to 'android/src')
-rw-r--r-- | android/src/org/rockbox/HostCallback.java | 8 | ||||
-rw-r--r-- | android/src/org/rockbox/KeyboardActivity.java | 49 | ||||
-rw-r--r-- | android/src/org/rockbox/RockboxActivity.java | 17 | ||||
-rw-r--r-- | android/src/org/rockbox/RockboxKeyboardInput.java | 58 | ||||
-rw-r--r-- | android/src/org/rockbox/RockboxYesno.java | 37 | ||||
-rw-r--r-- | android/src/org/rockbox/YesnoActivity.java | 36 |
6 files changed, 69 insertions, 136 deletions
diff --git a/android/src/org/rockbox/HostCallback.java b/android/src/org/rockbox/HostCallback.java deleted file mode 100644 index 8584fedd6a..0000000000 --- a/android/src/org/rockbox/HostCallback.java +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | package org.rockbox; | ||
2 | |||
3 | import android.content.Intent; | ||
4 | |||
5 | public interface HostCallback | ||
6 | { | ||
7 | public void onComplete(int resultCode, Intent data); | ||
8 | } | ||
diff --git a/android/src/org/rockbox/KeyboardActivity.java b/android/src/org/rockbox/KeyboardActivity.java deleted file mode 100644 index 7436031f9d..0000000000 --- a/android/src/org/rockbox/KeyboardActivity.java +++ /dev/null | |||
@@ -1,49 +0,0 @@ | |||
1 | package org.rockbox; | ||
2 | |||
3 | import android.app.Activity; | ||
4 | import android.app.AlertDialog; | ||
5 | import android.app.Dialog; | ||
6 | import android.content.DialogInterface; | ||
7 | import android.os.Bundle; | ||
8 | import android.text.Editable; | ||
9 | import android.view.LayoutInflater; | ||
10 | import android.view.View; | ||
11 | import android.widget.EditText; | ||
12 | |||
13 | public class KeyboardActivity extends Activity | ||
14 | { | ||
15 | public void onCreate(Bundle savedInstanceState) | ||
16 | { | ||
17 | super.onCreate(savedInstanceState); | ||
18 | LayoutInflater inflater=LayoutInflater.from(this); | ||
19 | View addView=inflater.inflate(R.layout.keyboardinput, null); | ||
20 | EditText input = (EditText) addView.findViewById(R.id.KbdInput); | ||
21 | input.setText(getIntent().getStringExtra("value")); | ||
22 | new AlertDialog.Builder(this) | ||
23 | .setTitle(R.string.KbdInputTitle) | ||
24 | .setView(addView) | ||
25 | .setIcon(R.drawable.icon) | ||
26 | .setCancelable(false) | ||
27 | .setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() | ||
28 | { | ||
29 | public void onClick(DialogInterface dialog, int whichButton) { | ||
30 | EditText input = (EditText)((Dialog)dialog) | ||
31 | .findViewById(R.id.KbdInput); | ||
32 | Editable s = input.getText(); | ||
33 | getIntent().putExtra("value", s.toString()); | ||
34 | setResult(RESULT_OK, getIntent()); | ||
35 | finish(); | ||
36 | } | ||
37 | }) | ||
38 | |||
39 | .setNegativeButton(R.string.Cancel, new DialogInterface.OnClickListener() | ||
40 | { | ||
41 | public void onClick(DialogInterface dialog, int whichButton) | ||
42 | { | ||
43 | setResult(RESULT_CANCELED, getIntent()); | ||
44 | finish(); | ||
45 | } | ||
46 | }) | ||
47 | .show(); | ||
48 | } | ||
49 | } | ||
diff --git a/android/src/org/rockbox/RockboxActivity.java b/android/src/org/rockbox/RockboxActivity.java index c9681e306c..f5c658871f 100644 --- a/android/src/org/rockbox/RockboxActivity.java +++ b/android/src/org/rockbox/RockboxActivity.java | |||
@@ -145,23 +145,6 @@ public class RockboxActivity extends Activity | |||
145 | super.onDestroy(); | 145 | super.onDestroy(); |
146 | rbservice.set_activity(null); | 146 | rbservice.set_activity(null); |
147 | } | 147 | } |
148 | |||
149 | private HostCallback hostcallback = null; | ||
150 | public void waitForActivity(Intent i, HostCallback callback) | ||
151 | { | ||
152 | if (hostcallback != null) | ||
153 | { | ||
154 | LOG("Something has gone wrong"); | ||
155 | } | ||
156 | hostcallback = callback; | ||
157 | startActivityForResult(i, 0); | ||
158 | } | ||
159 | |||
160 | public void onActivityResult(int requestCode, int resultCode, Intent data) | ||
161 | { | ||
162 | hostcallback.onComplete(resultCode, data); | ||
163 | hostcallback = null; | ||
164 | } | ||
165 | 148 | ||
166 | private void LOG(CharSequence text) | 149 | private void LOG(CharSequence text) |
167 | { | 150 | { |
diff --git a/android/src/org/rockbox/RockboxKeyboardInput.java b/android/src/org/rockbox/RockboxKeyboardInput.java index 210cbbd258..b7dd812f35 100644 --- a/android/src/org/rockbox/RockboxKeyboardInput.java +++ b/android/src/org/rockbox/RockboxKeyboardInput.java | |||
@@ -23,33 +23,57 @@ package org.rockbox; | |||
23 | 23 | ||
24 | 24 | ||
25 | import android.app.Activity; | 25 | import android.app.Activity; |
26 | import android.content.Intent; | 26 | import android.app.AlertDialog; |
27 | import android.app.Dialog; | ||
28 | import android.content.DialogInterface; | ||
29 | import android.text.Editable; | ||
30 | import android.view.LayoutInflater; | ||
31 | import android.view.View; | ||
32 | import android.widget.EditText; | ||
27 | 33 | ||
28 | public class RockboxKeyboardInput | 34 | public class RockboxKeyboardInput |
29 | { | 35 | { |
30 | private String result; | 36 | public void kbd_input(final String text) |
31 | |||
32 | public RockboxKeyboardInput() | ||
33 | { | 37 | { |
34 | result = null; | 38 | final Activity c = RockboxService.get_instance().get_activity(); |
35 | } | ||
36 | 39 | ||
37 | public void kbd_input(String text) | 40 | c.runOnUiThread(new Runnable() { |
38 | { | 41 | @Override |
39 | RockboxActivity a = (RockboxActivity) RockboxService.get_instance().get_activity(); | 42 | public void run() |
40 | Intent kbd = new Intent(a, KeyboardActivity.class); | ||
41 | kbd.putExtra("value", text); | ||
42 | a.waitForActivity(kbd, new HostCallback() | ||
43 | { | ||
44 | public void onComplete(int resultCode, Intent data) | ||
45 | { | 43 | { |
46 | put_result(resultCode == Activity.RESULT_OK, | 44 | LayoutInflater inflater = LayoutInflater.from(c); |
47 | data.getStringExtra("value")); | 45 | View addView = inflater.inflate(R.layout.keyboardinput, null); |
46 | EditText input = (EditText) addView.findViewById(R.id.KbdInput); | ||
47 | input.setText(text); | ||
48 | new AlertDialog.Builder(c) | ||
49 | .setTitle(R.string.KbdInputTitle) | ||
50 | .setView(addView) | ||
51 | .setIcon(R.drawable.icon) | ||
52 | .setCancelable(false) | ||
53 | .setPositiveButton(R.string.OK, new DialogInterface.OnClickListener() | ||
54 | { | ||
55 | public void onClick(DialogInterface dialog, int whichButton) { | ||
56 | EditText input = (EditText)((Dialog)dialog) | ||
57 | .findViewById(R.id.KbdInput); | ||
58 | Editable s = input.getText(); | ||
59 | put_result(true, s.toString()); | ||
60 | } | ||
61 | }) | ||
62 | .setNegativeButton(R.string.Cancel, new DialogInterface.OnClickListener() | ||
63 | { | ||
64 | public void onClick(DialogInterface dialog, int whichButton) | ||
65 | { | ||
66 | put_result(false, ""); | ||
67 | } | ||
68 | }) | ||
69 | .show(); | ||
48 | } | 70 | } |
49 | }); | 71 | }); |
50 | } | 72 | } |
51 | 73 | ||
52 | private native void put_result(boolean accepted, String new_string); | 74 | private native void put_result(boolean accepted, String new_string); |
75 | |||
76 | @SuppressWarnings("unused") | ||
53 | public boolean is_usable() | 77 | public boolean is_usable() |
54 | { | 78 | { |
55 | return RockboxService.get_instance().get_activity() != null; | 79 | return RockboxService.get_instance().get_activity() != null; |
diff --git a/android/src/org/rockbox/RockboxYesno.java b/android/src/org/rockbox/RockboxYesno.java index aa5e83d749..9481d69d01 100644 --- a/android/src/org/rockbox/RockboxYesno.java +++ b/android/src/org/rockbox/RockboxYesno.java | |||
@@ -22,21 +22,40 @@ | |||
22 | package org.rockbox; | 22 | package org.rockbox; |
23 | 23 | ||
24 | import android.app.Activity; | 24 | import android.app.Activity; |
25 | import android.content.Intent; | 25 | import android.app.AlertDialog; |
26 | import android.content.DialogInterface; | ||
26 | 27 | ||
27 | public class RockboxYesno | 28 | public class RockboxYesno |
28 | { | 29 | { |
29 | @SuppressWarnings("unused") | 30 | @SuppressWarnings("unused") |
30 | private void yesno_display(String text) | 31 | private void yesno_display(final String text) |
31 | { | 32 | { |
32 | RockboxActivity a = (RockboxActivity) RockboxService.get_instance().get_activity(); | 33 | final Activity c = RockboxService.get_instance().get_activity(); |
33 | Intent kbd = new Intent(a, YesnoActivity.class); | 34 | |
34 | kbd.putExtra("value", text); | 35 | c.runOnUiThread(new Runnable() { |
35 | a.waitForActivity(kbd, new HostCallback() | 36 | @Override |
36 | { | 37 | public void run() |
37 | public void onComplete(int resultCode, Intent data) | ||
38 | { | 38 | { |
39 | put_result(resultCode == Activity.RESULT_OK); | 39 | new AlertDialog.Builder(c) |
40 | .setTitle(R.string.KbdInputTitle) | ||
41 | .setIcon(R.drawable.icon) | ||
42 | .setCancelable(false) | ||
43 | .setMessage(text) | ||
44 | .setPositiveButton(R.string.Yes, new DialogInterface.OnClickListener() | ||
45 | { | ||
46 | public void onClick(DialogInterface dialog, int whichButton) | ||
47 | { | ||
48 | put_result(true); | ||
49 | } | ||
50 | }) | ||
51 | .setNegativeButton(R.string.No, new DialogInterface.OnClickListener() | ||
52 | { | ||
53 | public void onClick(DialogInterface dialog, int whichButton) | ||
54 | { | ||
55 | put_result(false); | ||
56 | } | ||
57 | }) | ||
58 | .show(); | ||
40 | } | 59 | } |
41 | }); | 60 | }); |
42 | } | 61 | } |
diff --git a/android/src/org/rockbox/YesnoActivity.java b/android/src/org/rockbox/YesnoActivity.java deleted file mode 100644 index 35e064fef5..0000000000 --- a/android/src/org/rockbox/YesnoActivity.java +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | package org.rockbox; | ||
2 | |||
3 | import android.app.Activity; | ||
4 | import android.app.AlertDialog; | ||
5 | import android.content.DialogInterface; | ||
6 | import android.os.Bundle; | ||
7 | |||
8 | public class YesnoActivity extends Activity | ||
9 | { | ||
10 | public void onCreate(Bundle savedInstanceState) | ||
11 | { | ||
12 | super.onCreate(savedInstanceState); | ||
13 | new AlertDialog.Builder(this) | ||
14 | .setTitle(R.string.KbdInputTitle) | ||
15 | .setIcon(R.drawable.icon) | ||
16 | .setCancelable(false) | ||
17 | .setMessage(getIntent().getStringExtra("value")) | ||
18 | .setPositiveButton(R.string.Yes, new DialogInterface.OnClickListener() | ||
19 | { | ||
20 | public void onClick(DialogInterface dialog, int whichButton) { | ||
21 | setResult(RESULT_OK, getIntent()); | ||
22 | finish(); | ||
23 | } | ||
24 | }) | ||
25 | |||
26 | .setNegativeButton(R.string.No, new DialogInterface.OnClickListener() | ||
27 | { | ||
28 | public void onClick(DialogInterface dialog, int whichButton) | ||
29 | { | ||
30 | setResult(RESULT_CANCELED, getIntent()); | ||
31 | finish(); | ||
32 | } | ||
33 | }) | ||
34 | .show(); | ||
35 | } | ||
36 | } | ||