This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Preparing a polyjuice? Simple cast the spell - Zippyosa !! | |
public class Zippyosa { | |
Observable<PolyJuice> getPolyJuiceObservable() { | |
Observable<FluxWeed> ronObservable = getFluxWeedObservable(); | |
Observable<CrabHair> harryObservable = getHairObservable(); | |
return Observable.zip(ronObservable, harryObservable, new Func2<FluxWeed, CrabHair, PolyJuice>() { | |
@Override | |
public PolyJuice call(final FluxWeed fluxWeed, final CrabHair crabHair) { | |
return new PolyJuice(fluxWeed, crabHair) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Preparing a polyjuice? Simple cast the spell - Zippyosa !! | |
Observable<PolyJuice> getPolyJuiceObservable() { | |
Observable<FluxWeed> ronObservable = getFluxWeedObservable(); | |
Observable<CrabHair> harryObservable = getHairObservable(); | |
return Observable.zip(ronObservable, harryObservable, new Func2<FluxWeed, CrabHair, PolyJuice>() { | |
@Override | |
public PolyJuice call(final FluxWeed fluxWeed, final CrabHair crabHair) { | |
return new PolyJuice(fluxWeed, crabHair) | |
.prepare(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//It's zip-yOsa not zip-yosAR | |
Observable<DanceCouple> getYuleDanceCoupleObservable() { | |
Observable<Champion> championsObservable = getChampionsObservable(); | |
Observable<Partner> partnerObservable = getPartnerObservable(); | |
return championsObservable.zipWith(partnerObservable, new Func2<Champion, Partner, DanceCouple>() { | |
@Override | |
public DanceCouple call(Champion champion, Partner partner) { | |
return new DanceCouple(champion, partner).dance(); | |
} | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//concatify | |
Observable<Student> concatify() { | |
Observable<Student> slytherinObservable = getObservable(House.SLYTHERIN); | |
Observable<Student> huffleObervable = getObservable(House.HUFFLEPUFF); | |
Observable<Student> ravenObservable = getObservable(House.RAVENCLAW); | |
Observable<Student> gryffindorObservable = getObservable(House.GRYFFINDOR); | |
return Observable.concat( | |
slytherinObservable, | |
huffleObervable, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Concatify spell | |
Observable<List<Lecture>> getLectures() { | |
Observable<List<Lecture>> cacheObservable = getLecturesFromCache(); | |
Observable<List<Lecture>> lecturesFromServer = getLecturesFromServer(); | |
return cacheObservable.concatWith(lecturesFromServer) | |
.take(1); | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//buffer analytics events to optimize network traffic | |
public Observable<TrackRequest> bufferundum() { | |
return getUserEventsObservable() | |
.buffer(3) //buffer count | |
.flatMap(new Func1<List<Event>, Observable<TrackRequest>>() { | |
@Override | |
public Observable<TrackRequest> call(final List<Event> events) { | |
return Observable.just(new TrackRequest(events)); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//AutoSearch using debounce spell | |
public Observable<SearchRequest> autoSearch() { | |
return getSearchtermObservable() | |
.debounce(500, TimeUnit.MILLISECONDS) | |
.flatMap(new Func1<String, Observable<SearchRequest>>() { | |
@Override | |
public Observable<SearchRequest> call(String term) { | |
return Observable.just(new SearchRequest(term)); | |
} | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private class Boggart { | |
private static final int MAX_LAUGHTER_LEVEL = 10; | |
private static final int MIN_LAUNGHTER_LEVEL = 0; | |
private static final int LAUGHTER_FUNNY_THRESHOLD = 5; | |
private static final int LAUGHTER_HILARIOUS_THRESH = 7; | |
private int laughterLevel; | |
public Boggart() { | |
init(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Example of repeat and retry | |
private Observable<Boggart> riddikulus() { | |
return getBoggartObservable() | |
.flatMap(new Func1<Boggart, Observable<Boggart>>() { | |
@Override | |
public Observable<Boggart> call(Boggart boggart) { | |
boggart.init(); | |
boggart.riddikulus(); | |
if (boggart.isFunny()) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Retry when IOException | |
Observable<UserResponse> getUserFromServer() { | |
return userService.getUserFromServer() | |
.retryWhen(new Func1<Observable<? extends Throwable>, Observable<?>>() { | |
@Override | |
public Observable<?> call(Observable<? extends Throwable> observable) { | |
return observable.flatMap(new Func1<Throwable, Observable<?>>() { | |
@Override | |
public Observable<?> call(Throwable throwable) { |
OlderNewer