diff options
author | Samuel Tardieu <sam@rfc1149.net> | 2014-11-07 17:26:14 +0100 |
---|---|---|
committer | Samuel Tardieu <sam@rfc1149.net> | 2014-11-07 17:29:42 +0100 |
commit | 1c5b66f3b05f9d1e02a878951c0e8763997a12de (patch) | |
tree | 66309e8132ca90e080c1420ff669aac720da3698 | |
parent | 39610f3954517fcf5f6f3442b8779aaede20d4a1 (diff) | |
download | cgeo-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.java | 2 | ||||
-rw-r--r-- | main/src/cgeo/geocaching/CacheListActivity.java | 2 | ||||
-rw-r--r-- | main/src/cgeo/geocaching/CachePopupFragment.java | 2 | ||||
-rw-r--r-- | main/src/cgeo/geocaching/network/Network.java | 17 |
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(); } } |