summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/service/download/Downloader.java
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2014-02-12 00:20:02 +0100
committerdaniel oeh <daniel.oeh@gmail.com>2014-02-12 00:20:02 +0100
commit967e322913b5505029ecdcd084c058a5b286d274 (patch)
tree962cf30ddf506b7fc9ad5339f5bbf69a5bc9890d /src/de/danoeh/antennapod/service/download/Downloader.java
parent969170f0e802d7b93bac3cda167f672d582868fe (diff)
downloadAntennaPod-967e322913b5505029ecdcd084c058a5b286d274.zip
Acquire Wi-Fi lock before downloading. Should fix issue #110 and #243
- Adds the WAKE_LOCK permission
Diffstat (limited to 'src/de/danoeh/antennapod/service/download/Downloader.java')
-rw-r--r--src/de/danoeh/antennapod/service/download/Downloader.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/de/danoeh/antennapod/service/download/Downloader.java b/src/de/danoeh/antennapod/service/download/Downloader.java
index 84731fe9f..80cc5b3f8 100644
--- a/src/de/danoeh/antennapod/service/download/Downloader.java
+++ b/src/de/danoeh/antennapod/service/download/Downloader.java
@@ -1,5 +1,8 @@
package de.danoeh.antennapod.service.download;
+import android.content.Context;
+import android.net.wifi.WifiManager;
+import de.danoeh.antennapod.PodcastApp;
import de.danoeh.antennapod.R;
import java.util.concurrent.Callable;
@@ -26,7 +29,19 @@ public abstract class Downloader implements Callable<Downloader> {
protected abstract void download();
public final Downloader call() {
+ WifiManager wifiManager = (WifiManager) PodcastApp.getInstance().getSystemService(Context.WIFI_SERVICE);
+ WifiManager.WifiLock wifiLock = null;
+ if (wifiManager != null) {
+ wifiLock = wifiManager.createWifiLock(TAG);
+ wifiLock.acquire();
+ }
+
download();
+
+ if (wifiLock != null) {
+ wifiLock.release();
+ }
+
if (result == null) {
throw new IllegalStateException(
"Downloader hasn't created DownloadStatus object");