Skip to content

Instantly share code, notes, and snippets.

@Faiyyaz
Created January 17, 2018 07:00
Show Gist options
  • Save Faiyyaz/ad2ce6eb1974b44bf91625dd49949df5 to your computer and use it in GitHub Desktop.
Save Faiyyaz/ad2ce6eb1974b44bf91625dd49949df5 to your computer and use it in GitHub Desktop.
Rxjava2 Wrapper
import io.reactivex.Flowable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
/**
* Created by Admin on 17-01-2018.
*/
public class BaseRxJava2<T> {
private Flowable<T> getObservable(Flowable<T> observable) {
return observable;
}
public Disposable subscribe(Flowable<T> observable, DataInterface<T> dataInterface) {
return getObservable(observable)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(dataInterface::onNext, throwable -> dataInterface.onError(NetworkUtils.getStringError(throwable)), dataInterface::onComplete);
}
public interface DataInterface<T> {
void onNext(T response);
void onError(String error);
void onComplete();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment