diff --git a/android/Makefile b/android/Makefile index 0940012..de4350e 100644 --- a/android/Makefile +++ b/android/Makefile @@ -89,6 +89,7 @@ libs/armeabi/lib3270.so: jni/lib3270jni.h jni/*.cpp icons: $(foreach DIR, $(RESOLUTION), res/drawable-$(DIR)/ic_launcher.png) clean: + @JAVA_HOME=$(JDK_HOME) $(ANT) clean @rm -fr bin @rm -fr obj @rm -f jni/lib3270jni.h diff --git a/android/src/br/com/bb/pw3270/PW3270Activity.java b/android/src/br/com/bb/pw3270/PW3270Activity.java index a8e34a9..8172b7b 100644 --- a/android/src/br/com/bb/pw3270/PW3270Activity.java +++ b/android/src/br/com/bb/pw3270/PW3270Activity.java @@ -36,7 +36,9 @@ import android.os.Bundle; import android.util.Log; import android.content.Intent; import android.content.res.*; +import android.webkit.WebResourceResponse; import android.webkit.WebView; +import android.webkit.WebViewClient; import android.app.ProgressDialog; import android.view.Menu; import android.view.MenuInflater; @@ -69,9 +71,27 @@ public class PW3270Activity extends Activity protected void initUI() { if(host == null) - host = new lib3270(this); + { + host = new lib3270(this) + { + public String getProgramMessageText(int id) + { + String message[] = res.getStringArray(R.array.program_msg); + try + { + return message[id]; + } catch(Exception e) + { + return e.getLocalizedMessage(); + } + + } + }; + } else + { host.setActivity(this); + } Log.d(TAG, "Initializing UI"); @@ -81,9 +101,39 @@ public class PW3270Activity extends Activity // Reference: // http://developer.android.com/reference/android/webkit/WebView.html - Log.d(TAG, "Creating Webview"); - setContentView(host.setView(new WebView(this))); - + host.setView(new WebView(this)).setWebViewClient(new WebViewClient() + { + + @Override + public WebResourceResponse shouldInterceptRequest(WebView view, String url) + { + int id = R.raw.index; + String mime = "text/html"; + int pos = url.lastIndexOf("/"); + + if(pos >=0 ) + url = url.substring(pos+1); + + Log.i(TAG,"Loading [" + url + "]"); + + if(url.equalsIgnoreCase("jsmain.js")) + { + id = R.raw.jsmain; + } + else if(url.equalsIgnoreCase("theme.css")) + { + mime = "text/css"; + id = R.raw.theme; + } + + // http://developer.android.com/reference/android/webkit/WebResourceResponse.html + return new WebResourceResponse(mime,"utf-8",host.mainact.getResources().openRawResource(id)); + } + + }); + + setContentView(host.view); + host.view.loadUrl("file:index.html"); host.initialize(); } diff --git a/android/src/br/com/bb/pw3270/lib3270.java b/android/src/br/com/bb/pw3270/lib3270.java index 22095f5..dc8dcaf 100644 --- a/android/src/br/com/bb/pw3270/lib3270.java +++ b/android/src/br/com/bb/pw3270/lib3270.java @@ -41,9 +41,9 @@ import android.os.CountDownTimer; import android.preference.PreferenceManager; import android.util.Log; import android.webkit.WebChromeClient; -import android.webkit.WebResourceResponse; +// import android.webkit.WebResourceResponse; import android.webkit.WebView; -import android.webkit.WebViewClient; +// import android.webkit.WebViewClient; import javax.net.SocketFactory; import java.net.Socket; import javax.net.ssl.SSLSocketFactory; @@ -52,7 +52,7 @@ import java.io.DataOutputStream; // import java.util.Vector; -public class lib3270 +public abstract class lib3270 { private static final String TAG = "lib3270"; @@ -389,41 +389,17 @@ public class lib3270 view.getSettings().setLoadWithOverviewMode(true); view.getSettings().setJavaScriptEnabled(true); - view.setWebViewClient(new WebViewClient() - { - - @Override - public WebResourceResponse shouldInterceptRequest(WebView view, String url) - { - int id = R.raw.index; - String mime = "text/html"; - int pos = url.lastIndexOf("/"); - - if(pos >=0 ) - url = url.substring(pos+1); - - Log.i(TAG,"Loading [" + url + "]"); - - if(url.equalsIgnoreCase("jsmain.js")) - { - id = R.raw.jsmain; - } - else if(url.equalsIgnoreCase("theme.css")) - { - mime = "text/css"; - id = R.raw.theme; - } - - // http://developer.android.com/reference/android/webkit/WebResourceResponse.html - return new WebResourceResponse(mime,"utf-8",mainact.getResources().openRawResource(id)); - } - - }); - return view; } + public abstract String getProgramMessageText(int id); + /* + { + return "Message " + Integer.toString(id); + } + */ + /*---[ Signal methods ]--------------------------------------------------*/ protected void showProgramMessage(int id) @@ -464,14 +440,7 @@ public class lib3270 // 14 LIB3270_MESSAGE_CONNECTING default: - String message[] = res.getStringArray(R.array.program_msg); - try - { - dlgSysMessage.setMessage(message[id]); - } catch(Exception e) - { - dlgSysMessage.setMessage(e.getLocalizedMessage()); - } + dlgSysMessage.setMessage(getProgramMessageText(id)); dlgSysMessage.show(); } } -- libgit2 0.21.2