Поток не умирает при вызове disposable?.dispose()

Есть строка ввода которая получает данные из сети, и при резкой смене элементов в строке сразу же старый поиск должен останавливаться и запускаться новый с новыми параметрами, использую RXJava2, но если судить по логам, при смене строки и вызове disposable?.dispose() элементы из старого запроса все равно обрабатываются в .subscribe, и из-за этого отображаются данные из старого запроса

 @SuppressLint("CheckResult")
    private fun loadInNetwork(observer: Single<ResultMovie>) {
        isRefreshing.set(true)

        disposable?.dispose()

        disposable = observer.subscribeOn(Schedulers.io())
            .subscribe({
                it.movieInfos.forEach { movie ->
                    dao.insertOrReplace(movieInfo = movie)
                }
                isRefreshing.set(false)
                Log.e("TAG", "End load")
            }, {
                isRefreshing.set(false)
                Log.e("Paging", "Repository method load: ${it.message}")
            })
}

Ответы (0 шт):