summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/receiver/FeedUpdateReceiver.java
blob: a7482fbf4ee6112ac10f9f8c86120be953c157ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package de.danoeh.antennapod.receiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.preferences.UserPreferences;
import de.danoeh.antennapod.storage.DBTasks;

/** Refreshes all feeds when it receives an intent */
public class FeedUpdateReceiver extends BroadcastReceiver {
	private static final String TAG = "FeedUpdateReceiver";
	public static final String ACTION_REFRESH_FEEDS = "de.danoeh.antennapod.feedupdatereceiver.refreshFeeds";

	@Override
	public void onReceive(Context context, Intent intent) {
		if (intent.getAction().equals(ACTION_REFRESH_FEEDS)) {
			if (BuildConfig.DEBUG)
				Log.d(TAG, "Received intent");
			boolean mobileUpdate = UserPreferences.isAllowMobileUpdate();
			if (mobileUpdate || connectedToWifi(context)) {
				DBTasks.refreshExpiredFeeds(context);
			} else {
				if (BuildConfig.DEBUG)
					Log.d(TAG,
							"Blocking automatic update: no wifi available / no mobile updates allowed");
			}
		}
	}

	private boolean connectedToWifi(Context context) {
		ConnectivityManager connManager = (ConnectivityManager) context
				.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo mWifi = connManager
				.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

		return mWifi.isConnected();
	}

}