diff options
Diffstat (limited to 'main/src/cgeo')
-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(); } } |