summaryrefslogtreecommitdiff
path: root/core/src
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2022-04-25 22:45:47 +0200
committerByteHamster <info@bytehamster.com>2022-04-26 17:57:42 +0200
commit069a2ca329a342ad0559a48719f49264d2610f00 (patch)
tree59cc8327dec62ddfd105d1ad2fdb59dcba12736e /core/src
parent20363ee41c814b14b16999505fa850a0943346dd (diff)
downloadAntennaPod-069a2ca329a342ad0559a48719f49264d2610f00.zip
Decouple preferences
Diffstat (limited to 'core/src')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/feed/SubscriptionsFilter.java123
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java41
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java1
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/DownloadService.java3
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/NewEpisodesNotification.java10
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java24
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java2
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/DBReader.java21
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java2
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/EpisodeCleanupAlgorithmFactory.java22
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/storage/NavDrawerData.java6
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/util/LongLongMapTest.java68
12 files changed, 50 insertions, 273 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/SubscriptionsFilter.java b/core/src/main/java/de/danoeh/antennapod/core/feed/SubscriptionsFilter.java
deleted file mode 100644
index 7e80fb231..000000000
--- a/core/src/main/java/de/danoeh/antennapod/core/feed/SubscriptionsFilter.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package de.danoeh.antennapod.core.feed;
-
-import android.text.TextUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import de.danoeh.antennapod.storage.database.LongIntMap;
-import de.danoeh.antennapod.model.feed.Feed;
-import de.danoeh.antennapod.model.feed.FeedPreferences;
-
-public class SubscriptionsFilter {
- private static final String divider = ",";
-
- private final String[] properties;
-
- private boolean showIfCounterGreaterZero = false;
-
- private boolean showAutoDownloadEnabled = false;
- private boolean showAutoDownloadDisabled = false;
-
- private boolean showUpdatedEnabled = false;
- private boolean showUpdatedDisabled = false;
-
- private boolean showEpisodeNotificationEnabled = false;
- private boolean showEpisodeNotificationDisabled = false;
-
- public SubscriptionsFilter(String properties) {
- this(TextUtils.split(properties, divider));
- }
-
-
- public SubscriptionsFilter(String[] properties) {
- this.properties = properties;
- for (String property : properties) {
- // see R.arrays.feed_filter_values
- switch (property) {
- case "counter_greater_zero":
- showIfCounterGreaterZero = true;
- break;
- case "enabled_auto_download":
- showAutoDownloadEnabled = true;
- break;
- case "disabled_auto_download":
- showAutoDownloadDisabled = true;
- break;
- case "enabled_updates":
- showUpdatedEnabled = true;
- break;
- case "disabled_updates":
- showUpdatedDisabled = true;
- break;
- case "episode_notification_enabled":
- showEpisodeNotificationEnabled = true;
- break;
- case "episode_notification_disabled":
- showEpisodeNotificationDisabled = true;
- break;
- default:
- break;
- }
- }
- }
-
- public boolean isEnabled() {
- return properties.length > 0;
- }
-
- /**
- * Run a list of feed items through the filter.
- */
- public List<Feed> filter(List<Feed> items, LongIntMap feedCounters) {
- if (properties.length == 0) {
- return items;
- }
-
- List<Feed> result = new ArrayList<>();
-
- for (Feed item : items) {
- FeedPreferences itemPreferences = item.getPreferences();
-
- // If the item does not meet a requirement, skip it.
- if (showAutoDownloadEnabled && !itemPreferences.getAutoDownload()) {
- continue;
- } else if (showAutoDownloadDisabled && itemPreferences.getAutoDownload()) {
- continue;
- }
-
- if (showUpdatedEnabled && !itemPreferences.getKeepUpdated()) {
- continue;
- } else if (showUpdatedDisabled && itemPreferences.getKeepUpdated()) {
- continue;
- }
-
- if (showEpisodeNotificationEnabled && !itemPreferences.getShowEpisodeNotification()) {
- continue;
- } else if (showEpisodeNotificationDisabled && itemPreferences.getShowEpisodeNotification()) {
- continue;
- }
-
- // If the item reaches here, it meets all criteria (except counter > 0)
- result.add(item);
- }
-
- if (showIfCounterGreaterZero) {
- for (int i = result.size() - 1; i >= 0; i--) {
- if (feedCounters.get(result.get(i).getId()) <= 0) {
- result.remove(i);
- }
- }
- }
-
- return result;
- }
-
- public String[] getValues() {
- return properties.clone();
- }
-
- public String serialize() {
- return TextUtils.join(divider, getValues());
- }
-}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
index 081b7d5f0..b1bc38ebc 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/preferences/UserPreferences.java
@@ -14,7 +14,6 @@ import androidx.annotation.VisibleForTesting;
import androidx.core.app.NotificationCompat;
import androidx.preference.PreferenceManager;
-import de.danoeh.antennapod.model.feed.FeedCounter;
import org.json.JSONArray;
import org.json.JSONException;
@@ -32,16 +31,11 @@ import java.util.Set;
import java.util.concurrent.TimeUnit;
import de.danoeh.antennapod.core.R;
+import de.danoeh.antennapod.model.feed.FeedCounter;
import de.danoeh.antennapod.model.playback.MediaType;
-import de.danoeh.antennapod.core.feed.SubscriptionsFilter;
-import de.danoeh.antennapod.core.service.download.ProxyConfig;
-import de.danoeh.antennapod.core.storage.APCleanupAlgorithm;
-import de.danoeh.antennapod.core.storage.ExceptFavoriteCleanupAlgorithm;
-import de.danoeh.antennapod.core.storage.APNullCleanupAlgorithm;
-import de.danoeh.antennapod.core.storage.APQueueCleanupAlgorithm;
-import de.danoeh.antennapod.core.storage.EpisodeCleanupAlgorithm;
+import de.danoeh.antennapod.model.feed.SubscriptionsFilter;
+import de.danoeh.antennapod.model.download.ProxyConfig;
import de.danoeh.antennapod.model.feed.SortOrder;
-import de.danoeh.antennapod.core.util.download.AutoUpdateManager;
/**
* Provides access to preferences set by the user in the settings screen. A
@@ -692,33 +686,22 @@ public class UserPreferences {
.apply();
}
- /**
- * Sets the update interval value.
- */
public static void setUpdateInterval(long hours) {
prefs.edit()
.putString(PREF_UPDATE_INTERVAL, String.valueOf(hours))
.apply();
- // when updating with an interval, we assume the user wants
- // to update *now* and then every 'hours' interval thereafter.
- AutoUpdateManager.restartUpdateAlarm(context);
}
- /**
- * Sets the update interval value.
- */
public static void setUpdateTimeOfDay(int hourOfDay, int minute) {
prefs.edit()
.putString(PREF_UPDATE_INTERVAL, hourOfDay + ":" + minute)
.apply();
- AutoUpdateManager.restartUpdateAlarm(context);
}
- public static void disableAutoUpdate(Context context) {
+ public static void disableAutoUpdate() {
prefs.edit()
.putString(PREF_UPDATE_INTERVAL, "0")
.apply();
- AutoUpdateManager.disableAutoUpdate(context);
}
public static boolean gpodnetNotificationsEnabled() {
@@ -835,22 +818,6 @@ public class UserPreferences {
.apply();
}
- public static EpisodeCleanupAlgorithm getEpisodeCleanupAlgorithm() {
- if (!isEnableAutodownload()) {
- return new APNullCleanupAlgorithm();
- }
- int cleanupValue = getEpisodeCleanupValue();
- if (cleanupValue == EPISODE_CLEANUP_EXCEPT_FAVORITE) {
- return new ExceptFavoriteCleanupAlgorithm();
- } else if (cleanupValue == EPISODE_CLEANUP_QUEUE) {
- return new APQueueCleanupAlgorithm();
- } else if (cleanupValue == EPISODE_CLEANUP_NULL) {
- return new APNullCleanupAlgorithm();
- } else {
- return new APCleanupAlgorithm(cleanupValue);
- }
- }
-
public static int getEpisodeCleanupValue() {
return Integer.parseInt(prefs.getString(PREF_EPISODE_CLEANUP, "" + EPISODE_CLEANUP_NULL));
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java
index b1138eeff..9974fae51 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/AntennapodHttpClient.java
@@ -6,6 +6,7 @@ import androidx.annotation.NonNull;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.BasicAuthorizationInterceptor;
import de.danoeh.antennapod.core.service.UserAgentInterceptor;
+import de.danoeh.antennapod.model.download.ProxyConfig;
import de.danoeh.antennapod.net.ssl.SslClientSetup;
import okhttp3.Cache;
import okhttp3.Credentials;
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 1cd456072..40cc5f3f3 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
@@ -20,6 +20,7 @@ import androidx.core.app.ServiceCompat;
import androidx.core.content.ContextCompat;
import de.danoeh.antennapod.core.R;
import de.danoeh.antennapod.core.feed.LocalFeedUpdater;
+import de.danoeh.antennapod.core.storage.EpisodeCleanupAlgorithmFactory;
import de.danoeh.antennapod.model.download.DownloadStatus;
import org.apache.commons.io.FileUtils;
import org.greenrobot.eventbus.EventBus;
@@ -455,7 +456,7 @@ public class DownloadService extends Service {
Log.d(TAG, "Received enqueue request. #requests=" + requests.size());
if (intent.getBooleanExtra(EXTRA_CLEANUP_MEDIA, false)) {
- UserPreferences.getEpisodeCleanupAlgorithm().makeRoomForEpisodes(getApplicationContext(), requests.size());
+ EpisodeCleanupAlgorithmFactory.build().makeRoomForEpisodes(getApplicationContext(), requests.size());
}
for (DownloadRequest request : requests) {
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/NewEpisodesNotification.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/NewEpisodesNotification.java
index 0e046978e..8f955e3c5 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/NewEpisodesNotification.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/download/NewEpisodesNotification.java
@@ -20,15 +20,16 @@ import de.danoeh.antennapod.model.feed.Feed;
import de.danoeh.antennapod.model.feed.FeedCounter;
import de.danoeh.antennapod.model.feed.FeedPreferences;
import de.danoeh.antennapod.core.glide.ApGlideSettings;
-import de.danoeh.antennapod.storage.database.LongIntMap;
import de.danoeh.antennapod.core.util.gui.NotificationUtils;
import de.danoeh.antennapod.storage.database.PodDBAdapter;
+import java.util.Map;
+
public class NewEpisodesNotification {
private static final String TAG = "NewEpisodesNotification";
private static final String GROUP_KEY = "de.danoeh.antennapod.EPISODES";
- private LongIntMap countersBefore;
+ private Map<Long, Integer> countersBefore;
public NewEpisodesNotification() {
}
@@ -46,7 +47,7 @@ public class NewEpisodesNotification {
return;
}
- int newEpisodesBefore = countersBefore.get(feed.getId());
+ int newEpisodesBefore = countersBefore.containsKey(feed.getId()) ? countersBefore.get(feed.getId()) : 0;
int newEpisodesAfter = getNewEpisodeCount(feed.getId());
Log.d(TAG, "New episodes before: " + newEpisodesBefore + ", after: " + newEpisodesAfter);
@@ -130,7 +131,8 @@ public class NewEpisodesNotification {
private static int getNewEpisodeCount(long feedId) {
PodDBAdapter adapter = PodDBAdapter.getInstance();
adapter.open();
- int episodeCount = adapter.getFeedCounters(FeedCounter.SHOW_NEW, feedId).get(feedId);
+ Map<Long, Integer> counters = adapter.getFeedCounters(FeedCounter.SHOW_NEW, feedId);
+ int episodeCount = counters.containsKey(feedId) ? counters.get(feedId) : 0;
adapter.close();
return episodeCount;
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java b/core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java
deleted file mode 100644
index 797001e3a..000000000
--- a/core/src/main/java/de/danoeh/antennapod/core/service/download/ProxyConfig.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package de.danoeh.antennapod.core.service.download;
-
-import androidx.annotation.Nullable;
-
-import java.net.Proxy;
-
-public class ProxyConfig {
-
- public final Proxy.Type type;
- @Nullable public final String host;
- public final int port;
- @Nullable public final String username;
- @Nullable public final String password;
-
- public static final int DEFAULT_PORT = 8080;
-
- public ProxyConfig(Proxy.Type type, String host, int port, String username, String password) {
- this.type = type;
- this.host = host;
- this.port = port;
- this.username = username;
- this.password = password;
- }
-} \ No newline at end of file
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java b/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java
index 52638ca77..c410376c2 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/AutomaticDownloadAlgorithm.java
@@ -76,7 +76,7 @@ public class AutomaticDownloadAlgorithm {
int autoDownloadableEpisodes = candidates.size();
int downloadedEpisodes = DBReader.getNumberOfDownloadedEpisodes();
- int deletedEpisodes = UserPreferences.getEpisodeCleanupAlgorithm()
+ int deletedEpisodes = EpisodeCleanupAlgorithmFactory.build()
.makeRoomForEpisodes(context, autoDownloadableEpisodes);
boolean cacheIsUnlimited =
UserPreferences.getEpisodeCacheSize() == UserPreferences.getEpisodeCacheSizeUnlimited();
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DBReader.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBReader.java
index 528ded708..62a461dfe 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBReader.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBReader.java
@@ -21,7 +21,7 @@ import de.danoeh.antennapod.model.feed.FeedItem;
import de.danoeh.antennapod.model.feed.FeedItemFilter;
import de.danoeh.antennapod.model.feed.FeedMedia;
import de.danoeh.antennapod.model.feed.FeedPreferences;
-import de.danoeh.antennapod.core.feed.SubscriptionsFilter;
+import de.danoeh.antennapod.model.feed.SubscriptionsFilter;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.model.download.DownloadStatus;
import de.danoeh.antennapod.storage.database.PodDBAdapter;
@@ -31,7 +31,6 @@ import de.danoeh.antennapod.storage.database.mapper.FeedCursorMapper;
import de.danoeh.antennapod.storage.database.mapper.FeedItemCursorMapper;
import de.danoeh.antennapod.storage.database.mapper.FeedMediaCursorMapper;
import de.danoeh.antennapod.storage.database.mapper.FeedPreferencesCursorMapper;
-import de.danoeh.antennapod.storage.database.LongIntMap;
import de.danoeh.antennapod.core.util.LongList;
import de.danoeh.antennapod.core.util.comparator.DownloadStatusComparator;
import de.danoeh.antennapod.core.util.comparator.FeedItemPubdateComparator;
@@ -881,7 +880,7 @@ public final class DBReader {
PodDBAdapter adapter = PodDBAdapter.getInstance();
adapter.open();
- final LongIntMap feedCounters = adapter.getFeedCounters(UserPreferences.getFeedCounterSetting());
+ final Map<Long, Integer> feedCounters = adapter.getFeedCounters(UserPreferences.getFeedCounterSetting());
SubscriptionsFilter subscriptionsFilter = UserPreferences.getSubscriptionsFilter();
List<Feed> feeds = subscriptionsFilter.filter(getFeedList(adapter), feedCounters);
@@ -889,8 +888,8 @@ public final class DBReader {
int feedOrder = UserPreferences.getFeedOrder();
if (feedOrder == UserPreferences.FEED_ORDER_COUNTER) {
comparator = (lhs, rhs) -> {
- long counterLhs = feedCounters.get(lhs.getId());
- long counterRhs = feedCounters.get(rhs.getId());
+ long counterLhs = feedCounters.containsKey(lhs.getId()) ? feedCounters.get(lhs.getId()) : 0;
+ long counterRhs = feedCounters.containsKey(rhs.getId()) ? feedCounters.get(rhs.getId()) : 0;
if (counterLhs > counterRhs) {
// reverse natural order: podcast with most unplayed episodes first
return -1;
@@ -913,11 +912,11 @@ public final class DBReader {
}
};
} else if (feedOrder == UserPreferences.FEED_ORDER_MOST_PLAYED) {
- final LongIntMap playedCounters = adapter.getPlayedEpisodesCounters();
+ final Map<Long, Integer> playedCounters = adapter.getPlayedEpisodesCounters();
comparator = (lhs, rhs) -> {
- long counterLhs = playedCounters.get(lhs.getId());
- long counterRhs = playedCounters.get(rhs.getId());
+ long counterLhs = playedCounters.containsKey(lhs.getId()) ? playedCounters.get(lhs.getId()) : 0;
+ long counterRhs = playedCounters.containsKey(rhs.getId()) ? playedCounters.get(rhs.getId()) : 0;
if (counterLhs > counterRhs) {
// podcast with most played episodes first
return -1;
@@ -945,8 +944,8 @@ public final class DBReader {
Map<String, NavDrawerData.TagDrawerItem> folders = new HashMap<>();
for (Feed feed : feeds) {
for (String tag : feed.getPreferences().getTags()) {
- NavDrawerData.FeedDrawerItem drawerItem = new NavDrawerData.FeedDrawerItem(feed, feed.getId(),
- feedCounters.get(feed.getId()));
+ int counter = feedCounters.containsKey(feed.getId()) ? feedCounters.get(feed.getId()) : 0;
+ NavDrawerData.FeedDrawerItem drawerItem = new NavDrawerData.FeedDrawerItem(feed, feed.getId(), counter);
if (FeedPreferences.TAG_ROOT.equals(tag)) {
items.add(drawerItem);
continue;
@@ -967,7 +966,7 @@ public final class DBReader {
items.addAll(foldersSorted);
NavDrawerData result = new NavDrawerData(items, queueSize, numNewItems, numDownloadedItems,
- feedCounters, UserPreferences.getEpisodeCleanupAlgorithm().getReclaimableItems());
+ feedCounters, EpisodeCleanupAlgorithmFactory.build().getReclaimableItems());
adapter.close();
return result;
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java b/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java
index 6ec27c01e..e9fe3af1a 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/DBTasks.java
@@ -228,7 +228,7 @@ public final class DBTasks {
* @param context Used for accessing the DB.
*/
public static void performAutoCleanup(final Context context) {
- UserPreferences.getEpisodeCleanupAlgorithm().performCleanup(context);
+ EpisodeCleanupAlgorithmFactory.build().performCleanup(context);
}
private static Feed searchFeedByIdentifyingValueOrID(Feed feed) {
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/EpisodeCleanupAlgorithmFactory.java b/core/src/main/java/de/danoeh/antennapod/core/storage/EpisodeCleanupAlgorithmFactory.java
new file mode 100644
index 000000000..123ccba3f
--- /dev/null
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/EpisodeCleanupAlgorithmFactory.java
@@ -0,0 +1,22 @@
+package de.danoeh.antennapod.core.storage;
+
+import de.danoeh.antennapod.core.preferences.UserPreferences;
+
+public abstract class EpisodeCleanupAlgorithmFactory {
+ public static EpisodeCleanupAlgorithm build() {
+ if (!UserPreferences.isEnableAutodownload()) {
+ return new APNullCleanupAlgorithm();
+ }
+ int cleanupValue = UserPreferences.getEpisodeCleanupValue();
+ switch (cleanupValue) {
+ case UserPreferences.EPISODE_CLEANUP_EXCEPT_FAVORITE:
+ return new ExceptFavoriteCleanupAlgorithm();
+ case UserPreferences.EPISODE_CLEANUP_QUEUE:
+ return new APQueueCleanupAlgorithm();
+ case UserPreferences.EPISODE_CLEANUP_NULL:
+ return new APNullCleanupAlgorithm();
+ default:
+ return new APCleanupAlgorithm(cleanupValue);
+ }
+ }
+}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/storage/NavDrawerData.java b/core/src/main/java/de/danoeh/antennapod/core/storage/NavDrawerData.java
index 24b55f9f4..af02a7733 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/storage/NavDrawerData.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/storage/NavDrawerData.java
@@ -1,24 +1,24 @@
package de.danoeh.antennapod.core.storage;
import de.danoeh.antennapod.model.feed.Feed;
-import de.danoeh.antennapod.storage.database.LongIntMap;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
public class NavDrawerData {
public final List<DrawerItem> items;
public final int queueSize;
public final int numNewItems;
public final int numDownloadedItems;
- public final LongIntMap feedCounters;
+ public final Map<Long, Integer> feedCounters;
public final int reclaimableSpace;
public NavDrawerData(List<DrawerItem> feeds,
int queueSize,
int numNewItems,
int numDownloadedItems,
- LongIntMap feedIndicatorValues,
+ Map<Long, Integer> feedIndicatorValues,
int reclaimableSpace) {
this.items = feeds;
this.queueSize = queueSize;
diff --git a/core/src/test/java/de/danoeh/antennapod/core/util/LongLongMapTest.java b/core/src/test/java/de/danoeh/antennapod/core/util/LongLongMapTest.java
deleted file mode 100644
index 03326d3b1..000000000
--- a/core/src/test/java/de/danoeh/antennapod/core/util/LongLongMapTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package de.danoeh.antennapod.core.util;
-
-import de.danoeh.antennapod.storage.database.LongIntMap;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-public class LongLongMapTest {
-
- @Test
- public void testEmptyMap() {
- LongIntMap map = new LongIntMap();
- assertEquals(0, map.size());
- assertEquals("LongLongMap{}", map.toString());
- assertEquals(0, map.get(42));
- assertEquals(-1, map.get(42, -1));
- assertFalse(map.delete(42));
- assertEquals(-1, map.indexOfKey(42));
- assertEquals(-1, map.indexOfValue(42));
- assertEquals(1, map.hashCode());
- }
-
- @Test
- public void testSingleElement() {
- LongIntMap map = new LongIntMap();
- map.put(17, 42);
- assertEquals(1, map.size());
- assertEquals("LongLongMap{17=42}", map.toString());
- assertEquals(42, map.get(17));
- assertEquals(42, map.get(17, -1));
- assertEquals(0, map.indexOfKey(17));
- assertEquals(0, map.indexOfValue(42));
- assertTrue(map.delete(17));
- }
-
- @Test
- public void testAddAndDelete() {
- LongIntMap map = new LongIntMap();
- for(int i=0; i < 100; i++) {
- map.put(i * 17, i * 42);
- }
- assertEquals(100, map.size());
- assertEquals(0, map.get(0));
- assertEquals(42, map.get(17));
- assertEquals(42, map.get(17, -1));
- assertEquals(1, map.indexOfKey(17));
- assertEquals(1, map.indexOfValue(42));
- for(int i=0; i < 100; i++) {
- assertTrue(map.delete(i * 17));
- }
- }
-
- @Test
- public void testOverwrite() {
- LongIntMap map = new LongIntMap();
- map.put(17, 42);
- assertEquals(1, map.size());
- assertEquals("LongLongMap{17=42}", map.toString());
- assertEquals(42, map.get(17));
- map.put(17, 23);
- assertEquals(1, map.size());
- assertEquals("LongLongMap{17=23}", map.toString());
- assertEquals(23, map.get(17));
- }
-
-}