All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hannesdorfmann.mosby3.mvi.DisposableViewStateObserver Maven / Gradle / Ivy

package com.hannesdorfmann.mosby3.mvi;

import io.reactivex.observers.DisposableObserver;
import io.reactivex.subjects.BehaviorSubject;

/**
 * Just a simple {@link DisposableObserver} that is used to cancel subscriptions from view's
 * state to the internal relays
 */
class DisposableViewStateObserver extends DisposableObserver {
  private final BehaviorSubject subject;

  public DisposableViewStateObserver(BehaviorSubject subject) {
        this.subject = subject;
    }

  @Override public void onNext(VS value) {
      subject.onNext(value);
  }

  @Override public void onError(Throwable e) {
      throw new IllegalStateException(
              "ViewState observable must not reach error state - onError()", e);
  }

  @Override public void onComplete() {
      // ViewState observable never completes so ignore any complete event
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy