summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorAnderson Mesquita <andersonvom@gmail.com>2019-04-27 18:13:45 -0400
committerAnderson Mesquita <andersonvom@gmail.com>2019-04-30 06:10:41 -0400
commita2cd8cca73ecdd6c54b24e24bbab290e59941818 (patch)
tree978b290ea9f10dfd49a43de8b58f8b04468d0c19 /app
parent34d33f796ee50308cc50877cd7985ddf49437c8d (diff)
downloadAntennaPod-a2cd8cca73ecdd6c54b24e24bbab290e59941818.zip
Return Optional feed when loading feed items
RxJava 2.x no longer accepts `null` values and will yield a `NullPointerException` immediately or as a signal to downstream [1]. This returns an Optional<Feed> instead to avoid errors. [1]: https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#nulls
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java18
1 files changed, 8 insertions, 10 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
index ba3ab4a97..726de8369 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java
@@ -6,7 +6,7 @@ import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.LightingColorFilter;
import android.os.Bundle;
-import android.support.annotation.Nullable;
+import android.support.annotation.NonNull;
import android.support.v4.app.ListFragment;
import android.support.v4.view.MenuItemCompat;
import android.support.v7.widget.SearchView;
@@ -61,6 +61,7 @@ import de.danoeh.antennapod.core.storage.DownloadRequestException;
import de.danoeh.antennapod.core.storage.DownloadRequester;
import de.danoeh.antennapod.core.util.FeedItemUtil;
import de.danoeh.antennapod.core.util.LongList;
+import de.danoeh.antennapod.core.util.Optional;
import de.danoeh.antennapod.core.util.gui.MoreContentListFooterUtil;
import de.danoeh.antennapod.dialog.EpisodesApplyActionFragment;
import de.danoeh.antennapod.dialog.RenameFeedDialog;
@@ -618,7 +619,7 @@ public class ItemlistFragment extends ListFragment {
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(result -> {
- feed = result;
+ feed = result.orElse(null);
itemsLoaded = true;
if (viewsCreated) {
onFragmentLoaded();
@@ -626,18 +627,15 @@ public class ItemlistFragment extends ListFragment {
}, error -> Log.e(TAG, Log.getStackTraceString(error)));
}
- @Nullable
- private Feed loadData() {
+ @NonNull
+ private Optional<Feed> loadData() {
Feed feed = DBReader.getFeed(feedID);
- if (feed == null) {
- return null;
- }
- DBReader.loadAdditionalFeedItemListData(feed.getItems());
- if (feed.getItemFilter() != null) {
+ if (feed != null && feed.getItemFilter() != null) {
+ DBReader.loadAdditionalFeedItemListData(feed.getItems());
FeedItemFilter filter = feed.getItemFilter();
feed.setItems(filter.filter(feed.getItems()));
}
- return feed;
+ return Optional.ofNullable(feed);
}
}