use of com.hannesdorfmann.mosby3.sample.mail.model.event.MailLabelChangedEvent in project mosby by sockeqwe.
the class LabelPresenter method setLabel.
public void setLabel(final Mail mail, String newLabel) {
// Optimistic propagation
final String oldLabel = mail.getLabel();
eventBus.post(new MailLabelChangedEvent(mail, newLabel));
mailProvider.setLabel(mail, newLabel).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Subscriber<Mail>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
eventBus.post(new MailLabelChangedEvent(mail, oldLabel));
if (isViewAttached()) {
getView().changeLabel(mail, oldLabel);
getView().showChangeLabelFailed(mail, e);
}
}
@Override
public void onNext(Mail m) {
}
});
// Don't cancel this onDetach
}
Aggregations