diff options
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/viewmodel/FeedSettingsViewModel.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/viewmodel/FeedSettingsViewModel.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/viewmodel/FeedSettingsViewModel.java b/app/src/main/java/de/danoeh/antennapod/viewmodel/FeedSettingsViewModel.java new file mode 100644 index 000000000..fe11a645c --- /dev/null +++ b/app/src/main/java/de/danoeh/antennapod/viewmodel/FeedSettingsViewModel.java @@ -0,0 +1,30 @@ +package de.danoeh.antennapod.viewmodel; + +import android.arch.lifecycle.ViewModel; +import de.danoeh.antennapod.core.feed.Feed; +import de.danoeh.antennapod.core.storage.DBReader; +import io.reactivex.Maybe; + +public class FeedSettingsViewModel extends ViewModel { + private Feed feed; + + public Maybe<Feed> getFeed(long feedId) { + if (feed == null) { + return loadFeed(feedId); + } else { + return Maybe.just(feed); + } + } + + private Maybe<Feed> loadFeed(long feedId) { + return Maybe.create(emitter -> { + Feed feed = DBReader.getFeed(feedId); + if (feed != null) { + this.feed = feed; + emitter.onSuccess(feed); + } else { + emitter.onComplete(); + } + }); + } +} |