Skip to content

Commit 7724f6a

Browse files
committed
Observable<JSON> exerciseMovie(Observable<Movies> movies)
1 parent 0875179 commit 7724f6a

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

src/main/java/learnrxjava/ObservableExercises.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package learnrxjava;
22

3+
import learnrxjava.types.BoxArt;
34
import learnrxjava.types.JSON;
45
import learnrxjava.types.Movies;
56
import rx.Observable;
@@ -91,9 +92,19 @@ public Observable<Integer> exerciseReduce(Observable<Integer> nums) {
9192
* See Exercise 19 of ComposableListExercises
9293
*/
9394
public Observable<JSON> exerciseMovie(Observable<Movies> movies) {
94-
return Observable.error(new RuntimeException("Not Implemented"));
95+
//return Observable.error(new RuntimeException("Not Implemented"));
96+
97+
return movies.flatMap(m -> {
98+
return m.videos.flatMap(v -> {
99+
return v.boxarts.reduce((a, b) -> {
100+
if(a.width * a.height > b.width * b.height) return b;
101+
else return a;
102+
}).map(maxBoxart->json("id", v.id, "title", v.title, "boxart", maxBoxart.url));
103+
});
104+
});
95105
}
96106

107+
97108
/**
98109
* Combine 2 streams into pairs using zip.
99110
*

0 commit comments

Comments
 (0)