diff --git a/android/Makefile b/android/Makefile index a6d0abf..3ef285d 100644 --- a/android/Makefile +++ b/android/Makefile @@ -44,6 +44,8 @@ clean: @rm -f bin/classes/$(CLASSPATH)/lib3270.class @rm -f $(foreach DIR, $(RESOLUTION), res/drawable-$(DIR)/ic_launcher.png) +cleanDebug: clean + res/drawable-xhdpi/ic_launcher.png: ../src/pw3270/pixmaps/pw3270.svg @echo " ICON xhdpi" @$(MKDIR) `dirname $@` diff --git a/android/jni/main.cpp b/android/jni/main.cpp index df26c5b..840ee49 100644 --- a/android/jni/main.cpp +++ b/android/jni/main.cpp @@ -166,14 +166,14 @@ JNIEXPORT jstring JNICALL Java_br_com_bb_pw3270_lib3270_getHost(JNIEnv *env, job return env->NewStringUTF(lib3270_get_host(lib3270_get_default_session_handle())); } -JNIEXPORT jint JNICALL Java_br_com_bb_pw3270_lib3270_do_1connect(JNIEnv *env, jobject obj) +JNIEXPORT void JNICALL Java_br_com_bb_pw3270_lib3270_set_1connection_1status(JNIEnv *env, jobject obj, jboolean connected) { - int rc; session_request(env,obj); - rc = lib3270_connect(session,0,1); - trace("lib3270_connect exits with rc=%d",rc); + if(connected) + lib3270_set_connected(session); + else + lib3270_set_disconnected(session); session_release(); - return (jint) rc; } JNIEXPORT void JNICALL Java_br_com_bb_pw3270_lib3270_procRecvdata(JNIEnv *env, jobject obj, jbyteArray buffer, jint sz) diff --git a/android/src/br/com/bb/pw3270/PW3270Activity.java b/android/src/br/com/bb/pw3270/PW3270Activity.java index fae4812..fbe7783 100644 --- a/android/src/br/com/bb/pw3270/PW3270Activity.java +++ b/android/src/br/com/bb/pw3270/PW3270Activity.java @@ -51,8 +51,6 @@ public class PW3270Activity extends Activity implements View.OnClickListener try { String text = new String(getText(),getEncoding()); - - msgbox Log.i(TAG,text); } catch(Exception e) { } } diff --git a/android/src/br/com/bb/pw3270/lib3270.java b/android/src/br/com/bb/pw3270/lib3270.java index 8dc11e6..8646332 100644 --- a/android/src/br/com/bb/pw3270/lib3270.java +++ b/android/src/br/com/bb/pw3270/lib3270.java @@ -159,36 +159,36 @@ public class lib3270 { info(TAG,"Network thread started"); - postMessage(0,1,0); connected = connect(); - while(connected) - { - byte[] in = new byte[4096]; - int sz = -1; - - try - { - sz = inData.read(in,0,4096); - } catch( Exception e ) { sz = -1; } - - if(sz < 0) - { - connected = false; - } - else if(sz > 0) - { - Message msg = mHandler.obtainMessage(); - msg.what = 6; - msg.obj = new byteMessage(in,sz); - - mHandler.sendMessage(msg); - -// Log.d(TAG,sz + " bytes recebidos"); -// procRecvdata(in,sz); + if(connected) + { + postMessage(0,0,0); - } - } + while(connected) + { + byte[] in = new byte[4096]; + int sz = -1; + + try + { + sz = inData.read(in,0,4096); + } catch( Exception e ) { sz = -1; } + + if(sz < 0) + { + connected = false; + } + else if(sz > 0) + { + Message msg = mHandler.obtainMessage(); + msg.what = 6; + msg.obj = new byteMessage(in,sz); + + mHandler.sendMessage(msg); + } + } + } try { @@ -198,8 +198,10 @@ public class lib3270 sock = null; outData = null; inData = null; + postMessage(0,0,0); + mainloop = null; info(TAG,"Network thread stopped"); } @@ -241,11 +243,9 @@ public class lib3270 { switch(msg.what) { - case 0: // Start/Stop service thread - if(msg.arg1 == 0) - { - mainloop = null; - } + case 0: // Connected/Disconnected + set_connection_status(connected); + Log.d(TAG,connected ? "Connected" : "Disconnected"); break; case 1: // OIA message has changed @@ -278,7 +278,6 @@ public class lib3270 break; case 6: // recv_data - Log.d(TAG,((byteMessage) msg.obj).getLength() + " bytes recebidos"); procRecvdata(((byteMessage) msg.obj).getMessage(),((byteMessage) msg.obj).getLength()); break; } @@ -339,7 +338,8 @@ public class lib3270 static private native int init(); private native int processEvents(); - private native int do_connect(); +// private native int do_connect(); + private native void set_connection_status(boolean state); // Misc calls public native String getEncoding(); -- libgit2 0.21.2