summaryrefslogtreecommitdiff
path: root/core/src/main
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2016-07-23 10:41:01 +0200
committerGitHub <noreply@github.com>2016-07-23 10:41:01 +0200
commit2bb291cfcb92bd0bdb5e4c74fc5e003d8e4c4c6b (patch)
tree46f76ae3a987bef59ebbf7d456bd9968a9a7adeb /core/src/main
parente4bd99e05972300035ae2f3a2c29df0997ef48fa (diff)
parent6f2bfed3a6563e11fe576d413efb0c7737e985d7 (diff)
downloadAntennaPod-2bb291cfcb92bd0bdb5e4c74fc5e003d8e4c4c6b.zip
Merge pull request #2076 from domingos86/wifi-vs-metered
change check for wifi connection to metered connection
Diffstat (limited to 'core/src/main')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java12
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/NetworkUtils.java10
2 files changed, 12 insertions, 10 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
index 7df41a9d3..6bd9fc83c 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java
@@ -76,7 +76,7 @@ import de.danoeh.antennapod.core.util.InvalidFeedException;
import de.greenrobot.event.EventBus;
/**
- * Manages the download of feedfiles in the app. Downloads can be enqueued viathe startService intent.
+ * Manages the download of feedfiles in the app. Downloads can be enqueued via the startService intent.
* The argument of the intent is an instance of DownloadRequest in the EXTRA_REQUEST field of
* the intent.
* After the downloads have finished, the downloaded object will be passed on to a specific handler, depending on the
@@ -199,10 +199,10 @@ public class DownloadService extends Service {
if(type == FeedMedia.FEEDFILETYPE_FEEDMEDIA) {
long id = status.getFeedfileId();
FeedMedia media = DBReader.getFeedMedia(id);
- if(media == null || media.getItem() == null) {
+ FeedItem item;
+ if(media == null || (item = media.getItem()) == null) {
return;
}
- FeedItem item = media.getItem();
boolean httpNotFound = status.getReason() == DownloadError.ERROR_HTTP_DATA_ERROR
&& String.valueOf(HttpURLConnection.HTTP_NOT_FOUND).equals(status.getReasonDetailed());
boolean forbidden = status.getReason() == DownloadError.ERROR_FORBIDDEN
@@ -221,7 +221,11 @@ public class DownloadService extends Service {
// so that lists reload that it
if(status.getFeedfileType() == FeedMedia.FEEDFILETYPE_FEEDMEDIA) {
FeedMedia media = DBReader.getFeedMedia(status.getFeedfileId());
- EventBus.getDefault().post(FeedItemEvent.updated(media.getItem()));
+ FeedItem item;
+ if(media == null || (item = media.getItem()) == null) {
+ return;
+ }
+ EventBus.getDefault().post(FeedItemEvent.updated(item));
}
}
queryDownloadsAsync();
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/NetworkUtils.java b/core/src/main/java/de/danoeh/antennapod/core/util/NetworkUtils.java
index 55b608dce..43158c471 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/NetworkUtils.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/NetworkUtils.java
@@ -5,6 +5,7 @@ import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
+import android.support.v4.net.ConnectivityManagerCompat;
import android.text.TextUtils;
import android.util.Log;
@@ -80,16 +81,13 @@ public class NetworkUtils {
}
public static boolean isDownloadAllowed() {
- return UserPreferences.isAllowMobileUpdate() || NetworkUtils.connectedToWifi();
+ return UserPreferences.isAllowMobileUpdate() || !NetworkUtils.isNetworkMetered();
}
- public static boolean connectedToWifi() {
+ public static boolean isNetworkMetered() {
ConnectivityManager connManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo mWifi = connManager
- .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
-
- return mWifi.isConnected();
+ return ConnectivityManagerCompat.isActiveNetworkMetered(connManager);
}
/**