mirror of
https://github.com/AntennaPod/AntennaPod.git
synced 2024-12-25 16:23:54 +01:00
now looking for changes to charging state to change what we do for auto-download
This commit is contained in:
parent
1b9c96bc76
commit
abc1c8a8dc
@ -9,6 +9,7 @@ wseemann
|
||||
hzulla
|
||||
andrewgaul
|
||||
peschmae0
|
||||
TomHennen
|
||||
|
||||
Translations:
|
||||
|
||||
|
@ -304,6 +304,13 @@
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver android:name=".receiver.PowerConnectionReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
|
||||
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver android:name=".receiver.SPAReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="de.danoeh.antennapdsp.intent.SP_APPS_QUERY_FEEDS_RESPONSE"/>
|
||||
|
@ -0,0 +1,45 @@
|
||||
package de.danoeh.antennapod.receiver;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.BatteryManager;
|
||||
import android.util.Log;
|
||||
|
||||
import de.danoeh.antennapod.core.BuildConfig;
|
||||
import de.danoeh.antennapod.core.preferences.UserPreferences;
|
||||
import de.danoeh.antennapod.core.storage.DBTasks;
|
||||
import de.danoeh.antennapod.core.storage.DownloadRequester;
|
||||
|
||||
// modified from http://developer.android.com/training/monitoring-device-state/battery-monitoring.html
|
||||
// and ConnectivityActionReceiver.java
|
||||
public class PowerConnectionReceiver extends BroadcastReceiver {
|
||||
private static final String TAG = "PowerConnectionReceiver";
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
int status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, -1);
|
||||
boolean isCharging = status == BatteryManager.BATTERY_STATUS_CHARGING ||
|
||||
status == BatteryManager.BATTERY_STATUS_FULL;
|
||||
|
||||
if (isCharging) {
|
||||
Log.d(TAG, "charging, starting auto-download");
|
||||
// we're plugged in, this is a great time to auto-download if everything else is
|
||||
// right. So, even if the user allows auto-dl on battery, let's still start
|
||||
// downloading now. They shouldn't mind.
|
||||
// autodownloadUndownloadedItems will make sure we're on the right wifi networks,
|
||||
// etc... so we don't have to worry about it.
|
||||
DBTasks.autodownloadUndownloadedItems(context);
|
||||
} else {
|
||||
// if we're not supposed to be auto-downloading when we're not charging, stop it
|
||||
if (!UserPreferences.isEnableAutodownloadOnBattery()) {
|
||||
Log.d(TAG, "not charging anymore, canceling auto-download");
|
||||
DownloadRequester.getInstance().cancelAllDownloads(context);
|
||||
} else {
|
||||
Log.d(TAG, "not charging anymore, but the user allows auto-download " +
|
||||
"when on battery so we'll keep going");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user