Fix Genre tag search while browsing related-titles or from Feed Screen
This commit is contained in:
parent
d5c57d1ee3
commit
b6b7114c29
1 changed files with 24 additions and 11 deletions
|
|
@ -525,19 +525,21 @@ class MangaScreen(
|
|||
return
|
||||
}
|
||||
|
||||
when (val previousController = navigator.items[navigator.size - 2]) {
|
||||
navigator.popUntil { screen ->
|
||||
navigator.size < 2 || screen is BrowseSourceScreen ||
|
||||
screen is HomeScreen || screen is SourceFeedScreen
|
||||
}
|
||||
|
||||
when (val previousController = navigator.lastItem) {
|
||||
is HomeScreen -> {
|
||||
navigator.pop()
|
||||
previousController.search(query)
|
||||
}
|
||||
is BrowseSourceScreen -> {
|
||||
navigator.pop()
|
||||
previousController.search(query)
|
||||
}
|
||||
// SY -->
|
||||
is SourceFeedScreen -> {
|
||||
navigator.pop()
|
||||
navigator.replace(BrowseSourceScreen(previousController.sourceId, query))
|
||||
navigator.push(BrowseSourceScreen(previousController.sourceId, query))
|
||||
}
|
||||
// SY <--
|
||||
}
|
||||
|
|
@ -553,13 +555,24 @@ class MangaScreen(
|
|||
return
|
||||
}
|
||||
|
||||
val previousController = navigator.items[navigator.size - 2]
|
||||
if (previousController is BrowseSourceScreen && source is HttpSource) {
|
||||
navigator.pop()
|
||||
previousController.searchGenre(genreName)
|
||||
} else {
|
||||
performSearch(navigator, genreName, global = false)
|
||||
var previousController: cafe.adriel.voyager.core.screen.Screen
|
||||
var idx = navigator.size - 2
|
||||
while (idx >= 0) {
|
||||
previousController = navigator.items[idx--]
|
||||
if (previousController is BrowseSourceScreen && source is HttpSource) {
|
||||
navigator.popUntil { navigator.size == idx + 2 }
|
||||
previousController.searchGenre(genreName)
|
||||
return
|
||||
}
|
||||
if (previousController is SourceFeedScreen && source is HttpSource) {
|
||||
navigator.popUntil { navigator.size == idx + 2 }
|
||||
navigator.push(BrowseSourceScreen(previousController.sourceId, ""))
|
||||
previousController = navigator.lastItem as BrowseSourceScreen
|
||||
previousController.searchGenre(genreName)
|
||||
return
|
||||
}
|
||||
}
|
||||
performSearch(navigator, genreName, global = false)
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue