Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Event{
- public Date when;
- public String eventName;
- }
- repository.getAllEvents()
- .toObservable()
- .flatMap(new Function<Events, Observable<Event>>() {
- @Override
- public Observable<Event> apply(@NonNull Events events) throws Exception {
- return Observable.fromIterable(events.getEvents());
- }
- })
- .groupBy(new Function<Event, Date>() {
- @Override
- public Date apply(@NonNull Event event) throws Exception {
- return event.getStartsAt();
- }
- })
- .flatMap(new Function<GroupedObservable<Date, Event>, Observable<Object>>() {
- @Override
- public Observable<Object> apply(@NonNull GroupedObservable<Date, Event> dateEventGroupedObservable) throws Exception {
- final Date key = dateEventGroupedObservable.getKey();
- return dateEventGroupedObservable.toList().toObservable().flatMap(new Function<List<Event>, ObservableSource<?>>() {
- @Override
- public ObservableSource<?> apply(@NonNull List<Event> events) throws Exception {
- return Observable.just(new Pair<Date, List<Event>>(key, events));
- }
- });
- }
- })
- .subscribeOn(Schedulers.io())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribeWith(new Observer<Object>() {
- @Override
- public void onSubscribe(Disposable d) {
- }
- @Override
- public void onNext(Object o) {
- }
- @Override
- public void onError(Throwable e) {
- }
- @Override
- public void onComplete() {
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement