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 ;
@@ -1645,11 +1646,9 @@ public final static Observable<Long> interval(long interval, TimeUnit unit, Sche
1645
1646
* the type of that item
1646
1647
* @return an Observable that emits {@code value} as a single item and then completes
1647
1648
* @see <a href="https://github.com/Netflix/RxJava/wiki/Creating-Observables#wiki-just">RxJava Wiki: just()</a>
1648
- * @deprecated Use {@link #from(T)}
1649
1649
*/
1650
- @ Deprecated
1651
1650
public final static <T > Observable <T > just (T value ) {
1652
- return from (Arrays .asList (( value ) ));
1651
+ return from (Arrays .asList (value ));
1653
1652
}
1654
1653
1655
1654
/**
@@ -3058,7 +3057,11 @@ public final static <R> Observable<R> when(Plan0<R> p1, Plan0<R> p2, Plan0<R> p3
3058
3057
* @see <a href="https://github.com/Netflix/RxJava/wiki/Combining-Observables#wiki-zip">RxJava Wiki: zip()</a>
3059
3058
*/
3060
3059
public final static <R > Observable <R > zip (Iterable <? extends Observable <?>> ws , FuncN <? extends R > zipFunction ) {
3061
- return create (OperationZip .zip (ws , zipFunction ));
3060
+ List <Observable <?>> os = new ArrayList <Observable <?>>();
3061
+ for (Observable <?> o : ws ) {
3062
+ os .add (o );
3063
+ }
3064
+ return Observable .just (os .toArray (new Observable <?>[os .size ()])).lift (new OperatorZip <R >(zipFunction ));
3062
3065
}
3063
3066
3064
3067
/**
@@ -3087,12 +3090,14 @@ public final static <R> Observable<R> zip(Iterable<? extends Observable<?>> ws,
3087
3090
* @see <a href="https://github.com/Netflix/RxJava/wiki/Combining-Observables#wiki-zip">RxJava Wiki: zip()</a>
3088
3091
*/
3089
3092
public final static <R > Observable <R > zip (Observable <? extends Observable <?>> ws , final FuncN <? extends R > zipFunction ) {
3090
- return ws .toList ().mergeMap (new Func1 <List <? extends Observable <?>>, Observable <? extends R >>() {
3093
+ return ws .toList ().map (new Func1 <List <? extends Observable <?>>, Observable <?>[]>() {
3094
+
3091
3095
@ Override
3092
- public final Observable <R > call (List <? extends Observable <?>> wsList ) {
3093
- return create ( OperationZip . zip ( wsList , zipFunction ) );
3096
+ public Observable <?>[] call (List <? extends Observable <?>> o ) {
3097
+ return o . toArray ( new Observable <?>[ o . size ()] );
3094
3098
}
3095
- });
3099
+
3100
+ }).lift (new OperatorZip <R >(zipFunction ));
3096
3101
}
3097
3102
3098
3103
/**
@@ -3118,8 +3123,8 @@ public final Observable<R> call(List<? extends Observable<?>> wsList) {
3118
3123
* @return an Observable that emits the zipped results
3119
3124
* @see <a href="https://github.com/Netflix/RxJava/wiki/Combining-Observables#wiki-zip">RxJava Wiki: zip()</a>
3120
3125
*/
3121
- 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 ) {
3122
- return create ( OperationZip . zip ( o1 , o2 , zipFunction ));
3126
+ 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 ) {
3127
+ return just ( new Observable <?>[] { o1 , o2 }). lift ( new OperatorZip < R >( zipFunction ));
3123
3128
}
3124
3129
3125
3130
/**
@@ -3149,7 +3154,7 @@ public final static <T1, T2, R> Observable<R> zip(Observable<? extends T1> o1, O
3149
3154
* @see <a href="https://github.com/Netflix/RxJava/wiki/Combining-Observables#wiki-zip">RxJava Wiki: zip()</a>
3150
3155
*/
3151
3156
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 ) {
3152
- return create ( OperationZip . zip ( o1 , o2 , o3 , zipFunction ));
3157
+ return just ( new Observable <?>[] { o1 , o2 , o3 }). lift ( new OperatorZip < R >( zipFunction ));
3153
3158
}
3154
3159
3155
3160
/**
@@ -3181,7 +3186,7 @@ public final static <T1, T2, T3, R> Observable<R> zip(Observable<? extends T1> o
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 , 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 ) {
3184
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , zipFunction ));
3189
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 }). lift ( new OperatorZip < R >( zipFunction ));
3185
3190
}
3186
3191
3187
3192
/**
@@ -3215,7 +3220,7 @@ public final static <T1, T2, T3, T4, R> Observable<R> zip(Observable<? extends T
3215
3220
* @see <a href="https://github.com/Netflix/RxJava/wiki/Combining-Observables#wiki-zip">RxJava Wiki: zip()</a>
3216
3221
*/
3217
3222
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 ) {
3218
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , o5 , zipFunction ));
3223
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 , o5 }). lift ( new OperatorZip < R >( zipFunction ));
3219
3224
}
3220
3225
3221
3226
/**
@@ -3251,7 +3256,7 @@ public final static <T1, T2, T3, T4, T5, R> Observable<R> zip(Observable<? exten
3251
3256
*/
3252
3257
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 ,
3253
3258
Func6 <? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? super T6 , ? extends R > zipFunction ) {
3254
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , o5 , o6 , zipFunction ));
3259
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 , o5 , o6 }). lift ( new OperatorZip < R >( zipFunction ));
3255
3260
}
3256
3261
3257
3262
/**
@@ -3289,7 +3294,7 @@ public final static <T1, T2, T3, T4, T5, T6, R> Observable<R> zip(Observable<? e
3289
3294
*/
3290
3295
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 ,
3291
3296
Func7 <? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? super T6 , ? super T7 , ? extends R > zipFunction ) {
3292
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , o5 , o6 , o7 , zipFunction ));
3297
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 , o5 , o6 , o7 }). lift ( new OperatorZip < R >( zipFunction ));
3293
3298
}
3294
3299
3295
3300
/**
@@ -3329,7 +3334,7 @@ public final static <T1, T2, T3, T4, T5, T6, T7, R> Observable<R> zip(Observable
3329
3334
*/
3330
3335
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 ,
3331
3336
Func8 <? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? super T6 , ? super T7 , ? super T8 , ? extends R > zipFunction ) {
3332
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , o5 , o6 , o7 , o8 , zipFunction ));
3337
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 , o5 , o6 , o7 , o8 }). lift ( new OperatorZip < R >( zipFunction ));
3333
3338
}
3334
3339
3335
3340
/**
@@ -3371,7 +3376,7 @@ public final static <T1, T2, T3, T4, T5, T6, T7, T8, R> Observable<R> zip(Observ
3371
3376
*/
3372
3377
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 ,
3373
3378
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 ) {
3374
- return create ( OperationZip . zip ( o1 , o2 , o3 , o4 , o5 , o6 , o7 , o8 , o9 , zipFunction ));
3379
+ return just ( new Observable <?>[] { o1 , o2 , o3 , o4 , o5 , o6 , o7 , o8 , o9 }). lift ( new OperatorZip < R >( zipFunction ));
3375
3380
}
3376
3381
3377
3382
/**
@@ -8403,7 +8408,7 @@ public final <U> Observable<Observable<T>> window(Observable<U> boundary) {
8403
8408
* @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
8404
8409
*/
8405
8410
public final <T2 , R > Observable <R > zip (Iterable <? extends T2 > other , Func2 <? super T , ? super T2 , ? extends R > zipFunction ) {
8406
- return create ( OperationZip . zipIterable ( this , other , zipFunction ));
8411
+ return lift ( new OperatorZipIterable < T , T2 , R >( other , zipFunction ));
8407
8412
}
8408
8413
8409
8414
/**
0 commit comments