Commit d9c9f52e7eb913e526cf93c7131ef23f9689948b
1 parent
24e5bd3f
Exists in
master
and in
5 other branches
Implementando chamadas para Android
Showing
4 changed files
with
41 additions
and
41 deletions
Show diff stats
android/Makefile
@@ -44,6 +44,8 @@ clean: | @@ -44,6 +44,8 @@ clean: | ||
44 | @rm -f bin/classes/$(CLASSPATH)/lib3270.class | 44 | @rm -f bin/classes/$(CLASSPATH)/lib3270.class |
45 | @rm -f $(foreach DIR, $(RESOLUTION), res/drawable-$(DIR)/ic_launcher.png) | 45 | @rm -f $(foreach DIR, $(RESOLUTION), res/drawable-$(DIR)/ic_launcher.png) |
46 | 46 | ||
47 | +cleanDebug: clean | ||
48 | + | ||
47 | res/drawable-xhdpi/ic_launcher.png: ../src/pw3270/pixmaps/pw3270.svg | 49 | res/drawable-xhdpi/ic_launcher.png: ../src/pw3270/pixmaps/pw3270.svg |
48 | @echo " ICON xhdpi" | 50 | @echo " ICON xhdpi" |
49 | @$(MKDIR) `dirname $@` | 51 | @$(MKDIR) `dirname $@` |
android/jni/main.cpp
@@ -166,14 +166,14 @@ JNIEXPORT jstring JNICALL Java_br_com_bb_pw3270_lib3270_getHost(JNIEnv *env, job | @@ -166,14 +166,14 @@ JNIEXPORT jstring JNICALL Java_br_com_bb_pw3270_lib3270_getHost(JNIEnv *env, job | ||
166 | return env->NewStringUTF(lib3270_get_host(lib3270_get_default_session_handle())); | 166 | return env->NewStringUTF(lib3270_get_host(lib3270_get_default_session_handle())); |
167 | } | 167 | } |
168 | 168 | ||
169 | -JNIEXPORT jint JNICALL Java_br_com_bb_pw3270_lib3270_do_1connect(JNIEnv *env, jobject obj) | 169 | +JNIEXPORT void JNICALL Java_br_com_bb_pw3270_lib3270_set_1connection_1status(JNIEnv *env, jobject obj, jboolean connected) |
170 | { | 170 | { |
171 | - int rc; | ||
172 | session_request(env,obj); | 171 | session_request(env,obj); |
173 | - rc = lib3270_connect(session,0,1); | ||
174 | - trace("lib3270_connect exits with rc=%d",rc); | 172 | + if(connected) |
173 | + lib3270_set_connected(session); | ||
174 | + else | ||
175 | + lib3270_set_disconnected(session); | ||
175 | session_release(); | 176 | session_release(); |
176 | - return (jint) rc; | ||
177 | } | 177 | } |
178 | 178 | ||
179 | JNIEXPORT void JNICALL Java_br_com_bb_pw3270_lib3270_procRecvdata(JNIEnv *env, jobject obj, jbyteArray buffer, jint sz) | 179 | JNIEXPORT void JNICALL Java_br_com_bb_pw3270_lib3270_procRecvdata(JNIEnv *env, jobject obj, jbyteArray buffer, jint sz) |
android/src/br/com/bb/pw3270/PW3270Activity.java
@@ -51,8 +51,6 @@ public class PW3270Activity extends Activity implements View.OnClickListener | @@ -51,8 +51,6 @@ public class PW3270Activity extends Activity implements View.OnClickListener | ||
51 | try | 51 | try |
52 | { | 52 | { |
53 | String text = new String(getText(),getEncoding()); | 53 | String text = new String(getText(),getEncoding()); |
54 | - | ||
55 | - msgbox | ||
56 | Log.i(TAG,text); | 54 | Log.i(TAG,text); |
57 | } catch(Exception e) { } | 55 | } catch(Exception e) { } |
58 | } | 56 | } |
android/src/br/com/bb/pw3270/lib3270.java
@@ -159,36 +159,36 @@ public class lib3270 | @@ -159,36 +159,36 @@ public class lib3270 | ||
159 | { | 159 | { |
160 | 160 | ||
161 | info(TAG,"Network thread started"); | 161 | info(TAG,"Network thread started"); |
162 | - postMessage(0,1,0); | ||
163 | connected = connect(); | 162 | connected = connect(); |
164 | 163 | ||
165 | - while(connected) | ||
166 | - { | ||
167 | - byte[] in = new byte[4096]; | ||
168 | - int sz = -1; | ||
169 | - | ||
170 | - try | ||
171 | - { | ||
172 | - sz = inData.read(in,0,4096); | ||
173 | - } catch( Exception e ) { sz = -1; } | ||
174 | - | ||
175 | - if(sz < 0) | ||
176 | - { | ||
177 | - connected = false; | ||
178 | - } | ||
179 | - else if(sz > 0) | ||
180 | - { | ||
181 | - Message msg = mHandler.obtainMessage(); | ||
182 | - msg.what = 6; | ||
183 | - msg.obj = new byteMessage(in,sz); | ||
184 | - | ||
185 | - mHandler.sendMessage(msg); | ||
186 | - | ||
187 | -// Log.d(TAG,sz + " bytes recebidos"); | ||
188 | -// procRecvdata(in,sz); | 164 | + if(connected) |
165 | + { | ||
166 | + postMessage(0,0,0); | ||
189 | 167 | ||
190 | - } | ||
191 | - } | 168 | + while(connected) |
169 | + { | ||
170 | + byte[] in = new byte[4096]; | ||
171 | + int sz = -1; | ||
172 | + | ||
173 | + try | ||
174 | + { | ||
175 | + sz = inData.read(in,0,4096); | ||
176 | + } catch( Exception e ) { sz = -1; } | ||
177 | + | ||
178 | + if(sz < 0) | ||
179 | + { | ||
180 | + connected = false; | ||
181 | + } | ||
182 | + else if(sz > 0) | ||
183 | + { | ||
184 | + Message msg = mHandler.obtainMessage(); | ||
185 | + msg.what = 6; | ||
186 | + msg.obj = new byteMessage(in,sz); | ||
187 | + | ||
188 | + mHandler.sendMessage(msg); | ||
189 | + } | ||
190 | + } | ||
191 | + } | ||
192 | 192 | ||
193 | try | 193 | try |
194 | { | 194 | { |
@@ -198,8 +198,10 @@ public class lib3270 | @@ -198,8 +198,10 @@ public class lib3270 | ||
198 | sock = null; | 198 | sock = null; |
199 | outData = null; | 199 | outData = null; |
200 | inData = null; | 200 | inData = null; |
201 | + | ||
201 | postMessage(0,0,0); | 202 | postMessage(0,0,0); |
202 | 203 | ||
204 | + mainloop = null; | ||
203 | info(TAG,"Network thread stopped"); | 205 | info(TAG,"Network thread stopped"); |
204 | } | 206 | } |
205 | 207 | ||
@@ -241,11 +243,9 @@ public class lib3270 | @@ -241,11 +243,9 @@ public class lib3270 | ||
241 | { | 243 | { |
242 | switch(msg.what) | 244 | switch(msg.what) |
243 | { | 245 | { |
244 | - case 0: // Start/Stop service thread | ||
245 | - if(msg.arg1 == 0) | ||
246 | - { | ||
247 | - mainloop = null; | ||
248 | - } | 246 | + case 0: // Connected/Disconnected |
247 | + set_connection_status(connected); | ||
248 | + Log.d(TAG,connected ? "Connected" : "Disconnected"); | ||
249 | break; | 249 | break; |
250 | 250 | ||
251 | case 1: // OIA message has changed | 251 | case 1: // OIA message has changed |
@@ -278,7 +278,6 @@ public class lib3270 | @@ -278,7 +278,6 @@ public class lib3270 | ||
278 | break; | 278 | break; |
279 | 279 | ||
280 | case 6: // recv_data | 280 | case 6: // recv_data |
281 | - Log.d(TAG,((byteMessage) msg.obj).getLength() + " bytes recebidos"); | ||
282 | procRecvdata(((byteMessage) msg.obj).getMessage(),((byteMessage) msg.obj).getLength()); | 281 | procRecvdata(((byteMessage) msg.obj).getMessage(),((byteMessage) msg.obj).getLength()); |
283 | break; | 282 | break; |
284 | } | 283 | } |
@@ -339,7 +338,8 @@ public class lib3270 | @@ -339,7 +338,8 @@ public class lib3270 | ||
339 | static private native int init(); | 338 | static private native int init(); |
340 | 339 | ||
341 | private native int processEvents(); | 340 | private native int processEvents(); |
342 | - private native int do_connect(); | 341 | +// private native int do_connect(); |
342 | + private native void set_connection_status(boolean state); | ||
343 | 343 | ||
344 | // Misc calls | 344 | // Misc calls |
345 | public native String getEncoding(); | 345 | public native String getEncoding(); |