summaryrefslogtreecommitdiff
path: root/app/src/main/java/de/danoeh/antennapod/viewmodel/FeedSettingsViewModel.java
blob: fe11a645c0e8d4f3698955bcc609285c2b979659 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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();
            }
        });
    }
}