SHARE
TWEET

Untitled

a guest Mar 20th, 2017 62 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class Event{
  2.     public Date when;
  3.     public String eventName;
  4. }
  5.    
  6. repository.getAllEvents()
  7.             .toObservable()
  8.             .flatMap(new Function<Events, Observable<Event>>() {
  9.                 @Override
  10.                 public Observable<Event> apply(@NonNull Events events) throws Exception {
  11.                     return Observable.fromIterable(events.getEvents());
  12.                 }
  13.             })
  14.             .groupBy(new Function<Event, Date>() {
  15.                 @Override
  16.                 public Date apply(@NonNull Event event) throws Exception {
  17.                     return event.getStartsAt();
  18.                 }
  19.             })
  20.     .flatMap(new Function<GroupedObservable<Date, Event>, Observable<Object>>() {
  21.         @Override
  22.         public Observable<Object> apply(@NonNull GroupedObservable<Date, Event> dateEventGroupedObservable) throws Exception {
  23.             final Date key = dateEventGroupedObservable.getKey();
  24.             return dateEventGroupedObservable.toList().toObservable().flatMap(new Function<List<Event>, ObservableSource<?>>() {
  25.                 @Override
  26.                 public ObservableSource<?> apply(@NonNull List<Event> events) throws Exception {
  27.                     return Observable.just(new Pair<Date, List<Event>>(key, events));
  28.                 }
  29.             });
  30.         }
  31.     })
  32.     .subscribeOn(Schedulers.io())
  33.     .observeOn(AndroidSchedulers.mainThread())
  34.     .subscribeWith(new Observer<Object>() {
  35.         @Override
  36.         public void onSubscribe(Disposable d) {
  37.  
  38.         }
  39.  
  40.         @Override
  41.         public void onNext(Object o) {
  42.  
  43.         }
  44.  
  45.         @Override
  46.         public void onError(Throwable e) {
  47.  
  48.         }
  49.  
  50.         @Override
  51.         public void onComplete() {
  52.  
  53.         }
  54.     });
RAW Paste Data
Top