public void subscribe()

in android/autodispose-android/src/main/java/autodispose2/android/DetachEventCompletable.java [38:61]


  public void subscribe(CompletableObserver observer) {
    Listener listener = new Listener(view, observer);
    observer.onSubscribe(listener);

    // Check we're on the main thread.
    if (!isMainThread()) {
      observer.onError(new IllegalStateException("Views can only be bound to on the main thread!"));
      return;
    }

    // Check that it's attached.
    boolean isAttached =
        (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && view.isAttachedToWindow())
            || view.getWindowToken() != null;
    if (!isAttached) {
      observer.onError(new OutsideScopeException("View is not attached!"));
      return;
    }

    view.addOnAttachStateChangeListener(listener);
    if (listener.isDisposed()) {
      view.removeOnAttachStateChangeListener(listener);
    }
  }