Commit 6f207f07af17370ac99651c1cdfadf02c347a287
1 parent
5c783f96
Exists in
master
and in
5 other branches
Melhorando diálogo de configuração android
Showing
5 changed files
with
78 additions
and
39 deletions
Show diff stats
android/res/values/strings.xml
android/res/xml/preferences.xml
... | ... | @@ -24,19 +24,30 @@ |
24 | 24 | |
25 | 25 | <CheckBoxPreference |
26 | 26 | android:key="ssl" |
27 | - android:summary="Usar SSL nas conexões ao host" | |
27 | + android:summaryOff="Não usar SSL nas conexões ao host" | |
28 | + android:summaryOn="Usar SSL nas conexões ao host" | |
28 | 29 | android:title="Conexão segura" |
29 | 30 | android:defaultValue="false" |
30 | 31 | /> |
31 | 32 | |
32 | 33 | <CheckBoxPreference |
33 | - android:key="reconnect" | |
34 | - android:summary="Conectar automaticamente" | |
35 | - android:title="Conexão automática" | |
34 | + android:key="autoconnect" | |
35 | + android:summaryOn="Conectar ao iniciar" | |
36 | + android:summaryOff="Não conectar ao iniciar" | |
37 | + android:title="Conecta ao host ao iniciar" | |
36 | 38 | android:defaultValue="true" |
37 | 39 | /> |
38 | 40 | |
39 | - </PreferenceCategory> | |
41 | + <CheckBoxPreference | |
42 | + android:key="reconnect" | |
43 | + android:summaryOn="Reconectar automaticamente" | |
44 | + android:summaryOff="Não reconectar automaticamente" | |
45 | + android:title="Reconexão automática" | |
46 | + android:defaultValue="false" | |
47 | + /> | |
48 | + | |
49 | + | |
50 | + </PreferenceCategory> | |
40 | 51 | |
41 | 52 | </PreferenceScreen> |
42 | 53 | ... | ... |
android/src/br/com/bb/pw3270/PW3270Activity.java
... | ... | @@ -29,7 +29,7 @@ public class PW3270Activity extends Activity |
29 | 29 | private WebView view; |
30 | 30 | private terminal host; |
31 | 31 | private Activity mainact = this; |
32 | - private ProgressDialog dlgProgress; | |
32 | + private ProgressDialog dlgSysMessage; | |
33 | 33 | |
34 | 34 | private class terminal extends lib3270 |
35 | 35 | { |
... | ... | @@ -41,14 +41,7 @@ public class PW3270Activity extends Activity |
41 | 41 | |
42 | 42 | public void hideProgressDialog() |
43 | 43 | { |
44 | - dlgProgress.hide(); | |
45 | - } | |
46 | - | |
47 | - public void showProgressDialog(String msg) | |
48 | - { | |
49 | - dlgProgress.setMessage(msg); | |
50 | - Log.v(TAG,msg); | |
51 | - dlgProgress.show(); | |
44 | + dlgSysMessage.hide(); | |
52 | 45 | } |
53 | 46 | |
54 | 47 | protected void updateScreen() |
... | ... | @@ -63,12 +56,12 @@ public class PW3270Activity extends Activity |
63 | 56 | String message[] = res.getStringArray(R.array.program_msg); |
64 | 57 | try |
65 | 58 | { |
66 | - showProgressDialog(message[id]); | |
59 | + dlgSysMessage.setMessage(message[id]); | |
67 | 60 | } catch(Exception e) |
68 | 61 | { |
69 | - Log.e(TAG,e.getLocalizedMessage()); | |
70 | - showProgressDialog("?"); | |
62 | + dlgSysMessage.setMessage(e.getLocalizedMessage()); | |
71 | 63 | } |
64 | + dlgSysMessage.show(); | |
72 | 65 | } |
73 | 66 | return true; |
74 | 67 | } |
... | ... | @@ -123,11 +116,23 @@ public class PW3270Activity extends Activity |
123 | 116 | |
124 | 117 | res = getResources(); |
125 | 118 | |
126 | - dlgProgress = new ProgressDialog(this); | |
127 | - dlgProgress.setMessage("Aguarde..."); | |
128 | - dlgProgress.setCancelable(false); | |
129 | -// dlgProgress.show(); | |
119 | + // Cria dialogo para as mensagems de sistema | |
120 | + dlgSysMessage = new ProgressDialog(this); | |
121 | + dlgSysMessage.setCancelable(false); | |
122 | + dlgSysMessage.setTitle(res.getString(R.string.wait)); | |
123 | + | |
124 | + /* | |
125 | + dlgSysMessage.setButton(-2, "Desconectar", new DialogInterface.OnClickListener() | |
126 | + { | |
130 | 127 | |
128 | + public void onClick(DialogInterface dialog, int which) | |
129 | + { | |
130 | + // TODO Auto-generated method stub | |
131 | + } | |
132 | + | |
133 | + }); | |
134 | + */ | |
135 | + | |
131 | 136 | // Reference: |
132 | 137 | // http://developer.android.com/reference/android/webkit/WebView.html |
133 | 138 | view = new WebView(this); |
... | ... | @@ -177,7 +182,7 @@ public class PW3270Activity extends Activity |
177 | 182 | setContentView(view); |
178 | 183 | view.loadUrl("file:index.html"); |
179 | 184 | |
180 | - if(settings.getString("hostname","") != "" && settings.getBoolean("reconnect",false)) | |
185 | + if(settings.getString("hostname","") != "" && settings.getBoolean("autoconnect",false)) | |
181 | 186 | host.connect(); |
182 | 187 | |
183 | 188 | } | ... | ... |
android/src/br/com/bb/pw3270/SettingsActivity.java
1 | 1 | package br.com.bb.pw3270; |
2 | 2 | |
3 | 3 | import android.os.Bundle; |
4 | +import android.preference.Preference; | |
4 | 5 | import android.preference.PreferenceFragment; |
5 | 6 | import android.app.Activity; |
6 | 7 | |
7 | 8 | public class SettingsActivity extends Activity |
8 | 9 | { |
9 | - public static class SettingsFragment extends PreferenceFragment | |
10 | + public static class SettingsFragment extends PreferenceFragment | |
10 | 11 | { |
12 | + private class stringSetting implements Preference.OnPreferenceChangeListener | |
13 | + { | |
14 | + | |
15 | + public stringSetting(Preference p) | |
16 | + { | |
17 | + p.setOnPreferenceChangeListener(this); | |
18 | + this.onPreferenceChange(p,null); | |
19 | + } | |
20 | + | |
21 | + public boolean onPreferenceChange(Preference p, Object arg1) | |
22 | + { | |
23 | + p.setSummary(p.getSharedPreferences().getString(p.getKey(),"")); | |
24 | + return false; | |
25 | + } | |
26 | + } | |
27 | + | |
11 | 28 | @Override |
12 | 29 | public void onCreate(Bundle savedInstanceState) |
13 | 30 | { |
... | ... | @@ -15,7 +32,14 @@ public class SettingsActivity extends Activity |
15 | 32 | |
16 | 33 | // Load the preferences from an XML resource |
17 | 34 | addPreferencesFromResource(R.xml.preferences); |
35 | + | |
36 | + // Update summary from settings | |
37 | + new stringSetting(findPreference("hostname")); | |
38 | + new stringSetting(findPreference("port")); | |
39 | + | |
18 | 40 | } |
41 | + | |
42 | + | |
19 | 43 | } |
20 | 44 | |
21 | 45 | @Override | ... | ... |
android/src/br/com/bb/pw3270/lib3270.java
... | ... | @@ -66,10 +66,9 @@ public class lib3270 |
66 | 66 | { |
67 | 67 | switch (msg.what) |
68 | 68 | { |
69 | -/* | |
70 | - case 0: // Connected/Disconnected | |
69 | + case 0: // Reconnect | |
70 | + connect(); | |
71 | 71 | break; |
72 | -*/ | |
73 | 72 | |
74 | 73 | case 1: // OIA message has changed |
75 | 74 | showProgramMessage(msg.arg1); |
... | ... | @@ -81,8 +80,15 @@ public class lib3270 |
81 | 80 | break; |
82 | 81 | |
83 | 82 | case 3: // Popup |
84 | - popupMessageInfo popup = (popupMessageInfo) msg.obj; | |
85 | - showPopupMessage(msg.arg1, popup.title, popup.text, popup.info); | |
83 | + if(msg.arg1 == 1 && settings.getBoolean("reconnect",false)) | |
84 | + { | |
85 | + postMessage(0, 1, 0); | |
86 | + } | |
87 | + else | |
88 | + { | |
89 | + popupMessageInfo popup = (popupMessageInfo) msg.obj; | |
90 | + showPopupMessage(msg.arg1, popup.title, popup.text, popup.info); | |
91 | + } | |
86 | 92 | break; |
87 | 93 | |
88 | 94 | case 4: // erase |
... | ... | @@ -97,12 +103,6 @@ public class lib3270 |
97 | 103 | Log.d(TAG, "ctlr_done"); |
98 | 104 | break; |
99 | 105 | |
100 | -/* | |
101 | - case 6: // recv_data | |
102 | - procRecvdata(((byteMessage) msg.obj).getMessage(),((byteMessage) msg.obj).getLength()); | |
103 | - break; | |
104 | -*/ | |
105 | - | |
106 | 106 | case 7: // ready |
107 | 107 | hideProgressDialog(); |
108 | 108 | break; |
... | ... | @@ -203,7 +203,7 @@ public class lib3270 |
203 | 203 | |
204 | 204 | Log.i(TAG, "Erro ao enviar dados: " + msg); |
205 | 205 | |
206 | - postPopup(0, "Erro na comunicação", "Não foi possível enviar dados", msg); | |
206 | + postPopup(1, "Desconectado", "Erro de comunicação ao enviar dados", msg); | |
207 | 207 | |
208 | 208 | connected = false; |
209 | 209 | |
... | ... | @@ -257,7 +257,7 @@ public class lib3270 |
257 | 257 | |
258 | 258 | Log.i(TAG, "Erro ao conectar: " + msg); |
259 | 259 | |
260 | - postPopup(0, "Erro na conexão", msg, ""); | |
260 | + postPopup(0, "Erro na conexão", "Não foi possível conectar", msg); | |
261 | 261 | |
262 | 262 | postMessage(0, 0, 0); |
263 | 263 | |
... | ... | @@ -286,14 +286,13 @@ public class lib3270 |
286 | 286 | |
287 | 287 | try |
288 | 288 | { |
289 | - Log.v(TAG,"Aguardando dados..."); | |
290 | 289 | sz = inData.read(in, 0, 4096); |
291 | 290 | |
292 | 291 | } catch (Exception e) |
293 | 292 | { |
294 | 293 | String msg = e.getLocalizedMessage(); |
295 | 294 | Log.i(TAG, "Erro ao receber dados do host: " + msg); |
296 | - postPopup(0, "Erro na comunicação", "Erro ao receber dados", msg); | |
295 | + postPopup(1, "Desconectado", "Erro de comunicação ao receber dados", msg); | |
297 | 296 | connected = false; |
298 | 297 | sz = -1; |
299 | 298 | } | ... | ... |