Search in sources :

Example 1 with Votable

use of com.winsonchiu.reader.data.reddit.Votable in project Reader by TheKeeperOfPie.

the class EventListenerBase method onVote.

public <T extends Votable> Observable<T> onVote(T votable, Likes vote) {
    Likes voteOld = votable.getLikes();
    if (vote == voteOld) {
        vote = Likes.NONE;
    }
    votable.setLikes(vote);
    return reddit.voteLink(votable, vote).flatMap(s -> Observable.<T>empty()).onErrorResumeNext(throwable -> {
        votable.setLikes(voteOld);
        return Observable.just(votable).concatWith(Observable.error(throwable));
    }).startWith(votable);
}
Also used : ControllerHistory(com.winsonchiu.reader.history.ControllerHistory) Context(android.content.Context) ObserverEmpty(com.winsonchiu.reader.rx.ObserverEmpty) ControllerCommentsTop(com.winsonchiu.reader.comments.ControllerCommentsTop) ControllerLinks(com.winsonchiu.reader.links.ControllerLinks) AdapterLink(com.winsonchiu.reader.links.AdapterLink) Message(com.winsonchiu.reader.data.reddit.Message) Observable(rx.Observable) ClipData(android.content.ClipData) Inject(javax.inject.Inject) ControllerProfile(com.winsonchiu.reader.profile.ControllerProfile) Reddit(com.winsonchiu.reader.data.reddit.Reddit) ComponentStatic(com.winsonchiu.reader.dagger.components.ComponentStatic) Likes(com.winsonchiu.reader.data.reddit.Likes) ControllerInbox(com.winsonchiu.reader.inbox.ControllerInbox) Toast(android.widget.Toast) Votable(com.winsonchiu.reader.data.reddit.Votable) Link(com.winsonchiu.reader.data.reddit.Link) ClipboardManager(android.content.ClipboardManager) JsonNode(com.fasterxml.jackson.databind.JsonNode) Saveable(com.winsonchiu.reader.data.reddit.Saveable) Comment(com.winsonchiu.reader.data.reddit.Comment) ControllerSearch(com.winsonchiu.reader.search.ControllerSearch) ControllerUser(com.winsonchiu.reader.ControllerUser) FinalizingSubscriber(com.winsonchiu.reader.rx.FinalizingSubscriber) Thing(com.winsonchiu.reader.data.reddit.Thing) ComponentActivity(com.winsonchiu.reader.dagger.components.ComponentActivity) Observer(rx.Observer) R(com.winsonchiu.reader.R) Submission(com.winsonchiu.reader.data.reddit.Submission) User(com.winsonchiu.reader.data.reddit.User) Likes(com.winsonchiu.reader.data.reddit.Likes)

Aggregations

ClipData (android.content.ClipData)1 ClipboardManager (android.content.ClipboardManager)1 Context (android.content.Context)1 Toast (android.widget.Toast)1 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 ControllerUser (com.winsonchiu.reader.ControllerUser)1 R (com.winsonchiu.reader.R)1 ControllerCommentsTop (com.winsonchiu.reader.comments.ControllerCommentsTop)1 ComponentActivity (com.winsonchiu.reader.dagger.components.ComponentActivity)1 ComponentStatic (com.winsonchiu.reader.dagger.components.ComponentStatic)1 Comment (com.winsonchiu.reader.data.reddit.Comment)1 Likes (com.winsonchiu.reader.data.reddit.Likes)1 Link (com.winsonchiu.reader.data.reddit.Link)1 Message (com.winsonchiu.reader.data.reddit.Message)1 Reddit (com.winsonchiu.reader.data.reddit.Reddit)1 Saveable (com.winsonchiu.reader.data.reddit.Saveable)1 Submission (com.winsonchiu.reader.data.reddit.Submission)1 Thing (com.winsonchiu.reader.data.reddit.Thing)1 User (com.winsonchiu.reader.data.reddit.User)1 Votable (com.winsonchiu.reader.data.reddit.Votable)1