aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2014-11-07 17:26:14 +0100
committerSamuel Tardieu <sam@rfc1149.net>2014-11-07 17:29:42 +0100
commit1c5b66f3b05f9d1e02a878951c0e8763997a12de (patch)
tree66309e8132ca90e080c1420ff669aac720da3698
parent39610f3954517fcf5f6f3442b8779aaede20d4a1 (diff)
downloadcgeo-1c5b66f3b05f9d1e02a878951c0e8763997a12de.zip
cgeo-1c5b66f3b05f9d1e02a878951c0e8763997a12de.tar.gz
cgeo-1c5b66f3b05f9d1e02a878951c0e8763997a12de.tar.bz2
Do not require a context to check if currently active network is connected
-rw-r--r--main/src/cgeo/geocaching/CacheDetailActivity.java2
-rw-r--r--main/src/cgeo/geocaching/CacheListActivity.java2
-rw-r--r--main/src/cgeo/geocaching/CachePopupFragment.java2
-rw-r--r--main/src/cgeo/geocaching/network/Network.java17
4 files changed, 12 insertions, 11 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java
index 16f5cef..a5b9131 100644
--- a/main/src/cgeo/geocaching/CacheDetailActivity.java
+++ b/main/src/cgeo/geocaching/CacheDetailActivity.java
@@ -908,7 +908,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc
return;
}
- if (!Network.isNetworkConnected(getApplicationContext())) {
+ if (!Network.isNetworkConnected()) {
showToast(getString(R.string.err_server));
return;
}
diff --git a/main/src/cgeo/geocaching/CacheListActivity.java b/main/src/cgeo/geocaching/CacheListActivity.java
index c501f89..1b8f8aa 100644
--- a/main/src/cgeo/geocaching/CacheListActivity.java
+++ b/main/src/cgeo/geocaching/CacheListActivity.java
@@ -1076,7 +1076,7 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA
return;
}
- if (!Network.isNetworkConnected(getApplicationContext())) {
+ if (!Network.isNetworkConnected()) {
showToast(getString(R.string.err_server));
return;
}
diff --git a/main/src/cgeo/geocaching/CachePopupFragment.java b/main/src/cgeo/geocaching/CachePopupFragment.java
index 068663f..d1a69a7 100644
--- a/main/src/cgeo/geocaching/CachePopupFragment.java
+++ b/main/src/cgeo/geocaching/CachePopupFragment.java
@@ -160,7 +160,7 @@ public class CachePopupFragment extends AbstractDialogFragment {
return;
}
- if (!Network.isNetworkConnected(getActivity())) {
+ if (!Network.isNetworkConnected()) {
showToast(getString(R.string.err_server));
return;
}
diff --git a/main/src/cgeo/geocaching/network/Network.java b/main/src/cgeo/geocaching/network/Network.java
index e8c2b28..c86df78 100644
--- a/main/src/cgeo/geocaching/network/Network.java
+++ b/main/src/cgeo/geocaching/network/Network.java
@@ -1,5 +1,6 @@
package cgeo.geocaching.network;
+import cgeo.geocaching.CgeoApplication;
import cgeo.geocaching.files.LocalStorage;
import cgeo.geocaching.settings.Settings;
import cgeo.geocaching.utils.JsonUtils;
@@ -460,16 +461,16 @@ public abstract class Network {
/**
* Checks if the device has network connection.
*
- * @param context
- * context of the application, cannot be null
- *
* @return <code>true</code> if the device is connected to the network.
*/
- public static boolean isNetworkConnected(Context context) {
- ConnectivityManager conMan = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo activeNetwork = conMan.getActiveNetworkInfo();
-
- return activeNetwork != null && activeNetwork.isConnected();
+ private static ConnectivityManager connectivityManager = null;
+ public static boolean isNetworkConnected() {
+ if (connectivityManager == null) {
+ // Concurrent assignment would not hurt
+ connectivityManager = (ConnectivityManager) CgeoApplication.getInstance().getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
+ }
+ final NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
+ return activeNetworkInfo != null && activeNetworkInfo.isConnected();
}
}