Răsfoiți Sursa

Fix logic for searchWithGenre (#7559)

(cherry picked from commit b563e85c3b744595272718f7e82e3272e2a7c57b)
MatchaSoba 2 ani în urmă
părinte
comite
650c2dc6e7

+ 8 - 7
app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceController.kt

@@ -343,11 +343,11 @@ open class BrowseSourceController(bundle: Bundle) :
      * @param genreName the name of the genre
      */
     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<*>) {
                 for (filter in sourceFilter.state) {
                     if (filter is Filter<*> && filter.name.equals(genreName, true)) {
@@ -356,7 +356,7 @@ open class BrowseSourceController(bundle: Bundle) :
                             is Filter.CheckBox -> filter.state = true
                             else -> {}
                         }
-                        filterList = presenter.sourceFilters
+                        genreExists = true
                         break@filter
                     }
                 }
@@ -366,19 +366,20 @@ open class BrowseSourceController(bundle: Bundle) :
 
                 if (index != -1) {
                     sourceFilter.state = index
-                    filterList = presenter.sourceFilters
+                    genreExists = true
                     break
                 }
             }
         }
 
-        if (filterList != null) {
+        if (genreExists) {
+            presenter.sourceFilters = defaultFilters
             filterSheet?.setFilters(presenter.filterItems)
 
             showProgressBar()
 
             adapter?.clear()
-            presenter.restartPager("", filterList)
+            presenter.restartPager("", defaultFilters)
         } else {
             searchWithQuery(genreName)
         }