У меня есть завершаемый файл, который я создаю так:
public class Params {
// Contains input parameters
}
public Completable startSomething(Params params) {
return Completable
.fromRunnable(() -> someMainThreadThing(params))
.subscribeOn(this.schedulers.mainThread());
}
Теперь у меня есть источник, предоставляющий Single<Params>
.Это предоставляется как часть API, поэтому текущий поток неизвестен во время подписки.Это использование выглядит примерно так:
public Completable doSomethingWithParams(Single<Params> params) {
// Do something with the params
}
Я хотел бы реализовать doSomethingWithParams
примерно так:
public Completable doSomethingWithParams(Single<Params> params) {
return params.flatMapCompletable(::startSomething);
}
Мой вопрос: someMainThreadThing
гарантированно будет выполняться наосновной поток, или настройка Single<Params>
может повлиять на поток, в котором он выполняется?