diff options
author | Anderson Mesquita <andersonvom@gmail.com> | 2019-04-27 18:13:45 -0400 |
---|---|---|
committer | Anderson Mesquita <andersonvom@gmail.com> | 2019-04-30 06:10:41 -0400 |
commit | a2cd8cca73ecdd6c54b24e24bbab290e59941818 (patch) | |
tree | 978b290ea9f10dfd49a43de8b58f8b04468d0c19 /app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java | |
parent | 34d33f796ee50308cc50877cd7985ddf49437c8d (diff) | |
download | AntennaPod-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/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/fragment/ItemlistFragment.java | 18 |
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); } } |