RxJava flatMap with Observable.just () and one argument

I am using RxJava and I have a problem to understand flatMap.

Observable.just(1) .flatMap( item -> Observable.just(item + 1), e -> Observable.error(e), () -> Observable.never()) .subscribe( i -> { Log.d(TAG, "Got " + i); }, e -> { Log.d(TAG, "RxJava ERROR", e); }); 

not working with

 java.lang.NullPointerException: Attempt to invoke virtual method 'void rx.internal.operators.OperatorMapNotification$SingleEmitter.offer(java.lang.Object)' on a null object reference at rx.internal.operators.OperatorMapNotification$1.onNext(OperatorMapNotification.java:82) at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:46) at rx.internal.util.ScalarSynchronousObservable$1.call(ScalarSynchronousObservable.java:35) at rx.Observable$1.call(Observable.java:145) at rx.Observable$1.call(Observable.java:137) at rx.Observable$1.call(Observable.java:145) at rx.Observable$1.call(Observable.java:137) at rx.Observable.subscribe(Observable.java:7803) at rx.Observable.subscribe(Observable.java:7579) 

Same code, but with Observable.just (1,2,3) just works fine

 Got 2 Got 3 Got 4 

Is this a mistake or why does RxJava behave differently with just one argument? RxJava Version 1.0.13

+4
source share
1 answer

This is a bug with 1.0.13 and 1.0.14. The fix will be available from 1.0.15 (no date yet).

0
source

All Articles