@Override public void dispose() { SingleSubject<T> parent = getAndSet(null); if (parent != null) { parent.remove(this); } }
@Override public void dispose() { SingleSubject<T> parent = getAndSet(null); if (parent != null) { parent.remove(this); } }
@Override protected void subscribeActual(@NonNull SingleObserver<? super T> observer) { SingleDisposable<T> md = new SingleDisposable<T>(observer, this); observer.onSubscribe(md); if (add(md)) { if (md.isDisposed()) { remove(md); } } else { Throwable ex = error; if (ex != null) { observer.onError(ex); } else { observer.onSuccess(value); } } }
@Override protected void subscribeActual(@NonNull SingleObserver<? super T> observer) { SingleDisposable<T> md = new SingleDisposable<T>(observer, this); observer.onSubscribe(md); if (add(md)) { if (md.isDisposed()) { remove(md); } } else { Throwable ex = error; if (ex != null) { observer.onError(ex); } else { observer.onSuccess(value); } } }