summaryrefslogtreecommitdiff
path: root/app/src/main/java/de
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2016-03-16 20:56:51 +0100
committerMartin Fietz <Martin.Fietz@gmail.com>2016-03-16 20:56:51 +0100
commit0d114d172b4c1568af4364d9c3dbded0bddcee7d (patch)
treeeb5949cd8db3839a9aae66d0422b4b98e59cb55b /app/src/main/java/de
parentdd61b065b4b2720ad625401c0d86f3c278f738b0 (diff)
parent16dd26a7e4617d9f8acbd4396014667be46f979f (diff)
downloadAntennaPod-0d114d172b4c1568af4364d9c3dbded0bddcee7d.zip
Merge pull request #1696 from mfietz/issue/1695-npe-context-null
Ensure initialization
Diffstat (limited to 'app/src/main/java/de')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/PodcastApp.java12
-rw-r--r--app/src/main/java/de/danoeh/antennapod/UpdateManager.java97
-rw-r--r--app/src/main/java/de/danoeh/antennapod/receiver/ConnectivityActionReceiver.java4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/receiver/PowerConnectionReceiver.java4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/receiver/SPAReceiver.java47
5 files changed, 32 insertions, 132 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/PodcastApp.java b/app/src/main/java/de/danoeh/antennapod/PodcastApp.java
index 829a49a15..f6a8db5fb 100644
--- a/app/src/main/java/de/danoeh/antennapod/PodcastApp.java
+++ b/app/src/main/java/de/danoeh/antennapod/PodcastApp.java
@@ -8,11 +8,8 @@ import com.joanzapata.iconify.Iconify;
import com.joanzapata.iconify.fonts.FontAwesomeModule;
import com.joanzapata.iconify.fonts.MaterialModule;
+import de.danoeh.antennapod.core.ClientConfig;
import de.danoeh.antennapod.core.feed.EventDistributor;
-import de.danoeh.antennapod.core.preferences.PlaybackPreferences;
-import de.danoeh.antennapod.core.preferences.UserPreferences;
-import de.danoeh.antennapod.core.storage.PodDBAdapter;
-import de.danoeh.antennapod.core.util.NetworkUtils;
import de.danoeh.antennapod.spa.SPAUtil;
/** Main application class. */
@@ -56,11 +53,8 @@ public class PodcastApp extends Application {
singleton = this;
- PodDBAdapter.init(this);
- UserPreferences.init(this);
- UpdateManager.init(this);
- PlaybackPreferences.init(this);
- NetworkUtils.init(this);
+ ClientConfig.initialize(this);
+
EventDistributor.getInstance();
Iconify.with(new FontAwesomeModule());
Iconify.with(new MaterialModule());
diff --git a/app/src/main/java/de/danoeh/antennapod/UpdateManager.java b/app/src/main/java/de/danoeh/antennapod/UpdateManager.java
deleted file mode 100644
index 0b3c43381..000000000
--- a/app/src/main/java/de/danoeh/antennapod/UpdateManager.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package de.danoeh.antennapod;
-
-
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
-import android.os.Build;
-import android.util.Log;
-
-import org.antennapod.audio.MediaPlayer;
-
-import java.io.File;
-import java.util.List;
-
-import de.danoeh.antennapod.core.feed.Feed;
-import de.danoeh.antennapod.core.feed.FeedImage;
-import de.danoeh.antennapod.core.feed.FeedItem;
-import de.danoeh.antennapod.core.preferences.UserPreferences;
-import de.danoeh.antennapod.core.storage.DBReader;
-import de.danoeh.antennapod.core.storage.DBWriter;
-
-/*
- * This class's job is do perform maintenance tasks whenever the app has been updated
- */
-public class UpdateManager {
-
- public static final String TAG = UpdateManager.class.getSimpleName();
-
- private static final String PREF_NAME = "app_version";
- private static final String KEY_VERSION_CODE = "version_code";
-
- private static int currentVersionCode;
-
- private static Context context;
- private static SharedPreferences prefs;
-
- public static void init(Context context) {
- UpdateManager.context = context;
- prefs = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
- PackageManager pm = context.getPackageManager();
- try {
- PackageInfo info = pm.getPackageInfo(context.getPackageName(), 0);
- currentVersionCode = info.versionCode;
- } catch (PackageManager.NameNotFoundException e) {
- Log.e(TAG, "Failed to obtain package info for package name: " + context.getPackageName(), e);
- currentVersionCode = 0;
- return;
- }
- final int oldVersionCode = getStoredVersionCode();
- Log.d(TAG, "old: " + oldVersionCode + ", current: " + currentVersionCode);
- if(oldVersionCode < currentVersionCode) {
- onUpgrade(oldVersionCode, currentVersionCode);
- setCurrentVersionCode();
- }
- }
-
- public static int getStoredVersionCode() {
- return prefs.getInt(KEY_VERSION_CODE, -1);
- }
-
- public static void setCurrentVersionCode() {
- prefs.edit().putInt(KEY_VERSION_CODE, currentVersionCode).apply();
- }
-
- private static void onUpgrade(final int oldVersionCode, final int newVersionCode) {
- if(oldVersionCode < 1030099) {
- // delete the now obsolete image cache
- // from now on, Glide will handle caching images
- new Thread() {
- public void run() {
- List<Feed> feeds = DBReader.getFeedList();
- for (Feed podcast : feeds) {
- List<FeedItem> episodes = DBReader.getFeedItemList(podcast);
- for (FeedItem episode : episodes) {
- FeedImage image = episode.getImage();
- if (image != null && image.isDownloaded() && image.getFile_url() != null) {
- File imageFile = new File(image.getFile_url());
- if (imageFile.exists()) {
- imageFile.delete();
- }
- image.setFile_url(null); // calls setDownloaded(false)
- DBWriter.setFeedImage(image);
- }
- }
- }
- }
- }.start();
- }
- if(oldVersionCode < 1050004) {
- if(MediaPlayer.isPrestoLibraryInstalled(context) && Build.VERSION.SDK_INT >= 16) {
- UserPreferences.enableSonic(true);
- }
- }
- }
-
-}
diff --git a/app/src/main/java/de/danoeh/antennapod/receiver/ConnectivityActionReceiver.java b/app/src/main/java/de/danoeh/antennapod/receiver/ConnectivityActionReceiver.java
index 665ddc3b5..1075117dd 100644
--- a/app/src/main/java/de/danoeh/antennapod/receiver/ConnectivityActionReceiver.java
+++ b/app/src/main/java/de/danoeh/antennapod/receiver/ConnectivityActionReceiver.java
@@ -8,6 +8,7 @@ import android.net.NetworkInfo;
import android.text.TextUtils;
import android.util.Log;
+import de.danoeh.antennapod.core.ClientConfig;
import de.danoeh.antennapod.core.storage.DBTasks;
import de.danoeh.antennapod.core.storage.DownloadRequester;
import de.danoeh.antennapod.core.util.NetworkUtils;
@@ -20,7 +21,8 @@ public class ConnectivityActionReceiver extends BroadcastReceiver {
if (TextUtils.equals(intent.getAction(), ConnectivityManager.CONNECTIVITY_ACTION)) {
Log.d(TAG, "Received intent");
- if (NetworkUtils.autodownloadNetworkAvailable()) {
+ ClientConfig.initialize(context);
+ if (NetworkUtils.autodownloadNetworkAvailable()) {
Log.d(TAG, "auto-dl network available, starting auto-download");
DBTasks.autodownloadUndownloadedItems(context);
} else { // if new network is Wi-Fi, finish ongoing downloads,
diff --git a/app/src/main/java/de/danoeh/antennapod/receiver/PowerConnectionReceiver.java b/app/src/main/java/de/danoeh/antennapod/receiver/PowerConnectionReceiver.java
index f050e031d..339a4f0f7 100644
--- a/app/src/main/java/de/danoeh/antennapod/receiver/PowerConnectionReceiver.java
+++ b/app/src/main/java/de/danoeh/antennapod/receiver/PowerConnectionReceiver.java
@@ -3,10 +3,9 @@ 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.ClientConfig;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.storage.DBTasks;
import de.danoeh.antennapod.core.storage.DownloadRequester;
@@ -25,6 +24,7 @@ public class PowerConnectionReceiver extends BroadcastReceiver {
Log.d(TAG, "charging intent: " + action);
+ ClientConfig.initialize(context);
if (Intent.ACTION_POWER_CONNECTED.equals(action)) {
Log.d(TAG, "charging, starting auto-download");
// we're plugged in, this is a great time to auto-download if everything else is
diff --git a/app/src/main/java/de/danoeh/antennapod/receiver/SPAReceiver.java b/app/src/main/java/de/danoeh/antennapod/receiver/SPAReceiver.java
index 8201fe3e2..a373c5353 100644
--- a/app/src/main/java/de/danoeh/antennapod/receiver/SPAReceiver.java
+++ b/app/src/main/java/de/danoeh/antennapod/receiver/SPAReceiver.java
@@ -9,8 +9,8 @@ import android.widget.Toast;
import java.util.Arrays;
-import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.R;
+import de.danoeh.antennapod.core.ClientConfig;
import de.danoeh.antennapod.core.feed.Feed;
import de.danoeh.antennapod.core.storage.DownloadRequestException;
import de.danoeh.antennapod.core.storage.DownloadRequester;
@@ -27,29 +27,30 @@ public class SPAReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
- if (TextUtils.equals(intent.getAction(), ACTION_SP_APPS_QUERY_FEEDS_REPSONSE)) {
- if (BuildConfig.DEBUG) Log.d(TAG, "Received SP_APPS_QUERY_RESPONSE");
- if (intent.hasExtra(ACTION_SP_APPS_QUERY_FEEDS_REPSONSE_FEEDS_EXTRA)) {
- String[] feedUrls = intent.getStringArrayExtra(ACTION_SP_APPS_QUERY_FEEDS_REPSONSE_FEEDS_EXTRA);
- if (feedUrls != null) {
- if (BuildConfig.DEBUG) Log.d(TAG, "Received feeds list: " + Arrays.toString(feedUrls));
- for (String url : feedUrls) {
- Feed f = new Feed(url, null);
- try {
- DownloadRequester.getInstance().downloadFeed(context, f);
- } catch (DownloadRequestException e) {
- Log.e(TAG, "Error while trying to add feed " + url);
- e.printStackTrace();
- }
- }
- Toast.makeText(context, R.string.sp_apps_importing_feeds_msg, Toast.LENGTH_LONG).show();
-
- } else {
- Log.e(TAG, "Received invalid SP_APPS_QUERY_REPSONSE: extra was null");
- }
- } else {
- Log.e(TAG, "Received invalid SP_APPS_QUERY_RESPONSE: Contains no extra");
+ if (!TextUtils.equals(intent.getAction(), ACTION_SP_APPS_QUERY_FEEDS_REPSONSE)) {
+ return;
+ }
+ Log.d(TAG, "Received SP_APPS_QUERY_RESPONSE");
+ if (!intent.hasExtra(ACTION_SP_APPS_QUERY_FEEDS_REPSONSE_FEEDS_EXTRA)) {
+ Log.e(TAG, "Received invalid SP_APPS_QUERY_RESPONSE: Contains no extra");
+ return;
+ }
+ String[] feedUrls = intent.getStringArrayExtra(ACTION_SP_APPS_QUERY_FEEDS_REPSONSE_FEEDS_EXTRA);
+ if (feedUrls == null) {
+ Log.e(TAG, "Received invalid SP_APPS_QUERY_REPSONSE: extra was null");
+ return;
+ }
+ Log.d(TAG, "Received feeds list: " + Arrays.toString(feedUrls));
+ ClientConfig.initialize(context);
+ for (String url : feedUrls) {
+ Feed f = new Feed(url, null);
+ try {
+ DownloadRequester.getInstance().downloadFeed(context, f);
+ } catch (DownloadRequestException e) {
+ Log.e(TAG, "Error while trying to add feed " + url);
+ e.printStackTrace();
}
}
+ Toast.makeText(context, R.string.sp_apps_importing_feeds_msg, Toast.LENGTH_LONG).show();
}
}