本文整理了Java中io.reactivex.Single.doOnSubscribe()
方法的一些代码示例,展示了Single.doOnSubscribe()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Single.doOnSubscribe()
方法的具体详情如下:
包路径:io.reactivex.Single
类名称:Single
方法名:doOnSubscribe
[英]Calls the shared consumer with the Disposable sent through the onSubscribe for each SingleObserver that subscribes to the current Single. Scheduler: doOnSubscribe does not operate by default on a particular Scheduler.
[中]为订阅当前单曲的每个SingleObserver调用通过onSubscribe发送的一次性用户。调度器:默认情况下,doOnSubscribe不会在特定的调度器上运行。
代码示例来源:origin: Polidea/RxAndroidBle
Single<RxBleDeviceServices> getDiscoverServicesSingle(final long timeout, final TimeUnit timeoutTimeUnit) {
if (hasCachedResults) {
// optimisation to decrease the number of allocations
return deviceServicesObservable;
} else {
return deviceServicesObservable.doOnSubscribe(
new Consumer<Disposable>() {
@Override
public void accept(Disposable disposable) throws Exception {
timeoutBehaviorSubject.onNext(new TimeoutConfiguration(timeout, timeoutTimeUnit, Schedulers.computation()));
}
});
}
}
代码示例来源:origin: ReactiveX/RxJava
@Test(expected = NullPointerException.class)
public void doOnSubscribeNull() {
just1.doOnSubscribe(null);
}
代码示例来源:origin: igreenwood/SimpleCropView
/**
* Crop image with RxJava2
*
* @param sourceUri Uri for cropping(If null, the Uri set in loadAsSingle() is used)
*
* @return Single of cropping image
*/
public Single<Bitmap> cropAsSingle(final Uri sourceUri) {
return Single.fromCallable(new Callable<Bitmap>() {
@Override public Bitmap call() throws Exception {
if (sourceUri != null) mSourceUri = sourceUri;
return cropImage();
}
}).doOnSubscribe(new Consumer<Disposable>() {
@Override public void accept(@NonNull Disposable disposable) throws Exception {
mIsCropping.set(true);
}
}).doFinally(new Action() {
@Override public void run() throws Exception {
mIsCropping.set(false);
}
});
}
代码示例来源:origin: igreenwood/SimpleCropView
/**
* Save image with RxJava2
*
* @param bitmap Bitmap for saving
* @param saveUri Uri for saving the cropped image
*
* @return Single of saving image
*/
public Single<Uri> saveAsSingle(final Bitmap bitmap, final Uri saveUri) {
return Single.fromCallable(new Callable<Uri>() {
@Override public Uri call() throws Exception {
return saveImage(bitmap, saveUri);
}
}).doOnSubscribe(new Consumer<Disposable>() {
@Override public void accept(@NonNull Disposable disposable) throws Exception {
mIsSaving.set(true);
}
}).doFinally(new Action() {
@Override public void run() throws Exception {
mIsSaving.set(false);
}
});
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void doOnSubscribe() {
final int[] count = { 0 };
Single.never().doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable d) throws Exception {
count[0]++;
}
}).test();
assertEquals(1, count[0]);
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void doOnSubscribeJustCrash() {
Single.just(1).doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable d) throws Exception {
throw new TestException();
}
})
.test()
.assertFailure(TestException.class);
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void doOnSubscribeNormal() {
final int[] count = { 0 };
Single.just(1).doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable d) throws Exception {
count[0]++;
}
})
.test()
.assertResult(1);
assertEquals(1, count[0]);
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void doOnSubscribeError() {
final int[] count = { 0 };
Single.error(new TestException()).doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable d) throws Exception {
count[0]++;
}
})
.test()
.assertFailure(TestException.class);
assertEquals(1, count[0]);
}
代码示例来源:origin: igreenwood/SimpleCropView
.doOnSubscribe(new Consumer<Disposable>() {
@Override public void accept(@io.reactivex.annotations.NonNull Disposable disposable)
throws Exception {
代码示例来源:origin: pockethub/PocketHub
public static <U> SingleTransformer<U, U> bindToLifecycle(Context context, CharSequence message) {
return upstream -> {
final MaterialDialog progressDialog = new MaterialDialog.Builder(context)
.content(message)
.progress(true, 0)
.build();
return upstream
.doOnSubscribe(disposable -> progressDialog.show())
.doOnSuccess(u -> progressDialog.dismiss())
.doOnError(throwable -> progressDialog.dismiss());
};
}
}
代码示例来源:origin: ReactiveX/RxJava
@Test
public void doOnSubscribeErrorCrash() {
List<Throwable> errors = TestHelper.trackPluginErrors();
try {
Single.error(new TestException("Outer")).doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(Disposable d) throws Exception {
throw new TestException("Inner");
}
})
.test()
.assertFailureAndMessage(TestException.class, "Inner");
TestHelper.assertUndeliverable(errors, 0, TestException.class, "Outer");
} finally {
RxJavaPlugins.reset();
}
}
代码示例来源:origin: florent37/RxLifecycle
@Override
public SingleSource<T> apply(@NonNull Single<T> upstream) {
return upstream.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(@NonNull Disposable disposable) throws Exception {
disposeOnDestroy(disposable);
}
});
}
代码示例来源:origin: florent37/RxLifecycle
@Override
public SingleSource<T> apply(@NonNull Single<T> upstream) {
return upstream.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(@NonNull Disposable disposable) throws Exception {
disposeOnPause(disposable);
}
});
}
代码示例来源:origin: florent37/RxLifecycle
@Override
public SingleSource<T> apply(@NonNull Single<T> upstream) {
return upstream.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(@NonNull Disposable disposable) throws Exception {
disposeOnStop(disposable);
}
});
}
代码示例来源:origin: florent37/RxLifecycle
@Override
public SingleSource<T> apply(@NonNull Single<T> upstream) {
return upstream.doOnSubscribe(new Consumer<Disposable>() {
@Override
public void accept(@NonNull Disposable disposable) throws Exception {
disposeOn(disposeEvent);
}
});
}
代码示例来源:origin: d4rken/RxShell
@Override
protected void onPause() {
super.onPause();
session.close()
.doOnSubscribe(d -> session = null)
.observeOn(AndroidSchedulers.mainThread())
.subscribe(i -> execute.setVisibility(View.INVISIBLE));
}
代码示例来源:origin: AppStoreFoundation/asf-sdk
public void onCreateChannelButtonClicked(View view) {
compositeDisposable.add(
microRaidenBDS.createChannel(senderECKey, receiverAddress, BigInteger.valueOf(10))
.doOnSubscribe(disposable -> runOnUiThread(
() -> Toast.makeText(this, "Creating channel", Toast.LENGTH_SHORT)
.show()))
.observeOn(AndroidSchedulers.mainThread())
.doOnSuccess(bdsChannel -> Toast.makeText(this, "Channel Created.", Toast.LENGTH_SHORT)
.show())
.subscribeOn(Schedulers.io())
.subscribe(bdsChannel -> this.bdsChannel = bdsChannel));
}
代码示例来源:origin: matzuk/Clean-multimodel-arch
@SuppressLint("CheckResult")
public void clickToBuyWork() {
mPurchaseInteractor.makePurchase()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnSubscribe(disposable -> getViewState().showBuyWork())
.doOnSuccess(antitheftModel -> getViewState().showBuySuccess())
.subscribe(antitheftModel -> {}, throwable -> {});
}
代码示例来源:origin: matzuk/Clean-multimodel-arch
@SuppressLint("CheckResult")
public void clickToAtWork() {
mAntitheftInteractor.doAntitheftWork()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnSubscribe(disposable -> getViewState().showAtWork())
.doOnSuccess(antitheftModel -> getViewState().showAtSuccess())
.subscribe(antitheftModel -> {}, throwable -> {});
}
代码示例来源:origin: matzuk/Clean-multimodel-arch
@SuppressLint("CheckResult")
public void clickToBuyWork() {
mPurchaseInteractor.makePurchase()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.doOnSubscribe(disposable -> getViewState().showBuyWork())
.doOnSuccess(antitheftModel -> getViewState().showBuySuccess())
.subscribe(antitheftModel -> {}, throwable -> {});
}
内容来源于网络,如有侵权,请联系作者删除!