From 991d46c8aa27ed52cc12fc099a2cc65942ae2149 Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Thu, 2 Mar 2023 01:48:30 -0500 Subject: [PATCH] Replace RxJava in SettingsAdvancedController --- .../ui/setting/SettingsAdvancedController.kt | 40 ++++++++----------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt index b09e10359f..c715009713 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsAdvancedController.kt @@ -47,6 +47,7 @@ import eu.kanade.tachiyomi.util.system.localeContext import eu.kanade.tachiyomi.util.system.materialAlertDialog import eu.kanade.tachiyomi.util.system.setDefaultSettings import eu.kanade.tachiyomi.util.system.toast +import eu.kanade.tachiyomi.util.system.withUIContext import eu.kanade.tachiyomi.util.view.openInBrowser import eu.kanade.tachiyomi.util.view.withFadeTransaction import kotlinx.coroutines.CoroutineStart @@ -56,9 +57,6 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.launch import okhttp3.Headers import rikka.sui.Sui -import rx.Observable -import rx.android.schedulers.AndroidSchedulers -import rx.schedulers.Schedulers import timber.log.Timber import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get @@ -410,25 +408,16 @@ class SettingsAdvancedController : SettingsController() { private fun clearChapterCache() { if (activity == null) return - val files = chapterCache.cacheDir.listFiles() ?: return - - var deletedFiles = 0 - - Observable.defer { Observable.from(files) } - .doOnNext { file -> - if (chapterCache.removeFileFromCache(file.name)) { - deletedFiles++ + viewScope.launchIO { + val files = chapterCache.cacheDir.listFiles() ?: return@launchIO + var deletedFiles = 0 + try { + files.forEach { file -> + if (chapterCache.removeFileFromCache(file.name)) { + deletedFiles++ + } } - } - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe( - { - }, - { - activity?.toast(R.string.cache_delete_error) - }, - { + withUIContext { activity?.toast( resources?.getQuantityString( R.plurals.cache_cleared, @@ -438,8 +427,13 @@ class SettingsAdvancedController : SettingsController() { ) findPreference(CLEAR_CACHE_KEY)?.summary = resources?.getString(R.string.used_, chapterCache.readableSize) - }, - ) + } + } catch (_: Exception) { + withUIContext { + activity?.toast(R.string.cache_delete_error) + } + } + } } private fun clearWebViewData() {