Skip to content

Instantly share code, notes, and snippets.

View ragdroid's full-sized avatar
🤪

Garima Jain ragdroid

🤪
View GitHub Profile
@ragdroid
ragdroid / Buffer.java
Last active August 21, 2016 18:33
Buffer - Droidcon 2016, buffer analytics events to optimize network traffic
//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));
}
@ragdroid
ragdroid / Concatify.java
Created August 14, 2016 16:14
Concat() operator to hit the cache first - Droidcon 2016
//Concatify spell
Observable<List<Lecture>> getLectures() {
Observable<List<Lecture>> cacheObservable = getLecturesFromCache();
Observable<List<Lecture>> lecturesFromServer = getLecturesFromServer();
return cacheObservable.concatWith(lecturesFromServer)
.take(1);
}
@ragdroid
ragdroid / Concatify.java
Created August 14, 2016 13:27
Concat operator - Droidcon 2016
//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,
@ragdroid
ragdroid / YuleBallDance.java
Created August 11, 2016 20:27
Zip - combine stream of Objects
//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();
}
});
@ragdroid
ragdroid / ZippyosaGist.java
Created August 10, 2016 14:40
Rxify - Droidcon 2016 Example of using a zip() RxJava operator Raw
//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();
@ragdroid
ragdroid / Zippyosa.java
Created August 10, 2016 14:28
Rxify - Droidcon 2016 Example of using a zip() RxJava operator
//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)