Fix logic for searchWithGenre (#7559)

This commit is contained in:
MatchaSoba 2022-07-30 23:53:25 +08:00 committed by GitHub
parent 99ac30e59f
commit b563e85c3b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -350,11 +350,11 @@ open class BrowseSourceController(bundle: Bundle) :
* @param genreName the name of the genre * @param genreName the name of the genre
*/ */
fun searchWithGenre(genreName: String) { fun searchWithGenre(genreName: String) {
presenter.sourceFilters = presenter.source.getFilterList() val defaultFilters = presenter.source.getFilterList()
var filterList: FilterList? = null var genreExists = false
filter@ for (sourceFilter in presenter.sourceFilters) { filter@ for (sourceFilter in defaultFilters) {
if (sourceFilter is Filter.Group<*>) { if (sourceFilter is Filter.Group<*>) {
for (filter in sourceFilter.state) { for (filter in sourceFilter.state) {
if (filter is Filter<*> && filter.name.equals(genreName, true)) { if (filter is Filter<*> && filter.name.equals(genreName, true)) {
@ -363,7 +363,7 @@ open class BrowseSourceController(bundle: Bundle) :
is Filter.CheckBox -> filter.state = true is Filter.CheckBox -> filter.state = true
else -> {} else -> {}
} }
filterList = presenter.sourceFilters genreExists = true
break@filter break@filter
} }
} }
@ -373,19 +373,20 @@ open class BrowseSourceController(bundle: Bundle) :
if (index != -1) { if (index != -1) {
sourceFilter.state = index sourceFilter.state = index
filterList = presenter.sourceFilters genreExists = true
break break
} }
} }
} }
if (filterList != null) { if (genreExists) {
presenter.sourceFilters = defaultFilters
filterSheet?.setFilters(presenter.filterItems) filterSheet?.setFilters(presenter.filterItems)
showProgressBar() showProgressBar()
adapter?.clear() adapter?.clear()
presenter.restartPager("", filterList) presenter.restartPager("", defaultFilters)
} else { } else {
searchWithQuery(genreName) searchWithQuery(genreName)
} }