From 259d441b6107fc8c2b5be343a30b6f40988a2c4a Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Tue, 3 Nov 2009 11:09:45 -0800 Subject: [PATCH 1/3] Fixing the layout so that instead of wrapping, it is set to fit the contents --- res/layout/main.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/layout/main.xml b/res/layout/main.xml index 4a019a49..a4401001 100644 --- a/res/layout/main.xml +++ b/res/layout/main.xml @@ -5,7 +5,7 @@ android:layout_height="fill_parent" > From 8d80ebac11e2cd6e8da53bac0ecc904422cf7e5e Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Tue, 3 Nov 2009 11:54:30 -0800 Subject: [PATCH 2/3] Network Reachability --- src/com/phonegap/demo/DroidGap.java | 3 ++ src/com/phonegap/demo/NetworkManager.java | 41 +++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 src/com/phonegap/demo/NetworkManager.java diff --git a/src/com/phonegap/demo/DroidGap.java b/src/com/phonegap/demo/DroidGap.java index d4984d34..501b9eb1 100644 --- a/src/com/phonegap/demo/DroidGap.java +++ b/src/com/phonegap/demo/DroidGap.java @@ -47,6 +47,7 @@ public class DroidGap extends Activity { private AccelListener accel; private CameraLauncher launcher; private FileUtils fs; + private NetworkManager netMan; /** Called when the activity is first created. */ @Override @@ -100,6 +101,7 @@ public class DroidGap extends Activity { accel = new AccelListener(this, appView); launcher = new CameraLauncher(appView, this); fs = new FileUtils(appView); + netMan = new NetworkManager(this, appView); // This creates the new javascript interfaces for PhoneGap appView.addJavascriptInterface(gap, "DroidGap"); @@ -107,6 +109,7 @@ public class DroidGap extends Activity { appView.addJavascriptInterface(accel, "Accel"); appView.addJavascriptInterface(launcher, "GapCam"); appView.addJavascriptInterface(fs, "FileUtil"); + appView.addJavascriptInterface(netMan, "NetworkManager"); } /** diff --git a/src/com/phonegap/demo/NetworkManager.java b/src/com/phonegap/demo/NetworkManager.java new file mode 100644 index 00000000..4bcebeb6 --- /dev/null +++ b/src/com/phonegap/demo/NetworkManager.java @@ -0,0 +1,41 @@ +package com.phonegap.demo; + +import org.apache.http.client.methods.HttpGet; +import org.apache.http.impl.client.DefaultHttpClient; + +import android.content.Context; +import android.net.*; +import android.webkit.WebView; + +public class NetworkManager { + + Context mCtx; + WebView mView; + ConnectivityManager sockMan; + + NetworkManager(Context ctx, WebView view) + { + mCtx = ctx; + mView = view; + sockMan = (ConnectivityManager) mCtx.getSystemService(Context.CONNECTIVITY_SERVICE); + } + + public boolean isAvailable() + { + NetworkInfo info = sockMan.getActiveNetworkInfo(); + return info.isConnected(); + } + + public boolean isReachable(String uri) + { + boolean reached = true; + try { + DefaultHttpClient httpclient = new DefaultHttpClient(); + HttpGet httpget = new HttpGet(uri); + httpclient.execute(httpget); + } catch (Exception e) { reached = false;} + return reached; + } + + +} From 4da897412832b39612db2d1a46aef12726a094cb Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Tue, 3 Nov 2009 11:55:58 -0800 Subject: [PATCH 3/3] Make reachable depend on availability --- src/com/phonegap/demo/NetworkManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/phonegap/demo/NetworkManager.java b/src/com/phonegap/demo/NetworkManager.java index 4bcebeb6..b1f1f3c1 100644 --- a/src/com/phonegap/demo/NetworkManager.java +++ b/src/com/phonegap/demo/NetworkManager.java @@ -28,7 +28,7 @@ public class NetworkManager { public boolean isReachable(String uri) { - boolean reached = true; + boolean reached = isAvailable(); try { DefaultHttpClient httpclient = new DefaultHttpClient(); HttpGet httpget = new HttpGet(uri);