Skip to content

Instantly share code, notes, and snippets.

@eungju
Last active March 15, 2016 15:13
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 eungju/9726e6e596f95f40d667 to your computer and use it in GitHub Desktop.
Save eungju/9726e6e596f95f40d667 to your computer and use it in GitHub Desktop.
Kotlin type inference failure.
public class RxScheduling {
private final Scheduler io;
private final Scheduler ui;
private final Observable.Transformer ioThenUiTransform;
private final Observable.Transformer thenUiTransform;
public RxScheduling(Scheduler io, Scheduler ui) {
this.io = io;
this.ui = ui;
ioThenUiTransform = new Observable.Transformer<Object, Object>() {
@Override
public Observable call(Observable observable) {
return observable.subscribeOn(io).observeOn(ui);
}
};
thenUiTransform = new Observable.Transformer<Object, Object>() {
@Override
public Observable call(Observable observable) {
return observable.observeOn(ui);
}
};
}
public <T> Observable.Transformer<T, T> ioThenUi() {
return ioThenUiTransform;
}
/**
* Workaround for https://youtrack.jetbrains.com/issue/KT-10250
*/
public <T> Observable.Transformer<? super T, ? extends T> ioThenUi_() {
return ioThenUiTransform;
}
public <T> Observable.Transformer<T, T> thenUi() {
return thenUiTransform;
}
/**
* Workaround for https://youtrack.jetbrains.com/issue/KT-10250
*/
public <T> Observable.Transformer<? super T, ? extends T> thenUi_() {
return thenUiTransform;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment