RxSeekBar onNext вызывается до истечения времени ожидания отладки (очень противоречиво) - PullRequest
1 голос
/ 16 апреля 2019

Я работаю на AndroidTv, где я использую стандарт seekBar для воспроизведения.

Вот как я использую RxSeekBar

RxSeekBar.changeEvents(seekBar)
            .debounce(SEEKBAR_DEBOUNCE_TIME, TimeUnit.MILLISECONDS)
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(new Observer<SeekBarChangeEvent>() {
                @Override
                public void onSubscribe(Disposable disposable) {
                    compositeDisposable.add(disposable);
                }

                @Override
                public void onNext(SeekBarChangeEvent seekBarChangeEvent) {
                    if (seekBarChangeEvent instanceof SeekBarProgressChangeEvent) {
                        if (seekBar.hasFocus()) {
                            DebugLog.d(TAG, "(PROGRESS) SeekBarProgressChangeEvent");
                            seekBarSeekProgress = seekBarChangeEvent.getView().getProgress();
                            onSeek();
                        }
                    }
                }

                @Override
                public void onError(Throwable e) {
                    DebugLog.d(TAG, "RxSeek error - " + e.getMessage());
                }

                @Override
                public void onComplete() {

                }
            });

По сути, я хочу обновить вещи после истечения времени ожидания. Это прекрасно работает 7/10 раз, но иногда onNext вызывается преждевременно, и все идет не так, как надо.

Я что-то здесь не так делаю?

...