1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| private void getAllDatas(final long delay) { if (subscribe != null) { subscribe.unsubscribe(); subscribe = null; } subscribe = Observable.timer(delay, TimeUnit.MILLISECONDS) .flatMap(new Func1<Long, Observable<GetSomeThingResult>>() { @Override public Observable<GetSomeThingResult> call(Long aLong) { return Api.getDefaultApi().getSomeThing(); } }) .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(new Subscriber<GetSomeThingResult>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { ToastUtils.showCustomBgToast(getString(R.string.no_net_text) + e.toString()); getAllDatas(Constants.AUTO_REFRESH_DURATION); } @Override public void onNext(GetSomeThingResult result) { getAllDatas(Constants.AUTO_REFRESH_DURATION); } }); }
|