97
97
import rx .operators .OperationToObservableFuture ;
98
98
import rx .operators .OperationUsing ;
99
99
import rx .operators .OperationWindow ;
100
- import rx .operators .OperationZip ;
100
+ import rx .operators .OperatorZip ;
101
101
import rx .operators .OperatorCast ;
102
102
import rx .operators .OperatorFromIterable ;
103
103
import rx .operators .OperatorGroupBy ;
108
108
import rx .operators .OperatorTimestamp ;
109
109
import rx .operators .OperatorToObservableList ;
110
110
import rx .operators .OperatorToObservableSortedList ;
111
+ import rx .operators .OperatorZipIterable ;
111
112
import rx .plugins .RxJavaObservableExecutionHook ;
112
113
import rx .plugins .RxJavaPlugins ;
113
114
import rx .schedulers .Schedulers ;
@@ -1611,11 +1612,9 @@ public final static Observable<Long> interval(long interval, TimeUnit unit, Sche
1611
1612
* the type of that item
1612
1613
* @return an Observable that emits {@code value} as a single item and then completes
1613
1614
* @see <a href="https://github.com/Netflix/RxJava/wiki/Creating-Observables#wiki-just">RxJava Wiki: just()</a>
1614
- * @deprecated Use {@link #from(T)}
1615
1615
*/
1616
- @ Deprecated
1617
1616
public final static <T > Observable <T > just (T value ) {
1618
- return from (Arrays .asList (( value ) ));
1617
+ return from (Arrays .asList (value ));
1619
1618
}
1620
1619
1621
1620
/**
@@ -3024,7 +3023,11 @@ public final static <R> Observable<R> when(Plan0<R> p1, Plan0<R> p2, Plan0<R> p3
3024
3023
* @see <a href="https://github.com/Netflix/RxJava/wiki/Combining-Observables#wiki-zip">RxJava Wiki: zip()</a>
3025
3024
*/
3026
3025
public final static <R > Observable <R > zip (Iterable <? extends Observable <?>> ws , FuncN <? extends R > zipFunction ) {
3027
- return create (OperationZip .zip (ws , zipFunction ));
3026
+ List <Observable <?>> os = new ArrayList <Observable <?>>();
3027
+ for (Observable <?> o : ws ) {
3028
+ os .add (o );
3029
+ }
3030
+ return Observable .just (os .toArray (new Observable <?>[os .size ()])).lift (new OperatorZip <R >(zipFunction ));
3028
3031
}
3029
3032
3030
3033
/**
@@ -3053,12 +3056,14 @@ public final static <R> Observable<R> zip(Iterable<? extends Observable<?>> ws,
3053
3056
* @see <a href="https://github.com/Netflix/RxJava/wiki/Combining-Observables#wiki-zip">RxJava Wiki: zip()</a>
3054
3057
*/
3055
3058
public final static <R > Observable <R > zip (Observable <? extends Observable <?>> ws , final FuncN <? extends R > zipFunction ) {
3056
- return ws .toList ().mergeMap (new Func1 <List <? extends Observable <?>>, Observable <? extends R >>() {
3059
+ return ws .toList ().map (new Func1 <List <? extends Observable <?>>, Observable <?>[]>() {
3060
+
3057
3061
@ Override
3058
- public final Observable <R > call (List <? extends Observable <?>> wsList ) {
3059
- return create ( OperationZip . zip ( wsList , zipFunction ) );
3062
+ public Observable <?>[] call (List <? extends Observable <?>> o ) {
3063
+ return o . toArray ( new Observable <?>[ o . size ()] );
3060
3064
}
3061
- });
3065
+
3066
+ }).lift (new OperatorZip <R >(zipFunction ));
3062
3067
}
3063
3068
3064
3069
/**
@@ -3084,8 +3089,8 @@ public final Observable<R> call(List<? extends Observable<?>> wsList) {
3084
3089
* @return an Observable that emits the zipped results
3085
3090
* @see <a href="https://github.com/Netflix/RxJava/wiki/Combining-Observables#wiki-zip">RxJava Wiki: zip()</a>
3086
3091
*/
3087
- public final static <T1 , T2 , R > Observable <R > zip (Observable <? extends T1 > o1 , Observable <? extends T2 > o2 , Func2 <? super T1 , ? super T2 , ? extends R > zipFunction ) {
3088
- return create ( OperationZip . zip ( o1 , o2 , zipFunction ));
3092
+ public final static <T1 , T2 , R > Observable <R > zip (Observable <? extends T1 > o1 , Observable <? extends T2 > o2 , final Func2 <? super T1 , ? super T2 , ? extends R > zipFunction ) {
3093
+ return just ( new Observable <?>[] { o1 , o2 }). lift ( new OperatorZip < R >( zipFunction ));
3089
3094
}
3090
3095
3091
3096
/**
@@ -3115,7 +3120,7 @@ public final static <T1, T2, R> Observable<R> zip(Observable<? extends T1> o1, O
3115
3120
* @see <a href="https://github.com/Netflix/RxJava/wiki/Combining-Observables#wiki-zip">RxJava Wiki: zip()</a>
3116
3121
*/
3117
3122
public final static <T1 , T2 , T3 , R > Observable <R > zip (Observable <? extends T1 > o1 , Observable <? extends T2 > o2 , Observable <? extends T3 > o3 , Func3 <? super T1 , ? super T2 , ? super T3 , ? extends R > zipFunction ) {
3118
- return create ( OperationZip . zip ( o1 , o2 , o3 , zipFunction ));
3123
+ return just ( new Observable <?>[] { o1 , o2 , o3 }). lift ( new OperatorZip < R >( zipFunction ));
3119
3124
}
3120
3125
3121
3126
/**
@@ -3147,7 +3152,7 @@ public final static <T1, T2, T3, R> Observable<R> zip(Observable<? extends T1> o
3147
3152
* @see <a href="https://github.com/Netflix/RxJava/wiki/Combining-Observables#wiki-zip">RxJava Wiki: zip()</a>
3148
3153
*/
3149
3154
public final static <T1 , T2 , T3 , T4 , R > Observable <R > zip (Observable <? extends T1 > o1 , Observable <? extends T2 > o2 , Observable <? extends T3 > o3 , Observable <? extends T4 > o4 , Func4 <? super T1 , ? super T2 , ? super T3 , ? super T4 , ? extends R > zipFunction ) {
3150
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , zipFunction ));
3155
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 }). lift ( new OperatorZip < R >( zipFunction ));
3151
3156
}
3152
3157
3153
3158
/**
@@ -3181,7 +3186,7 @@ public final static <T1, T2, T3, T4, R> Observable<R> zip(Observable<? extends T
3181
3186
* @see <a href="https://github.com/Netflix/RxJava/wiki/Combining-Observables#wiki-zip">RxJava Wiki: zip()</a>
3182
3187
*/
3183
3188
public final static <T1 , T2 , T3 , T4 , T5 , R > Observable <R > zip (Observable <? extends T1 > o1 , Observable <? extends T2 > o2 , Observable <? extends T3 > o3 , Observable <? extends T4 > o4 , Observable <? extends T5 > o5 , Func5 <? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? extends R > zipFunction ) {
3184
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , o5 , zipFunction ));
3189
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 , o5 }). lift ( new OperatorZip < R >( zipFunction ));
3185
3190
}
3186
3191
3187
3192
/**
@@ -3217,7 +3222,7 @@ public final static <T1, T2, T3, T4, T5, R> Observable<R> zip(Observable<? exten
3217
3222
*/
3218
3223
public final static <T1 , T2 , T3 , T4 , T5 , T6 , R > Observable <R > zip (Observable <? extends T1 > o1 , Observable <? extends T2 > o2 , Observable <? extends T3 > o3 , Observable <? extends T4 > o4 , Observable <? extends T5 > o5 , Observable <? extends T6 > o6 ,
3219
3224
Func6 <? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? super T6 , ? extends R > zipFunction ) {
3220
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , o5 , o6 , zipFunction ));
3225
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 , o5 , o6 }). lift ( new OperatorZip < R >( zipFunction ));
3221
3226
}
3222
3227
3223
3228
/**
@@ -3255,7 +3260,7 @@ public final static <T1, T2, T3, T4, T5, T6, R> Observable<R> zip(Observable<? e
3255
3260
*/
3256
3261
public final static <T1 , T2 , T3 , T4 , T5 , T6 , T7 , R > Observable <R > zip (Observable <? extends T1 > o1 , Observable <? extends T2 > o2 , Observable <? extends T3 > o3 , Observable <? extends T4 > o4 , Observable <? extends T5 > o5 , Observable <? extends T6 > o6 , Observable <? extends T7 > o7 ,
3257
3262
Func7 <? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? super T6 , ? super T7 , ? extends R > zipFunction ) {
3258
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , o5 , o6 , o7 , zipFunction ));
3263
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 , o5 , o6 , o7 }). lift ( new OperatorZip < R >( zipFunction ));
3259
3264
}
3260
3265
3261
3266
/**
@@ -3295,7 +3300,7 @@ public final static <T1, T2, T3, T4, T5, T6, T7, R> Observable<R> zip(Observable
3295
3300
*/
3296
3301
public final static <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , R > Observable <R > zip (Observable <? extends T1 > o1 , Observable <? extends T2 > o2 , Observable <? extends T3 > o3 , Observable <? extends T4 > o4 , Observable <? extends T5 > o5 , Observable <? extends T6 > o6 , Observable <? extends T7 > o7 , Observable <? extends T8 > o8 ,
3297
3302
Func8 <? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? super T6 , ? super T7 , ? super T8 , ? extends R > zipFunction ) {
3298
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , o5 , o6 , o7 , o8 , zipFunction ));
3303
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 , o5 , o6 , o7 , o8 }). lift ( new OperatorZip < R >( zipFunction ));
3299
3304
}
3300
3305
3301
3306
/**
@@ -3337,7 +3342,7 @@ public final static <T1, T2, T3, T4, T5, T6, T7, T8, R> Observable<R> zip(Observ
3337
3342
*/
3338
3343
public final static <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , R > Observable <R > zip (Observable <? extends T1 > o1 , Observable <? extends T2 > o2 , Observable <? extends T3 > o3 , Observable <? extends T4 > o4 , Observable <? extends T5 > o5 , Observable <? extends T6 > o6 , Observable <? extends T7 > o7 , Observable <? extends T8 > o8 ,
3339
3344
Observable <? extends T9 > o9 , Func9 <? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? super T6 , ? super T7 , ? super T8 , ? super T9 , ? extends R > zipFunction ) {
3340
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , o5 , o6 , o7 , o8 , o9 , zipFunction ));
3345
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 , o5 , o6 , o7 , o8 , o9 }). lift ( new OperatorZip < R >( zipFunction ));
3341
3346
}
3342
3347
3343
3348
/**
@@ -8372,7 +8377,7 @@ public final <U> Observable<Observable<T>> window(Observable<U> boundary) {
8372
8377
* @return an Observable that pairs up values from the source Observable and the {@code other} Iterable sequence and emits the results of {@code zipFunction} applied to these pairs
8373
8378
*/
8374
8379
public final <T2 , R > Observable <R > zip (Iterable <? extends T2 > other , Func2 <? super T , ? super T2 , ? extends R > zipFunction ) {
8375
- return create ( OperationZip . zipIterable ( this , other , zipFunction ));
8380
+ return lift ( new OperatorZipIterable < T , T2 , R >( other , zipFunction ));
8376
8381
}
8377
8382
8378
8383
/**
0 commit comments