diff --git a/src/main/java/io/reactivex/rxjava3/core/Completable.java b/src/main/java/io/reactivex/rxjava3/core/Completable.java index 83e7848a51..cfdd87067d 100644 --- a/src/main/java/io/reactivex/rxjava3/core/Completable.java +++ b/src/main/java/io/reactivex/rxjava3/core/Completable.java @@ -178,7 +178,7 @@ public static Completable complete() { /** * Returns a {@code Completable} which completes only when all sources complete, one after another. * <p> - * <img width="640" height="283" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.concatArray.png" alt=""> + * <img width="640" height="284" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.concatArray.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code concatArray} does not operate by default on a particular {@link Scheduler}.</dd> @@ -205,7 +205,7 @@ public static Completable concatArray(@NonNull CompletableSource... sources) { /** * Returns a {@code Completable} which completes only when all sources complete, one after another. * <p> - * <img width="640" height="322" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.concatArrayDelayError.png" alt=""> + * <img width="640" height="324" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.concatArrayDelayError.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code concatArrayDelayError} does not operate by default on a particular {@link Scheduler}.</dd> @@ -247,7 +247,7 @@ public static Completable concat(@NonNull Iterable<@NonNull ? extends Completabl /** * Returns a {@code Completable} which completes only when all sources complete, one after another. * <p> - * <img width="640" height="237" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.concat.p.png" alt=""> + * <img width="640" height="238" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.concat.p.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The returned {@code Completable} honors the backpressure of the downstream consumer @@ -270,7 +270,7 @@ public static Completable concat(@NonNull Publisher<@NonNull ? extends Completab /** * Returns a {@code Completable} which completes only when all sources complete, one after another. * <p> - * <img width="640" height="237" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.concat.pn.png" alt=""> + * <img width="640" height="238" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.concat.pn.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The returned {@code Completable} honors the backpressure of the downstream consumer @@ -297,7 +297,7 @@ public static Completable concat(@NonNull Publisher<@NonNull ? extends Completab /** * Returns a {@code Completable} which completes only when all sources complete, one after another. * <p> - * <img width="640" height="361" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.concatDelayError.png" alt=""> + * <img width="640" height="361" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.concatDelayError.i.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code concatDelayError} does not operate by default on a particular {@link Scheduler}.</dd> @@ -989,7 +989,7 @@ public static Completable mergeArrayDelayError(@NonNull CompletableSource... sou * any error emitted by any of the inner {@code CompletableSource}s until all of * them terminate in a way or another. * <p> - * <img width="640" height="475" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.mergeDelayError.png" alt=""> + * <img width="640" height="476" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.mergeDelayError.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code mergeDelayError} does not operate by default on a particular {@link Scheduler}.</dd> @@ -1200,7 +1200,7 @@ public static Completable switchOnNextDelayError(@NonNull Publisher<@NonNull ? e * Returns a {@code Completable} instance which manages a resource along * with a custom {@link CompletableSource} instance while the subscription is active. * <p> - * <img width="640" height="388" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.using.png" alt=""> + * <img width="640" height="389" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.using.png" alt=""> * <p> * This overload disposes eagerly before the terminal event is emitted. * <dl> @@ -1294,7 +1294,7 @@ public static Completable wrap(@NonNull CompletableSource source) { * Returns a {@code Completable} that emits the a terminated event of either this {@code Completable} * or the other {@link CompletableSource}, whichever fires first. * <p> - * <img width="640" height="484" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.ambWith.png" alt=""> + * <img width="640" height="485" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.ambWith.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code ambWith} does not operate by default on a particular {@link Scheduler}.</dd> @@ -1395,7 +1395,7 @@ public final Completable ambWith(@NonNull CompletableSource other) { * propagated to the downstream observer and will result in skipping the subscription to the next * {@code MaybeSource}. * <p> - * <img width="640" height="280" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.andThen.m.png" alt=""> + * <img width="640" height="281" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.andThen.m.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code andThen} does not operate by default on a particular {@link Scheduler}.</dd> @@ -1443,7 +1443,7 @@ public final Completable andThen(@NonNull CompletableSource next) { * Subscribes to and awaits the termination of this {@code Completable} instance in a blocking manner and * rethrows any exception emitted. * <p> - * <img width="640" height="432" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.blockingAwait.png" alt=""> + * <img width="640" height="433" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.blockingAwait.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code blockingAwait} does not operate by default on a particular {@link Scheduler}.</dd> @@ -1665,7 +1665,7 @@ public final Completable concatWith(@NonNull CompletableSource other) { /** * Returns a {@code Completable} which delays the emission of the completion event by the given time. * <p> - * <img width="640" height="343" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.delay.png" alt=""> + * <img width="640" height="344" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.delay.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code delay} does operate by default on the {@code computation} {@link Scheduler}.</dd> @@ -1955,7 +1955,7 @@ public final Completable doOnSubscribe(@NonNull Consumer<? super Disposable> onS * Returns a {@code Completable} instance that calls the given {@code onTerminate} {@link Action} just before this {@code Completable} * completes normally or with an exception. * <p> - * <img width="640" height="304" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.doOnTerminate.png" alt=""> + * <img width="640" height="305" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.doOnTerminate.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code doOnTerminate} does not operate by default on a particular {@link Scheduler}.</dd> @@ -1978,7 +1978,7 @@ public final Completable doOnTerminate(@NonNull Action onTerminate) { * Returns a {@code Completable} instance that calls the given {@code onAfterTerminate} {@link Action} after this {@code Completable} * completes normally or with an exception. * <p> - * <img width="640" height="304" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.doAfterTerminate.png" alt=""> + * <img width="640" height="305" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.doAfterTerminate.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code doAfterTerminate} does not operate by default on a particular {@link Scheduler}.</dd> diff --git a/src/main/java/io/reactivex/rxjava3/core/Flowable.java b/src/main/java/io/reactivex/rxjava3/core/Flowable.java index 453c9e4bba..58ffd3d6f8 100644 --- a/src/main/java/io/reactivex/rxjava3/core/Flowable.java +++ b/src/main/java/io/reactivex/rxjava3/core/Flowable.java @@ -1964,7 +1964,7 @@ public static <T> Flowable<T> error(@NonNull Throwable throwable) { * Returns a {@code Flowable} instance that runs the given {@link Action} for each subscriber and * emits either its exception or simply completes. * <p> - * <img width="640" height="286" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Flowable.fromAction.png" alt=""> + * <img width="640" height="285" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Flowable.fromAction.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>This source doesn't produce any elements and effectively ignores downstream backpressure.</dd> @@ -9934,7 +9934,7 @@ public final Flowable<T> filter(@NonNull Predicate<? super T> predicate) { * Returns a {@link Maybe} that emits only the very first item emitted by this {@code Flowable} or * completes if this {@code Flowable} is empty. * <p> - * <img width="640" height="237" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/firstElement.m.png" alt=""> + * <img width="640" height="286" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/firstElement.m.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The operator honors backpressure from downstream and consumes the current {@code Flowable} in a bounded manner.</dd> @@ -9957,7 +9957,7 @@ public final Maybe<T> firstElement() { * Returns a {@link Single} that emits only the very first item emitted by this {@code Flowable}, or a default * item if this {@code Flowable} completes without emitting anything. * <p> - * <img width="640" height="305" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/first.s.png" alt=""> + * <img width="640" height="285" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/first.s.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The operator honors backpressure from downstream and consumes the current {@code Flowable} in a bounded manner.</dd> @@ -10561,7 +10561,7 @@ public final Completable flatMapCompletable(@NonNull Function<? super T, ? exten * Merges {@link Iterable}s generated by a mapper {@link Function} for each individual item emitted by * the current {@code Flowable} into a single {@code Flowable} sequence. * <p> - * <img width="640" height="310" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapIterable.f.png" alt=""> + * <img width="640" height="342" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapIterable.f.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The operator honors backpressure from downstream. The current {@code Flowable}s is @@ -10592,7 +10592,7 @@ public final <U> Flowable<U> flatMapIterable(@NonNull Function<? super T, ? exte * Merges {@link Iterable}s generated by a mapper {@link Function} for each individual item emitted by * the current {@code Flowable} into a single {@code Flowable} sequence. * <p> - * <img width="640" height="310" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapIterable.f.png" alt=""> + * <img width="640" height="342" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapIterable.f.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The operator honors backpressure from downstream. The current {@code Flowable}s is @@ -14336,7 +14336,7 @@ public final Flowable<T> sample(long period, @NonNull TimeUnit unit) { * Returns a {@code Flowable} that emits the most recently emitted item (if any) emitted by the current {@code Flowable} * within periodic time intervals and optionally emit the very last upstream item when the upstream completes. * <p> - * <img width="640" height="276" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.emitlast.png" alt=""> + * <img width="640" height="277" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.emitlast.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>This operator does not support backpressure as it uses time to control data flow.</dd> @@ -14407,7 +14407,7 @@ public final Flowable<T> sample(long period, @NonNull TimeUnit unit, @NonNull Sc * within periodic time intervals, where the intervals are defined on a particular {@link Scheduler} * and optionally emit the very last upstream item when the upstream completes. * <p> - * <img width="640" height="276" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.s.emitlast.png" alt=""> + * <img width="640" height="277" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.s.emitlast.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>This operator does not support backpressure as it uses time to control data flow.</dd> @@ -14448,7 +14448,7 @@ public final Flowable<T> sample(long period, @NonNull TimeUnit unit, @NonNull Sc * emits the most recently emitted item (if any) emitted by the current {@code Flowable} since the previous * emission from the {@code sampler} {@code Publisher}. * <p> - * <img width="640" height="289" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.o.nolast.png" alt=""> + * <img width="640" height="290" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.o.nolast.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>This operator does not support backpressure as it uses the emissions of the {@code sampler} @@ -14480,7 +14480,7 @@ public final <U> Flowable<T> sample(@NonNull Publisher<U> sampler) { * emission from the {@code sampler} {@code Publisher} * and optionally emit the very last upstream item when the upstream or other {@code Publisher} complete. * <p> - * <img width="640" height="289" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.o.emitlast.png" alt=""> + * <img width="640" height="290" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.o.emitlast.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>This operator does not support backpressure as it uses the emissions of the {@code sampler} @@ -14759,7 +14759,7 @@ public final Single<T> single(@NonNull T defaultItem) { * if this {@code Flowable} completes without emitting any items a {@link NoSuchElementException} will be signaled and * if this {@code Flowable} emits more than one item, an {@link IllegalArgumentException} will be signaled. * <p> - * <img width="640" height="205" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/singleOrError.png" alt=""> + * <img width="640" height="206" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/singleOrError.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The operator honors backpressure from downstream and consumes the current {@code Flowable} in an @@ -15728,7 +15728,7 @@ public final Flowable<T> subscribeOn(@NonNull Scheduler scheduler, boolean reque * Returns a {@code Flowable} that emits the items emitted by the current {@code Flowable} or the items of an alternate * {@link Publisher} if the current {@code Flowable} is empty. * <p> - * <img width="640" height="255" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchifempty.png" alt=""> + * <img width="640" height="256" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchifempty.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>If the current {@code Flowable} is empty, the alternate {@code Publisher} is expected to honor backpressure. @@ -15835,7 +15835,7 @@ public final <R> Flowable<R> switchMap(@NonNull Function<? super T, ? extends Pu * disposing the subscription to the previous {@code CompletableSource}, thus keeping at most one * active {@code CompletableSource} running. * <p> - * <img width="640" height="521" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchMapCompletable.f.png" alt=""> + * <img width="640" height="522" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchMapCompletable.f.png" alt=""> * <p> * Since a {@code CompletableSource} doesn't produce any items, the resulting reactive type of * this operator is a {@link Completable} that can only indicate successful completion or @@ -16852,7 +16852,7 @@ public final Flowable<T> throttleLast(long intervalDuration, @NonNull TimeUnit u * item from upstream, then periodically emitting the latest item (if any) when * the specified timeout elapses between them. * <p> - * <img width="640" height="325" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.png" alt=""> + * <img width="640" height="326" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.png" alt=""> * <p> * Unlike the option with {@link #throttleLatest(long, TimeUnit, boolean)}, the very last item being held back * (if any) is not emitted when the upstream completes. @@ -16891,7 +16891,7 @@ public final Flowable<T> throttleLatest(long timeout, @NonNull TimeUnit unit) { * item from upstream, then periodically emitting the latest item (if any) when * the specified timeout elapses between them. * <p> - * <img width="640" height="325" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.e.png" alt=""> + * <img width="640" height="326" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.e.png" alt=""> * <p> * If no items were emitted from the upstream during this timeout phase, the next * upstream item is emitted immediately and the timeout window starts from then. @@ -16930,7 +16930,7 @@ public final Flowable<T> throttleLatest(long timeout, @NonNull TimeUnit unit, bo * item from upstream, then periodically emitting the latest item (if any) when * the specified timeout elapses between them. * <p> - * <img width="640" height="325" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.s.png" alt=""> + * <img width="640" height="326" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.s.png" alt=""> * <p> * Unlike the option with {@link #throttleLatest(long, TimeUnit, Scheduler, boolean)}, the very last item being held back * (if any) is not emitted when the upstream completes. @@ -16970,7 +16970,7 @@ public final Flowable<T> throttleLatest(long timeout, @NonNull TimeUnit unit, @N * item from upstream, then periodically emitting the latest item (if any) when * the specified timeout elapses between them. * <p> - * <img width="640" height="325" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.se.png" alt=""> + * <img width="640" height="326" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.se.png" alt=""> * <p> * If no items were emitted from the upstream during this timeout phase, the next * upstream item is emitted immediately and the timeout window starts from then. @@ -19764,7 +19764,7 @@ public final CompletionStage<T> lastStage(@Nullable T defaultItem) { * Signals the first upstream item or a {@link NoSuchElementException} if the upstream is empty via * a {@link CompletionStage}. * <p> - * <img width="640" height="338" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/firstOrErrorStage.f.png" alt=""> + * <img width="640" height="343" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/firstOrErrorStage.f.png" alt=""> * <p> * The upstream can be canceled by converting the resulting {@code CompletionStage} into * {@link CompletableFuture} via {@link CompletionStage#toCompletableFuture()} and diff --git a/src/main/java/io/reactivex/rxjava3/core/Maybe.java b/src/main/java/io/reactivex/rxjava3/core/Maybe.java index ba42452513..81ad003054 100644 --- a/src/main/java/io/reactivex/rxjava3/core/Maybe.java +++ b/src/main/java/io/reactivex/rxjava3/core/Maybe.java @@ -117,7 +117,7 @@ public abstract class Maybe<T> implements MaybeSource<T> { * Runs multiple {@link MaybeSource}s provided by an {@link Iterable} sequence and * signals the events of the first one that signals (disposing the rest). * <p> - * <img width="640" height="519" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.amb.png" alt=""> + * <img width="640" height="518" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.amb.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code amb} does not operate by default on a particular {@link Scheduler}.</dd> @@ -196,7 +196,7 @@ public static <T> Flowable<T> concat(@NonNull Iterable<@NonNull ? extends MaybeS /** * Returns a {@link Flowable} that emits the items emitted by two {@link MaybeSource}s, one after the other. * <p> - * <img width="640" height="422" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.concat.png" alt=""> + * <img width="640" height="423" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.concat.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The returned {@code Flowable} honors the backpressure of the downstream consumer.</dd> @@ -226,7 +226,7 @@ public static <T> Flowable<T> concat(@NonNull MaybeSource<? extends T> source1, /** * Returns a {@link Flowable} that emits the items emitted by three {@link MaybeSource}s, one after the other. * <p> - * <img width="640" height="422" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.concat.png" alt=""> + * <img width="640" height="423" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.concat.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The returned {@code Flowable} honors the backpressure of the downstream consumer.</dd> @@ -260,7 +260,7 @@ public static <T> Flowable<T> concat( /** * Returns a {@link Flowable} that emits the items emitted by four {@link MaybeSource}s, one after the other. * <p> - * <img width="640" height="422" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.concat.png" alt=""> + * <img width="640" height="423" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.concat.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The returned {@code Flowable} honors the backpressure of the downstream consumer.</dd> @@ -426,7 +426,7 @@ public static <T> Flowable<T> concatArrayDelayError(@NonNull MaybeSource<? exten * source {@code MaybeSource}s. The operator buffers the value emitted by these {@code MaybeSource}s and then drains them * in order, each one after the previous one completes. * <p> - * <img width="640" height="489" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.concatArrayEager.png" alt=""> + * <img width="640" height="490" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.concatArrayEager.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The operator honors backpressure from downstream.</dd> @@ -1229,7 +1229,7 @@ public static <T> Flowable<T> merge(@NonNull Publisher<@NonNull ? extends MaybeS * Flattens a {@link MaybeSource} that emits a {@code MaybeSource} into a single {@code MaybeSource} that emits the item * emitted by the nested {@code MaybeSource}, without any transformation. * <p> - * <img width="640" height="393" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.merge.oo.png" alt=""> + * <img width="640" height="394" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.merge.oo.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code merge} does not operate by default on a particular {@link Scheduler}.</dd> @@ -1779,7 +1779,7 @@ public static <T> Maybe<T> never() { * Returns a {@link Single} that emits a {@link Boolean} value that indicates whether two {@link MaybeSource} sequences are the * same by comparing the items emitted by each {@code MaybeSource} pairwise. * <p> - * <img width="640" height="196" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.sequenceEqual.png" alt=""> + * <img width="640" height="187" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.sequenceEqual.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code sequenceEqual} does not operate by default on a particular {@link Scheduler}.</dd> @@ -2570,7 +2570,7 @@ public static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Maybe<R> zip( * {@code Function<Integer[], R>} passed to the method would trigger a {@link ClassCastException}. * * <p> - * <img width="640" height="341" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.zipArray.png" alt=""> + * <img width="640" height="340" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.zipArray.png" alt=""> * <p>This operator terminates eagerly if any of the source {@code MaybeSource}s signal an {@code onError} or {@code onComplete}. This * also means it is possible some sources may not get subscribed to at all. * <dl> @@ -3638,7 +3638,7 @@ public final Maybe<T> filter(@NonNull Predicate<? super T> predicate) { * Returns a {@code Maybe} that is based on applying a specified function to the item emitted by the current {@code Maybe}, * where that function returns a {@link MaybeSource}. * <p> - * <img width="640" height="356" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.flatMap.png" alt=""> + * <img width="640" height="357" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.flatMap.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code flatMap} does not operate by default on a particular {@link Scheduler}.</dd> @@ -3790,7 +3790,7 @@ public final <U> Observable<U> flattenAsObservable(@NonNull Function<? super T, * Returns an {@link Observable} that is based on applying a specified function to the item emitted by the current {@code Maybe}, * where that function returns an {@link ObservableSource}. * <p> - * <img width="640" height="356" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.flatMap.png" alt=""> + * <img width="640" height="357" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.flatMap.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code flatMapObservable} does not operate by default on a particular {@link Scheduler}.</dd> @@ -3815,7 +3815,7 @@ public final <R> Observable<R> flatMapObservable(@NonNull Function<? super T, ? * Returns a {@link Flowable} that emits items based on applying a specified function to the item emitted by the * current {@code Maybe}, where that function returns a {@link Publisher}. * <p> - * <img width="640" height="260" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.flatMapPublisher.png" alt=""> + * <img width="640" height="261" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.flatMapPublisher.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The returned {@code Flowable} honors the downstream backpressure.</dd> @@ -3872,7 +3872,7 @@ public final <R> Single<R> flatMapSingle(@NonNull Function<? super T, ? extends * current {@code Maybe}, where that function returns a {@link Single}. * When this {@code Maybe} just completes the resulting {@code Maybe} completes as well. * <p> - * <img width="640" height="315" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.flatMapSingle.png" alt=""> + * <img width="640" height="357" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.flatMapSingle.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code flatMapSingleElement} does not operate by default on a particular {@link Scheduler}.</dd> @@ -3943,7 +3943,7 @@ public final Maybe<T> hide() { /** * Returns a {@link Completable} that ignores the item emitted by the current {@code Maybe} and only calls {@code onComplete} or {@code onError}. * <p> - * <img width="640" height="389" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.ignoreElement.png" alt=""> + * <img width="640" height="390" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.ignoreElement.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code ignoreElement} does not operate by default on a particular {@link Scheduler}.</dd> @@ -4215,7 +4215,7 @@ public final Flowable<T> mergeWith(@NonNull MaybeSource<? extends T> other) { * Wraps a {@code Maybe} to emit its item (or notify of its error) on a specified {@link Scheduler}, * asynchronously. * <p> - * <img width="640" height="182" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.observeOn.png" alt=""> + * <img width="640" height="183" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.observeOn.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>you specify which {@code Scheduler} this operator will use.</dd> @@ -5145,7 +5145,7 @@ public final void subscribe(@NonNull MaybeObserver<? super T> observer) { /** * Asynchronously subscribes subscribers to this {@code Maybe} on the specified {@link Scheduler}. * <p> - * <img width="640" height="752" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.subscribeOn.png" alt=""> + * <img width="640" height="753" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.subscribeOn.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>you specify which {@code Scheduler} this operator will use.</dd> @@ -5202,7 +5202,7 @@ public final Maybe<T> subscribeOn(@NonNull Scheduler scheduler) { * Returns a {@code Maybe} that emits the items emitted by the current {@code Maybe} or the items of an alternate * {@link MaybeSource} if the current {@code Maybe} is empty. * <p> - * <img width="640" height="445" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchifempty.m.png" alt=""> + * <img width="640" height="446" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchifempty.m.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code switchIfEmpty} does not operate by default on a particular {@link Scheduler}.</dd> @@ -5225,7 +5225,7 @@ public final Maybe<T> switchIfEmpty(@NonNull MaybeSource<? extends T> other) { * Returns a {@link Single} that emits the items emitted by the current {@code Maybe} or the item of an alternate * {@link SingleSource} if the current {@code Maybe} is empty. * <p> - * <img width="640" height="445" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchifempty.m.png" alt=""> + * <img width="640" height="446" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchifempty.m.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code switchIfEmpty} does not operate by default on a particular {@link Scheduler}.</dd> @@ -5747,7 +5747,7 @@ public final <U> Maybe<T> timeout(@NonNull Publisher<U> timeoutIndicator, @NonNu * Returns a {@code Maybe} which makes sure when a {@link MaybeObserver} disposes the {@link Disposable}, * that call is propagated up on the specified {@link Scheduler}. * <p> - * <img width="640" height="700" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.unsubscribeOn.png" alt=""> + * <img width="640" height="693" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.unsubscribeOn.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code unsubscribeOn} calls {@code dispose()} of the upstream on the {@code Scheduler} you specify.</dd> @@ -6010,7 +6010,7 @@ public final CompletionStage<T> toCompletionStage(@Nullable T defaultItem) { * Maps the upstream succecss value into a Java {@link Stream} and emits its * items to the downstream consumer as a {@link Flowable}. * <p> - * <img width="640" height="247" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flattenStreamAsFlowable.m.png" alt=""> + * <img width="640" height="246" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flattenStreamAsFlowable.m.png" alt=""> * <p> * The operator closes the {@code Stream} upon cancellation and when it terminates. The exceptions raised when * closing a {@code Stream} are routed to the global error handler ({@link RxJavaPlugins#onError(Throwable)}. @@ -6054,7 +6054,7 @@ public final <R> Flowable<R> flattenStreamAsFlowable(@NonNull Function<? super T /** * Maps the upstream succecss value into a Java {@link Stream} and emits its * items to the downstream consumer as an {@link Observable}. - * <img width="640" height="247" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flattenStreamAsObservable.m.png" alt=""> + * <img width="640" height="241" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flattenStreamAsObservable.m.png" alt=""> * <p> * The operator closes the {@code Stream} upon cancellation and when it terminates. The exceptions raised when * closing a {@code Stream} are routed to the global error handler ({@link RxJavaPlugins#onError(Throwable)}. diff --git a/src/main/java/io/reactivex/rxjava3/core/Observable.java b/src/main/java/io/reactivex/rxjava3/core/Observable.java index 6db7ce3cc1..9eeb169871 100644 --- a/src/main/java/io/reactivex/rxjava3/core/Observable.java +++ b/src/main/java/io/reactivex/rxjava3/core/Observable.java @@ -1271,7 +1271,7 @@ public static <T> Observable<T> concatArrayDelayError(@NonNull ObservableSource< /** * Concatenates an array of {@link ObservableSource}s eagerly into a single stream of values. * <p> - * <img width="640" height="410" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatArrayEager.png" alt=""> + * <img width="640" height="411" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatArrayEager.png" alt=""> * <p> * Eager concatenation means that once a subscriber subscribes, this operator subscribes to all of the * {@code ObservableSource}s. The operator buffers the values emitted by these {@code ObservableSource}s and then drains them @@ -1688,7 +1688,7 @@ public static <T> Observable<T> empty() { * Returns an {@code Observable} that invokes an {@link Observer}'s {@link Observer#onError onError} method when the * {@code Observer} subscribes to it. * <p> - * <img width="640" height="220" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/error.supplier.png" alt=""> + * <img width="640" height="221" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/error.supplier.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code error} does not operate by default on a particular {@link Scheduler}.</dd> @@ -1714,7 +1714,7 @@ public static <T> Observable<T> error(@NonNull Supplier<? extends Throwable> sup * Returns an {@code Observable} that invokes an {@link Observer}'s {@link Observer#onError onError} method when the * {@code Observer} subscribes to it. * <p> - * <img width="640" height="220" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/error.item.png" alt=""> + * <img width="640" height="221" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/error.item.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code error} does not operate by default on a particular {@link Scheduler}.</dd> @@ -1740,7 +1740,7 @@ public static <T> Observable<T> error(@NonNull Throwable throwable) { * Returns an {@code Observable} instance that runs the given {@link Action} for each subscriber and * emits either its exception or simply completes. * <p> - * <img width="640" height="286" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.fromAction.png" alt=""> + * <img width="640" height="287" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.fromAction.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code fromAction} does not operate by default on a particular {@link Scheduler}.</dd> @@ -1941,7 +1941,7 @@ public static <T> Observable<T> fromFuture(@NonNull Future<? extends T> future, /** * Converts an {@link Iterable} sequence into an {@code Observable} that emits the items in the sequence. * <p> - * <img width="640" height="186" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/fromIterable.png" alt=""> + * <img width="640" height="187" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/fromIterable.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code fromIterable} does not operate by default on a particular {@link Scheduler}.</dd> @@ -5198,7 +5198,7 @@ public static <T, R> Observable<R> zipArray( * Returns a {@link Single} that emits a {@link Boolean} that indicates whether all of the items emitted by the current * {@code Observable} satisfy a condition. * <p> - * <img width="640" height="264" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/all.o.png" alt=""> + * <img width="640" height="265" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/all.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code all} does not operate by default on a particular {@link Scheduler}.</dd> @@ -5275,7 +5275,7 @@ public final Single<Boolean> any(@NonNull Predicate<? super T> predicate) { * Returns the first item emitted by the current {@code Observable}, or throws * {@link NoSuchElementException} if it emits no items. * <p> - * <img width="640" height="412" src="https://github.com/ReactiveX/RxJava/wiki/images/rx-operators/blockingFirst.o.png" alt=""> + * <img width="640" height="413" src="https://github.com/ReactiveX/RxJava/wiki/images/rx-operators/blockingFirst.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code blockingFirst} does not operate by default on a particular {@link Scheduler}.</dd> @@ -5703,7 +5703,7 @@ public final void blockingSubscribe() { /** * Subscribes to the source and calls the given callbacks <strong>on the current thread</strong>. * <p> - * <img width="640" height="393" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/blockingSubscribe.o.1.png" alt=""> + * <img width="640" height="394" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/blockingSubscribe.o.1.png" alt=""> * <p> * If the {@code Observable} emits an error, it is wrapped into an * {@link OnErrorNotImplementedException} @@ -5732,7 +5732,7 @@ public final void blockingSubscribe(@NonNull Consumer<? super T> onNext) { /** * Subscribes to the source and calls the given callbacks <strong>on the current thread</strong>. * <p> - * <img width="640" height="396" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/blockingSubscribe.o.2.png" alt=""> + * <img width="640" height="397" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/blockingSubscribe.o.2.png" alt=""> * <p> * Note that calling this method will block the caller thread until the upstream terminates * normally or with an error. Therefore, calling this method from special threads such as the @@ -6748,7 +6748,7 @@ public final <R> Observable<R> concatMap(@NonNull Function<? super T, ? extends * while delaying any error from either this or any of the inner {@code ObservableSource}s * till all of them terminate. * <p> - * <img width="640" height="347" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapDelayError.o.png" alt=""> + * <img width="640" height="348" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapDelayError.o.png" alt=""> * <p> * Note that there is no guarantee where the given {@code mapper} function will be executed; it could be on the subscribing thread, * on the upstream thread signaling the new item to be mapped or on the thread where the inner source terminates. To ensure @@ -6777,7 +6777,7 @@ public final <R> Observable<R> concatMapDelayError(@NonNull Function<? super T, * while delaying any error from either this or any of the inner {@code ObservableSource}s * till all of them terminate. * <p> - * <img width="640" height="347" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapDelayError.o.png" alt=""> + * <img width="640" height="348" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapDelayError.o.png" alt=""> * <p> * Note that there is no guarantee where the given {@code mapper} function will be executed; it could be on the subscribing thread, * on the upstream thread signaling the new item to be mapped or on the thread where the inner source terminates. To ensure @@ -6823,7 +6823,7 @@ public final <R> Observable<R> concatMapDelayError(@NonNull Function<? super T, * while delaying any error from either this or any of the inner {@code ObservableSource}s * till all of them terminate. * <p> - * <img width="640" height="347" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapDelayError.o.png" alt=""> + * <img width="640" height="348" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapDelayError.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code concatMapDelayError} does not operate by default on a particular {@link Scheduler}.</dd> @@ -6863,7 +6863,7 @@ public final <R> Observable<R> concatMapDelayError(@NonNull Function<? super T, * current {@code Observable}s. The operator buffers the values emitted by these {@code ObservableSource}s and then drains them in * order, each one after the previous one completes. * <p> - * <img width="640" height="360" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapEager.o.png" alt=""> + * <img width="640" height="361" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapEager.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>This method does not operate by default on a particular {@link Scheduler}.</dd> @@ -6890,7 +6890,7 @@ public final <R> Observable<R> concatMapEager(@NonNull Function<? super T, ? ext * current {@code Observable}s. The operator buffers the values emitted by these {@code ObservableSource}s and then drains them in * order, each one after the previous one completes. * <p> - * <img width="640" height="360" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapEager.o.png" alt=""> + * <img width="640" height="361" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapEager.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>This method does not operate by default on a particular {@link Scheduler}.</dd> @@ -6990,7 +6990,7 @@ public final <R> Observable<R> concatMapEagerDelayError(@NonNull Function<? supe * Maps each element of the current {@code Observable} into {@link CompletableSource}s, subscribes to them one at a time in * order and waits until the upstream and all {@code CompletableSource}s complete. * <p> - * <img width="640" height="505" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapCompletable.o.png" alt=""> + * <img width="640" height="506" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapCompletable.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code concatMapCompletable} does not operate by default on a particular {@link Scheduler}.</dd> @@ -7013,7 +7013,7 @@ public final Completable concatMapCompletable(@NonNull Function<? super T, ? ext * Maps each element of the current {@code Observable} into {@link CompletableSource}s, subscribes to them one at a time in * order and waits until the upstream and all {@code CompletableSource}s complete. * <p> - * <img width="640" height="505" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapCompletable.o.png" alt=""> + * <img width="640" height="506" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/concatMapCompletable.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code concatMapCompletable} does not operate by default on a particular {@link Scheduler}.</dd> @@ -8366,7 +8366,7 @@ public final Observable<T> doAfterTerminate(@NonNull Action onAfterTerminate) { * <p>Note that the {@code onFinally} action is shared between subscriptions and as such * should be thread-safe. * <p> - * <img width="640" height="281" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/doFinally.o.png" alt=""> + * <img width="640" height="282" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/doFinally.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code doFinally} does not operate by default on a particular {@link Scheduler}.</dd> @@ -8686,7 +8686,7 @@ public final Maybe<T> elementAt(long index) { * Returns a {@link Single} that emits the item found at a specified index in a sequence of emissions from * the current {@code Observable}, or a default item if that index is out of range. * <p> - * <img width="640" height="353" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/elementAtDefault.o.png" alt=""> + * <img width="640" height="354" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/elementAtDefault.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code elementAt} does not operate by default on a particular {@link Scheduler}.</dd> @@ -8788,7 +8788,7 @@ public final Maybe<T> firstElement() { * Returns a {@link Single} that emits only the very first item emitted by the current {@code Observable}, or a default item * if the current {@code Observable} completes without emitting any items. * <p> - * <img width="640" height="286" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/first.s.png" alt=""> + * <img width="640" height="285" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/first.s.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code first} does not operate by default on a particular {@link Scheduler}.</dd> @@ -8811,7 +8811,7 @@ public final Single<T> first(@NonNull T defaultItem) { * Returns a {@link Single} that emits only the very first item emitted by the current {@code Observable} or * signals a {@link NoSuchElementException} if the current {@code Observable} is empty. * <p> - * <img width="640" height="434" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/firstOrError.o.png" alt=""> + * <img width="640" height="435" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/firstOrError.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code firstOrError} does not operate by default on a particular {@link Scheduler}.</dd> @@ -8888,7 +8888,7 @@ public final <R> Observable<R> flatMap(@NonNull Function<? super T, ? extends Ob * {@code ObservableSource}s and emitting the results of this merger, while limiting the maximum number of concurrent * subscriptions to these {@code ObservableSource}s. * <p> - * <img width="640" height="441" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapMaxConcurrency.o.png" alt=""> + * <img width="640" height="442" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapMaxConcurrency.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code flatMap} does not operate by default on a particular {@link Scheduler}.</dd> @@ -8922,7 +8922,7 @@ public final <R> Observable<R> flatMap(@NonNull Function<? super T, ? extends Ob * {@code ObservableSource}s and emitting the results of this merger, while limiting the maximum number of concurrent * subscriptions to these {@code ObservableSource}s. * <p> - * <img width="640" height="441" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapMaxConcurrency.o.png" alt=""> + * <img width="640" height="442" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapMaxConcurrency.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code flatMap} does not operate by default on a particular {@link Scheduler}.</dd> @@ -9050,7 +9050,7 @@ public final <R> Observable<R> flatMap( * {@code ObservableSource}s and emitting the results of this merger, while limiting the maximum number of concurrent * subscriptions to these {@code ObservableSource}s. * <p> - * <img width="640" height="441" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapMaxConcurrency.o.png" alt=""> + * <img width="640" height="442" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapMaxConcurrency.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code flatMap} does not operate by default on a particular {@link Scheduler}.</dd> @@ -9282,7 +9282,7 @@ public final Completable flatMapCompletable(@NonNull Function<? super T, ? exten * Maps each element of the current {@code Observable} into {@link CompletableSource}s, subscribes to them and * waits until the upstream and all {@code CompletableSource}s complete, optionally delaying all errors. * <p> - * <img width="640" height="361" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapCompletableDelayError.o.png" alt=""> + * <img width="640" height="362" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapCompletableDelayError.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code flatMapCompletable} does not operate by default on a particular {@link Scheduler}.</dd> @@ -9487,7 +9487,7 @@ public final Disposable forEach(@NonNull Consumer<? super T> onNext) { * Subscribes to the {@link ObservableSource} and calls a {@link Predicate} for each item of the current {@code Observable}, * on its emission thread, until the predicate returns {@code false}. * <p> - * <img width="640" height="272" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/forEachWhile.o.png" alt=""> + * <img width="640" height="273" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/forEachWhile.o.png" alt=""> * <p> * If the {@code Observable} emits an error, it is wrapped into an * {@link OnErrorNotImplementedException} @@ -10668,7 +10668,7 @@ public final Observable<T> onErrorReturnItem(@NonNull T item) { * Nulls out references to the upstream producer and downstream {@link Observer} if * the sequence is terminated or downstream calls {@code dispose()}. * <p> - * <img width="640" height="246" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/onTerminateDetach.o.png" alt=""> + * <img width="640" height="247" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/onTerminateDetach.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code onTerminateDetach} does not operate by default on a particular {@link Scheduler}.</dd> @@ -10923,7 +10923,7 @@ public final Observable<T> repeat(long times) { * Returns an {@code Observable} that repeats the sequence of items emitted by the current {@code Observable} until * the provided stop function returns {@code true}. * <p> - * <img width="640" height="262" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/repeatUntil.o.png" alt=""> + * <img width="640" height="263" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/repeatUntil.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code repeatUntil} does not operate by default on a particular {@link Scheduler}.</dd> @@ -11031,7 +11031,7 @@ public final <R> Observable<R> replay(@NonNull Function<? super Observable<T>, ? * Note that due to concurrency requirements, {@code replay(bufferSize)} may hold strong references to more than * {@code bufferSize} source emissions. * <p> - * <img width="640" height="391" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fn.png" alt=""> + * <img width="640" height="392" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fn.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>This version of {@code replay} does not operate by default on a particular {@link Scheduler}.</dd> @@ -11067,7 +11067,7 @@ public final <R> Observable<R> replay(@NonNull Function<? super Observable<T>, ? * Note that due to concurrency requirements, {@code replay(bufferSize)} may hold strong references to more than * {@code bufferSize} source emissions. * <p> - * <img width="640" height="391" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fn.png" alt=""> + * <img width="640" height="392" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fn.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>This version of {@code replay} does not operate by default on a particular {@link Scheduler}.</dd> @@ -11142,7 +11142,7 @@ public final <R> Observable<R> replay(@NonNull Function<? super Observable<T>, ? * Note that due to concurrency requirements, {@code replay(bufferSize)} may hold strong references to more than * {@code bufferSize} source emissions. * <p> - * <img width="640" height="328" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fnts.png" alt=""> + * <img width="640" height="329" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fnts.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>You specify which {@link Scheduler} this operator will use.</dd> @@ -11189,7 +11189,7 @@ public final <R> Observable<R> replay(@NonNull Function<? super Observable<T>, ? * Note that due to concurrency requirements, {@code replay(bufferSize)} may hold strong references to more than * {@code bufferSize} source emissions. * <p> - * <img width="640" height="328" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fnts.png" alt=""> + * <img width="640" height="329" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fnts.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>You specify which {@link Scheduler} this operator will use.</dd> @@ -11234,7 +11234,7 @@ public final <R> Observable<R> replay(@NonNull Function<? super Observable<T>, ? * emitted by a {@link ConnectableObservable} that shares a single subscription to the current {@code Observable}, * replaying all items that were emitted within a specified time window. * <p> - * <img width="640" height="393" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.ft.png" alt=""> + * <img width="640" height="394" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.ft.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>This version of {@code replay} operates by default on the {@code computation} {@link Scheduler}.</dd> @@ -11265,7 +11265,7 @@ public final <R> Observable<R> replay(@NonNull Function<? super Observable<T>, ? * emitted by a {@link ConnectableObservable} that shares a single subscription to the current {@code Observable}, * replaying all items that were emitted within a specified time window. * <p> - * <img width="640" height="366" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fts.png" alt=""> + * <img width="640" height="367" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fts.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>You specify which {@link Scheduler} this operator will use.</dd> @@ -11302,7 +11302,7 @@ public final <R> Observable<R> replay(@NonNull Function<? super Observable<T>, ? * emitted by a {@link ConnectableObservable} that shares a single subscription to the current {@code Observable}, * replaying all items that were emitted within a specified time window. * <p> - * <img width="640" height="366" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fts.png" alt=""> + * <img width="640" height="367" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/replay.o.fts.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>You specify which {@link Scheduler} this operator will use.</dd> @@ -11654,7 +11654,7 @@ public final Observable<T> retry() { * Returns an {@code Observable} that mirrors the current {@code Observable}, resubscribing to it if it calls {@code onError} * and the predicate returns {@code true} for that specific exception and retry count. * <p> - * <img width="640" height="235" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/retry.o.ne.png" alt=""> + * <img width="640" height="236" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/retry.o.ne.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code retry} does not operate by default on a particular {@link Scheduler}.</dd> @@ -11681,7 +11681,7 @@ public final Observable<T> retry(@NonNull BiPredicate<? super Integer, ? super T * Returns an {@code Observable} that mirrors the current {@code Observable}, resubscribing to it if it calls {@code onError} * up to a specified number of retries. * <p> - * <img width="640" height="325" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/retry.o.n.png" alt=""> + * <img width="640" height="327" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/retry.o.n.png" alt=""> * <p> * If the current {@code Observable} calls {@link Observer#onError}, this method will resubscribe to the current * {@code Observable} for a maximum of {@code count} resubscriptions rather than propagating the @@ -11712,7 +11712,7 @@ public final Observable<T> retry(long times) { /** * Retries at most times or until the predicate returns {@code false}, whichever happens first. * <p> - * <img width="640" height="269" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/retry.o.nfe.png" alt=""> + * <img width="640" height="270" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/retry.o.nfe.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code retry} does not operate by default on a particular {@link Scheduler}.</dd> @@ -11738,7 +11738,7 @@ public final Observable<T> retry(long times, @NonNull Predicate<? super Throwabl /** * Retries the current {@code Observable} if the predicate returns {@code true}. * <p> - * <img width="640" height="248" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/retry.o.e.png" alt=""> + * <img width="640" height="249" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/retry.o.e.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code retry} does not operate by default on a particular {@link Scheduler}.</dd> @@ -11758,7 +11758,7 @@ public final Observable<T> retry(@NonNull Predicate<? super Throwable> predicate /** * Retries until the given stop function returns {@code true}. * <p> - * <img width="640" height="261" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/retryUntil.o.png" alt=""> + * <img width="640" height="262" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/retryUntil.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code retryUntil} does not operate by default on a particular {@link Scheduler}.</dd> @@ -11911,7 +11911,7 @@ public final Observable<T> sample(long period, @NonNull TimeUnit unit) { * Returns an {@code Observable} that emits the most recently emitted item (if any) emitted by the current {@code Observable} * within periodic time intervals and optionally emit the very last upstream item when the upstream completes. * <p> - * <img width="640" height="276" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.emitlast.png" alt=""> + * <img width="640" height="277" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.emitlast.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code sample} operates by default on the {@code computation} {@link Scheduler}.</dd> @@ -11974,7 +11974,7 @@ public final Observable<T> sample(long period, @NonNull TimeUnit unit, @NonNull * within periodic time intervals, where the intervals are defined on a particular {@link Scheduler} * and optionally emit the very last upstream item when the upstream completes. * <p> - * <img width="640" height="276" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.s.emitlast.png" alt=""> + * <img width="640" height="277" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.s.emitlast.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>You specify which {@code Scheduler} this operator will use.</dd> @@ -12011,7 +12011,7 @@ public final Observable<T> sample(long period, @NonNull TimeUnit unit, @NonNull * emits the most recently emitted item (if any) emitted by the current {@code Observable} since the previous * emission from the {@code sampler} {@code ObservableSource}. * <p> - * <img width="640" height="289" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.o.nolast.png" alt=""> + * <img width="640" height="290" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.o.nolast.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>This version of {@code sample} does not operate by default on a particular {@link Scheduler}.</dd> @@ -12038,7 +12038,7 @@ public final <U> Observable<T> sample(@NonNull ObservableSource<U> sampler) { * emission from the {@code sampler} {@code ObservableSource} * and optionally emit the very last upstream item when the upstream or other {@code ObservableSource} complete. * <p> - * <img width="640" height="289" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.o.emitlast.png" alt=""> + * <img width="640" height="290" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/sample.o.emitlast.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>This version of {@code sample} does not operate by default on a particular {@link Scheduler}.</dd> @@ -12283,7 +12283,7 @@ public final Single<T> single(@NonNull T defaultItem) { * if the current {@code Observable} completes without emitting any items or emits more than one item a * {@link NoSuchElementException} or {@link IllegalArgumentException} will be signaled respectively. * <p> - * <img width="640" height="228" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/singleOrError.png" alt=""> + * <img width="640" height="206" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/singleOrError.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code singleOrError} does not operate by default on a particular {@link Scheduler}.</dd> @@ -12708,7 +12708,7 @@ public final Observable<T> startWithIterable(@NonNull Iterable<@NonNull ? extend * Returns an {@code Observable} which first runs the other {@link CompletableSource} * then the current {@code Observable} if the other completed normally. * <p> - * <img width="640" height="437" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Observable.startWith.c.png" alt=""> + * <img width="640" height="268" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Observable.startWith.c.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code startWith} does not operate by default on a particular {@link Scheduler}.</dd> @@ -13052,7 +13052,7 @@ public final Observable<T> subscribeOn(@NonNull Scheduler scheduler) { * Returns an {@code Observable} that emits the items emitted by the current {@code Observable} or the items of an alternate * {@link ObservableSource} if the current {@code Observable} is empty. * <p> - * <img width="640" height="255" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchifempty.png" alt=""> + * <img width="640" height="256" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchifempty.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code switchIfEmpty} does not operate by default on a particular {@link Scheduler}.</dd> @@ -13150,7 +13150,7 @@ public final <R> Observable<R> switchMap(@NonNull Function<? super T, ? extends * disposing the subscription to the previous {@code CompletableSource}, thus keeping at most one * active {@code CompletableSource} running. * <p> - * <img width="640" height="521" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchMapCompletable.f.png" alt=""> + * <img width="640" height="522" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchMapCompletable.f.png" alt=""> * <p> * Since a {@code CompletableSource} doesn't produce any items, the resulting reactive type of * this operator is a {@link Completable} that can only indicate successful completion or @@ -13238,7 +13238,7 @@ public final Completable switchMapCompletableDelayError(@NonNull Function<? supe * available while failing immediately if the current {@code Observable} or any of the * active inner {@code MaybeSource}s fail. * <p> - * <img width="640" height="350" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchMap.o.png" alt=""> + * <img width="640" height="531" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchMapMaybe.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code switchMapMaybe} does not operate by default on a particular {@link Scheduler}.</dd> @@ -13275,7 +13275,7 @@ public final <R> Observable<R> switchMapMaybe(@NonNull Function<? super T, ? ext * while disposing the older ones (and ignoring their signals) and emits the latest success value of the current one if * available, delaying errors from the current {@code Observable} or the inner {@code MaybeSource}s until all terminate. * <p> - * <img width="640" height="350" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchMap.png" alt=""> + * <img width="640" height="469" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchMapMaybeDelayError.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code switchMapMaybeDelayError} does not operate by default on a particular {@link Scheduler}.</dd> @@ -13306,7 +13306,7 @@ public final <R> Observable<R> switchMapMaybeDelayError(@NonNull Function<? supe * The resulting {@code Observable} completes if both the current {@code Observable} and the last inner {@code SingleSource}, if any, complete. * If the current {@code Observable} signals an {@code onError}, the inner {@code SingleSource} is disposed and the error delivered in-sequence. * <p> - * <img width="640" height="531" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchMapSingle.o.png" alt=""> + * <img width="640" height="532" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/switchMapSingle.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code switchMapSingle} does not operate by default on a particular {@link Scheduler}.</dd> @@ -14030,7 +14030,7 @@ public final Observable<T> throttleLast(long intervalDuration, @NonNull TimeUnit * item from upstream, then periodically emitting the latest item (if any) when * the specified timeout elapses between them. * <p> - * <img width="640" height="325" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.png" alt=""> + * <img width="640" height="326" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.png" alt=""> * <p> * Unlike the option with {@link #throttleLatest(long, TimeUnit, boolean)}, the very last item being held back * (if any) is not emitted when the upstream completes. @@ -14063,7 +14063,7 @@ public final Observable<T> throttleLatest(long timeout, @NonNull TimeUnit unit) * item from upstream, then periodically emitting the latest item (if any) when * the specified timeout elapses between them. * <p> - * <img width="640" height="325" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.e.png" alt=""> + * <img width="640" height="326" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.e.png" alt=""> * <p> * If no items were emitted from the upstream during this timeout phase, the next * upstream item is emitted immediately and the timeout window starts from then. @@ -14096,7 +14096,7 @@ public final Observable<T> throttleLatest(long timeout, @NonNull TimeUnit unit, * item from upstream, then periodically emitting the latest item (if any) when * the specified timeout elapses between them. * <p> - * <img width="640" height="325" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.s.png" alt=""> + * <img width="640" height="326" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.s.png" alt=""> * <p> * Unlike the option with {@link #throttleLatest(long, TimeUnit, Scheduler, boolean)}, the very last item being held back * (if any) is not emitted when the upstream completes. @@ -14130,7 +14130,7 @@ public final Observable<T> throttleLatest(long timeout, @NonNull TimeUnit unit, * item from upstream, then periodically emitting the latest item (if any) when * the specified timeout elapses between them. * <p> - * <img width="640" height="325" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.se.png" alt=""> + * <img width="640" height="326" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/throttleLatest.se.png" alt=""> * <p> * If no items were emitted from the upstream during this timeout phase, the next * upstream item is emitted immediately and the timeout window starts from then. @@ -15085,7 +15085,7 @@ public final <K, V> Single<Map<K, V>> toMap( * </li> * <li>{@link BackpressureStrategy#LATEST} * <p> - * <img width="640" height="296" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/toFlowable.o.latest.png" alt=""> + * <img width="640" height="297" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/toFlowable.o.latest.png" alt=""> * </li> * <li>{@link BackpressureStrategy#ERROR} * <p> @@ -15093,7 +15093,7 @@ public final <K, V> Single<Map<K, V>> toMap( * </li> * <li>{@link BackpressureStrategy#MISSING} * <p> - * <img width="640" height="411" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/toFlowable.o.missing.png" alt=""> + * <img width="640" height="412" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/toFlowable.o.missing.png" alt=""> * </li> * </ul> * <dl> @@ -15259,7 +15259,7 @@ public final Flowable<T> toFlowable(@NonNull BackpressureStrategy strategy) { * Return an {@code Observable} that schedules the downstream {@link Observer}s' {@code dispose} calls * aimed at the current {@code Observable} on the given {@link Scheduler}. * <p> - * <img width="640" height="452" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/unsubscribeOn.o.png" alt=""> + * <img width="640" height="453" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/unsubscribeOn.o.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>You specify which {@code Scheduler} this operator will use.</dd> diff --git a/src/main/java/io/reactivex/rxjava3/core/Single.java b/src/main/java/io/reactivex/rxjava3/core/Single.java index 12431fedb6..10e7b48542 100644 --- a/src/main/java/io/reactivex/rxjava3/core/Single.java +++ b/src/main/java/io/reactivex/rxjava3/core/Single.java @@ -120,7 +120,7 @@ public abstract class Single<@NonNull T> implements SingleSource<T> { * Runs multiple {@link SingleSource}s and signals the events of the first one that signals (disposing * the rest). * <p> - * <img width="640" height="515" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.amb.png" alt=""> + * <img width="640" height="516" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.amb.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code amb} does not operate by default on a particular {@link Scheduler}.</dd> @@ -144,7 +144,7 @@ public static <T> Single<T> amb(@NonNull Iterable<@NonNull ? extends SingleSourc * Runs multiple {@link SingleSource}s and signals the events of the first one that signals (disposing * the rest). * <p> - * <img width="640" height="515" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.ambArray.png" alt=""> + * <img width="640" height="516" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.ambArray.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code ambArray} does not operate by default on a particular {@link Scheduler}.</dd> @@ -226,7 +226,7 @@ public static <T> Observable<T> concat(@NonNull ObservableSource<? extends Singl * Concatenate the single values, in a non-overlapping fashion, of the {@link SingleSource}s provided by * a {@link Publisher} sequence. * <p> - * <img width="640" height="308" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.concat.p.png" alt=""> + * <img width="640" height="309" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.concat.p.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The returned {@link Flowable} honors the backpressure of the downstream consumer @@ -1712,7 +1712,7 @@ public static <T> Flowable<T> switchOnNext(@NonNull Publisher<@NonNull ? extends * exposing the success items as a {@link Flowable} sequence and delaying all errors from * all of them until all terminate. * <p> - * <img width="640" height="425" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.switchOnNextDelayError.png" alt=""> + * <img width="640" height="423" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Maybe.switchOnNextDelayError.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The {@code sources} {@code Publisher} is consumed in an unbounded manner (requesting {@link Long#MAX_VALUE}). @@ -1912,7 +1912,7 @@ public static <T, R> Single<R> zip(@NonNull Iterable<@NonNull ? extends SingleSo * Returns a {@code Single} that emits the results of a specified combiner function applied to two items emitted by * two other {@link SingleSource}s. * <p> - * <img width="640" height="414" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> + * <img width="640" height="434" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code zip} does not operate by default on a particular {@link Scheduler}.</dd> @@ -1949,7 +1949,7 @@ public static <T1, T2, R> Single<R> zip( * Returns a {@code Single} that emits the results of a specified combiner function applied to three items emitted * by three other {@link SingleSource}s. * <p> - * <img width="640" height="414" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> + * <img width="640" height="434" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code zip} does not operate by default on a particular {@link Scheduler}.</dd> @@ -1991,7 +1991,7 @@ public static <T1, T2, T3, R> Single<R> zip( * Returns a {@code Single} that emits the results of a specified combiner function applied to four items * emitted by four other {@link SingleSource}s. * <p> - * <img width="640" height="414" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> + * <img width="640" height="434" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code zip} does not operate by default on a particular {@link Scheduler}.</dd> @@ -2037,7 +2037,7 @@ public static <T1, T2, T3, T4, R> Single<R> zip( * Returns a {@code Single} that emits the results of a specified combiner function applied to five items * emitted by five other {@link SingleSource}s. * <p> - * <img width="640" height="414" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> + * <img width="640" height="434" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code zip} does not operate by default on a particular {@link Scheduler}.</dd> @@ -2089,7 +2089,7 @@ public static <T1, T2, T3, T4, T5, R> Single<R> zip( * Returns a {@code Single} that emits the results of a specified combiner function applied to six items * emitted by six other {@link SingleSource}s. * <p> - * <img width="640" height="414" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> + * <img width="640" height="434" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code zip} does not operate by default on a particular {@link Scheduler}.</dd> @@ -2145,7 +2145,7 @@ public static <T1, T2, T3, T4, T5, T6, R> Single<R> zip( * Returns a {@code Single} that emits the results of a specified combiner function applied to seven items * emitted by seven other {@link SingleSource}s. * <p> - * <img width="640" height="414" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> + * <img width="640" height="434" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code zip} does not operate by default on a particular {@link Scheduler}.</dd> @@ -2206,7 +2206,7 @@ public static <T1, T2, T3, T4, T5, T6, T7, R> Single<R> zip( * Returns a {@code Single} that emits the results of a specified combiner function applied to eight items * emitted by eight other {@link SingleSource}s. * <p> - * <img width="640" height="414" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> + * <img width="640" height="434" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code zip} does not operate by default on a particular {@link Scheduler}.</dd> @@ -2271,7 +2271,7 @@ public static <T1, T2, T3, T4, T5, T6, T7, T8, R> Single<R> zip( * Returns a {@code Single} that emits the results of a specified combiner function applied to nine items * emitted by nine other {@link SingleSource}s. * <p> - * <img width="640" height="414" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> + * <img width="640" height="434" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.zip.n.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code zip} does not operate by default on a particular {@link Scheduler}.</dd> @@ -2900,7 +2900,7 @@ public final Single<T> delaySubscription(long time, @NonNull TimeUnit unit, @Non /** * Calls the specified consumer with the success item after this item has been emitted to the downstream. * <p> - * <img width="640" height="460" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.doAfterSuccess.png" alt=""> + * <img width="640" height="461" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.doAfterSuccess.png" alt=""> * <p> * Note that the {@code doAfterSuccess} action is shared between subscriptions and as such * should be thread-safe. @@ -2925,7 +2925,7 @@ public final Single<T> doAfterSuccess(@NonNull Consumer<? super T> onAfterSucces /** * Registers an {@link Action} to be called after this {@code Single} invokes either {@code onSuccess} or {@code onError}. * <p> - * <img width="640" height="460" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.doAfterTerminate.png" alt=""> + * <img width="640" height="461" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.doAfterTerminate.png" alt=""> * <p> * Note that the {@code doAfterTerminate} action is shared between subscriptions and as such * should be thread-safe.</p> @@ -3319,7 +3319,7 @@ public final <U> Flowable<U> flattenAsFlowable(@NonNull Function<? super T, ? ex * Returns an {@link Observable} that is based on applying a specified function to the item emitted by the current {@code Single}, * where that function returns an {@link ObservableSource}. * <p> - * <img width="640" height="300" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.flatMapObservable.png" alt=""> + * <img width="640" height="305" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.flatMapObservable.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code flatMapObservable} does not operate by default on a particular {@link Scheduler}.</dd> @@ -3692,7 +3692,7 @@ public final Single<Notification<T>> materialize() { * Signals {@code true} if the current {@code Single} signals a success value that is {@link Object#equals(Object)} with the value * provided. * <p> - * <img width="640" height="400" src="https://raw.githubusercontent.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.contains.png" alt=""> + * <img width="640" height="401" src="https://raw.githubusercontent.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.contains.png" alt=""> * <p> * <img width="640" height="401" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.contains.png" alt=""> * <dl> @@ -3739,7 +3739,7 @@ public final Single<Boolean> contains(@NonNull Object item, @NonNull BiPredicate /** * Flattens this {@code Single} and another {@link SingleSource} into one {@link Flowable}, without any transformation. * <p> - * <img width="640" height="415" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.mergeWith.png" alt=""> + * <img width="640" height="416" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.mergeWith.png" alt=""> * <p> * You can combine items emitted by multiple {@code SingleSource}s so that they appear as one {@code Flowable}, by using * the {@code mergeWith} method. @@ -3819,7 +3819,7 @@ public final Single<T> observeOn(@NonNull Scheduler scheduler) { * Ends the flow with a success item returned by a function for the {@link Throwable} error signaled by the current * {@code Single} instead of signaling the error via {@code onError}. * <p> - * <img width="640" height="451" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.onErrorReturn.png" alt=""> + * <img width="640" height="461" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.onErrorReturn.png" alt=""> * <p> * By default, when a {@code Single} encounters an error that prevents it from emitting the expected item to its * subscriber, the {@code Single} invokes its subscriber's {@link SingleObserver#onError} method, and then quits @@ -3853,7 +3853,7 @@ public final Single<T> onErrorReturn(@NonNull Function<Throwable, ? extends T> i /** * Signals the specified value as success in case the current {@code Single} signals an error. * <p> - * <img width="640" height="451" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.onErrorReturnItem.png" alt=""> + * <img width="640" height="461" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.onErrorReturnItem.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code onErrorReturnItem} does not operate by default on a particular {@link Scheduler}.</dd> @@ -3875,7 +3875,7 @@ public final Single<T> onErrorReturnItem(@NonNull T item) { * Resumes the flow with the given {@link SingleSource} when the current {@code Single} fails instead of * signaling the error via {@code onError}. * <p> - * <img width="640" height="451" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.onErrorResumeWith.png" alt=""> + * <img width="640" height="461" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.onErrorResumeWith.png" alt=""> * <p> * By default, when a {@code Single} encounters an error that prevents it from emitting the expected item to * its {@link SingleObserver}, the {@code Single} invokes its {@code SingleObserver}'s {@code onError} method, and then quits @@ -3930,7 +3930,7 @@ public final Maybe<T> onErrorComplete() { * Returns a {@link Maybe} instance that if this {@code Single} emits an error and the predicate returns * {@code true}, it will emit an {@code onComplete} and swallow the throwable. * <p> - * <img width="640" height="220" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.onErrorComplete.f.png" alt=""> + * <img width="640" height="270" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.onErrorComplete.f.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code onErrorComplete} does not operate by default on a particular {@link Scheduler}.</dd> @@ -3954,7 +3954,7 @@ public final Maybe<T> onErrorComplete(@NonNull Predicate<? super Throwable> pred * Resumes the flow with a {@link SingleSource} returned for the failure {@link Throwable} of the current {@code Single} by a * function instead of signaling the error via {@code onError}. * <p> - * <img width="640" height="451" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.onErrorResumeNext.f.png" alt=""> + * <img width="640" height="461" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.onErrorResumeNext.f.png" alt=""> * <p> * By default, when a {@code Single} encounters an error that prevents it from emitting the expected item to * its {@link SingleObserver}, the {@code Single} invokes its {@code SingleObserver}'s {@code onError} method, and then quits @@ -4012,7 +4012,7 @@ public final Single<T> onTerminateDetach() { /** * Repeatedly re-subscribes to the current {@code Single} and emits each success value as a {@link Flowable} sequence. * <p> - * <img width="640" height="457" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.repeat.png" alt=""> + * <img width="640" height="463" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.repeat.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The returned {@code Flowable} honors the backpressure of the downstream consumer.</dd> @@ -4033,7 +4033,7 @@ public final Flowable<T> repeat() { /** * Re-subscribes to the current {@code Single} at most the given number of times and emits each success value as a {@link Flowable} sequence. * <p> - * <img width="640" height="457" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.repeat.n.png" alt=""> + * <img width="640" height="463" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.repeat.n.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The returned {@code Flowable} honors the backpressure of the downstream consumer.</dd> @@ -4058,7 +4058,7 @@ public final Flowable<T> repeat(long times) { * the {@link Publisher} returned by the handler function signals a value in response to a * value signaled through the {@link Flowable} the handler receives. * <p> - * <img width="640" height="1478" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.repeatWhen.png" alt=""> + * <img width="640" height="1480" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.repeatWhen.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The returned {@code Flowable} honors the backpressure of the downstream consumer. @@ -4951,7 +4951,7 @@ public final <E> Single<T> takeUntil(@NonNull SingleSource<? extends E> other) { * Signals a {@link TimeoutException} if the current {@code Single} doesn't signal a success value within the * specified timeout window. * <p> - * <img width="640" height="364" src="https://raw.githubusercontent.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.timeout.png" alt=""> + * <img width="640" height="334" src="https://raw.githubusercontent.com/wiki/ReactiveX/RxJava/images/rx-operators/Single.timeout.png" alt=""> * <dl> * <dt><b>Scheduler:</b></dt> * <dd>{@code timeout} signals the {@code TimeoutException} on the {@code computation} {@link Scheduler}.</dd> @@ -5428,7 +5428,7 @@ public final <R> Flowable<R> flattenStreamAsFlowable(@NonNull Function<? super T * Maps the upstream succecss value into a Java {@link Stream} and emits its * items to the downstream consumer as an {@link Observable}. * <p> - * <img width="640" height="247" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flattenStreamAsObservable.s.png" alt=""> + * <img width="640" height="241" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flattenStreamAsObservable.s.png" alt=""> * <p> * The operator closes the {@code Stream} upon cancellation and when it terminates. The exceptions raised when * closing a {@code Stream} are routed to the global error handler ({@link RxJavaPlugins#onError(Throwable)}. diff --git a/src/main/java/io/reactivex/rxjava3/parallel/ParallelFlowable.java b/src/main/java/io/reactivex/rxjava3/parallel/ParallelFlowable.java index 403f69b1a0..58152e2400 100644 --- a/src/main/java/io/reactivex/rxjava3/parallel/ParallelFlowable.java +++ b/src/main/java/io/reactivex/rxjava3/parallel/ParallelFlowable.java @@ -1394,7 +1394,7 @@ public final <R> ParallelFlowable<R> concatMapDelayError( * Returns a {@code ParallelFlowable} that merges each item emitted by the source on each rail with the values in an * {@link Iterable} corresponding to that item that is generated by a selector. * <p> - * <img width="640" height="310" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapIterable.f.png" alt=""> + * <img width="640" height="342" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapIterable.f.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The operator honors backpressure from each downstream rail. The source {@code ParallelFlowable}s is @@ -1427,7 +1427,7 @@ public final <U> ParallelFlowable<U> flatMapIterable(@NonNull Function<? super T * Returns a {@code ParallelFlowable} that merges each item emitted by the source {@code ParallelFlowable} with the values in an * {@link Iterable} corresponding to that item that is generated by a selector. * <p> - * <img width="640" height="310" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapIterable.f.png" alt=""> + * <img width="640" height="342" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/flatMapIterable.f.png" alt=""> * <dl> * <dt><b>Backpressure:</b></dt> * <dd>The operator honors backpressure from each downstream rail. The source {@code ParallelFlowable}s is diff --git a/src/test/java/io/reactivex/rxjava3/internal/util/MarbleDimensions.java b/src/test/java/io/reactivex/rxjava3/internal/util/MarbleDimensions.java new file mode 100644 index 0000000000..5c0886ea9d --- /dev/null +++ b/src/test/java/io/reactivex/rxjava3/internal/util/MarbleDimensions.java @@ -0,0 +1,106 @@ +/** + * Copyright (c) 2016-present, RxJava Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is + * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See + * the License for the specific language governing permissions and limitations under the License. + */ +package io.reactivex.rxjava3.internal.util; + +import java.awt.image.BufferedImage; +import java.io.*; +import java.net.URL; +import java.nio.file.Files; +import java.util.*; +import java.util.regex.*; + +import javax.imageio.ImageIO; + +import io.reactivex.rxjava3.core.*; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.parallel.ParallelFlowable; +import io.reactivex.rxjava3.testsupport.TestHelper; + +/** + * Parses the main sources, locates the {@code <img>} tags, downloads + * the referenced image and checks if the scaled dimensions are correct. + */ +public final class MarbleDimensions { + + /** Helper program. */ + private MarbleDimensions() { + throw new IllegalStateException("No instances!"); + } + + public static void main(String[] args) throws Throwable { + Pattern p = Pattern.compile("\\s*\\*\\s*\\<img\\s+width\\=('|\")(\\d+)('|\")\\s+height\\=('|\")(\\d+)('|\")\\s+src\\=('|\")(.+?)('|\").*"); + + Map<String, Integer[]> dimensions = new HashMap<>(); + + for (Class<?> clazz : CLASSES) { + String simpleName = clazz.getSimpleName(); + System.out.println(simpleName); + System.out.println("----"); + String packageName = clazz.getPackage().getName(); + + File f = TestHelper.findSource(clazz.getSimpleName(), packageName); + if (f == null) { + System.err.println("Unable to locate " + clazz); + continue; + } + + List<String> lines = Files.readAllLines(f.toPath()); + + for (int i = 0; i < lines.size(); i++) { + Matcher m = p.matcher(lines.get(i)); + if (m.matches()) { + int width = Integer.parseInt(m.group(2)); + int height = Integer.parseInt(m.group(5)); + String url = m.group(8); + + Integer[] imageDim = dimensions.get(url); + if (imageDim == null) { + Thread.sleep(SLEEP_PER_IMAGE_MILLIS); + + try { + BufferedImage bimg = ImageIO.read(new URL(url)); + + if (bimg == null) { + throw new IOException("not found"); + } + imageDim = new Integer[] { 0, 0 }; + imageDim[0] = bimg.getWidth(); + imageDim[1] = bimg.getHeight(); + + dimensions.put(url, imageDim); + } catch (IOException ex) { + System.err.printf("%s => %s%n", url, ex); + System.err.printf(" at %s.%s.method(%s.java:%d)%n", packageName, simpleName, simpleName, i + 1); + } + } + + if (imageDim != null) { + int expectedHeight = (int)Math.round(1.0 * width / imageDim[0] * imageDim[1]); + + if (expectedHeight != height) { + System.out.printf(" %d => %d%n", height, expectedHeight); + System.out.printf(" at %s.%s.method(%s.java:%d)%n", packageName, simpleName, simpleName, i + 1); + } + } + // System.out.printf("%d: %d x %d => %s%n", i + 1, width, height, url); + } + } + } + } + + static final int SLEEP_PER_IMAGE_MILLIS = 100; + + static final Class<?>[] CLASSES = { + Flowable.class, Observable.class, Maybe.class, Single.class, Completable.class, ParallelFlowable.class + }; +}