Skip to content

Instantly share code, notes, and snippets.

@sohamtriveous
Last active August 29, 2015 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sohamtriveous/3b4764ce8af0af77f078 to your computer and use it in GitHub Desktop.
Save sohamtriveous/3b4764ce8af0af77f078 to your computer and use it in GitHub Desktop.
RxJava wrappers for get/put in Reservoir
package com.farmily.android.store;
import android.content.Context;
import com.anupcowkur.reservoir.Reservoir;
import rx.Observable;
import rx.Subscriber;
import rx.schedulers.Schedulers;
/**
* Created by sohammondal on 26/05/15.
*/
public class ObjectStore {
public static <T> Observable<T> get(final String key, final Class<T> classOfT) {
Observable<T> observable = Observable.create(new Observable.OnSubscribe<T>() {
@Override
public void call(Subscriber<? super T> subscriber) {
try {
T t = Reservoir.get(key, classOfT);
subscriber.onNext(t);
subscriber.onCompleted();
} catch (Exception exception) {
subscriber.onError(exception);
subscriber.onCompleted();
}
}
}).subscribeOn(Schedulers.io());
return observable;
}
public static Observable<Boolean> put(String key, Object object) {
Observable<Boolean> observable = Observable.create(new Observable.OnSubscribe<Boolean>() {
@Override
public void call(Subscriber<? super Boolean> subscriber) {
try {
Reservoir.put(key, object);
subscriber.onNext(true);
subscriber.onCompleted();
} catch (Exception exception) {
subscriber.onError(exception);
subscriber.onCompleted();
}
}
}).subscribeOn(Schedulers.io());
return observable;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment