diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt index 384504332..55f3fd0c0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt @@ -29,7 +29,6 @@ import eu.kanade.tachiyomi.util.lang.launchUI import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.widget.materialdialogs.setTextInput import exh.savedsearches.EXHSavedSearch -import exh.util.nullIfBlank open class BrowseSourceController(bundle: Bundle) : FullComposeController(bundle) { @@ -231,7 +230,11 @@ open class BrowseSourceController(bundle: Bundle) : } .setPositiveButton(R.string.action_save) { _, _ -> if (searchName.isNotBlank() && searchName !in names) { - presenter.saveSearch(searchName.trim(), presenter.searchQuery.orEmpty(), presenter.filters) + presenter.saveSearch( + name = searchName.trim(), + query = presenter.currentFilter.query, + filterList = presenter.currentFilter.filters.ifEmpty { presenter.source!!.getFilterList() }, + ) } else { it.toast(R.string.save_search_invalid_name) } @@ -263,10 +266,6 @@ open class BrowseSourceController(bundle: Bundle) : val allDefault = search.filterList != null && presenter.filters == presenter.source!!.getFilterList() filterSheet?.dismiss() - presenter.searchQuery = search.query.nullIfBlank() - if (search.filterList != null) { - filterSheet?.setFilters(search.filterList.toItems()) - } presenter.search( query = search.query, filters = if (allDefault) null else search.filterList, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt index b24c28881..658944d67 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt @@ -217,6 +217,11 @@ open class BrowseSourcePresenter( } fun search(query: String? = null, filters: FilterList? = null) { + // SY --> + if (filters != null && filters !== state.filters) { + state.filters = filters + } + // SY <-- Filter.valueOf(query ?: "").let { if (it !is Filter.UserInput) { state.currentFilter = it @@ -247,8 +252,7 @@ open class BrowseSourcePresenter( if (savedSearchFilters != null) { val savedSearch = runBlocking { getExhSavedSearch.awaitOne(savedSearchFilters) { filters } } if (savedSearch != null) { - state.searchQuery = savedSearch.query.nullIfBlank() - search(query = savedSearch.query, filters = savedSearch.filterList) + search(query = savedSearch.query.nullIfBlank(), filters = savedSearch.filterList) } } else if (jsonFilters != null) { runCatching {