Tweak behavior on Browse screen (#8121)
* Tweak behavior on Browse screen - Fix system back popping controller - Add behavior to system back to cancel search toolbar before clearing current search or popping controller * Review changes
This commit is contained in:
+13
-9
@@ -1,6 +1,7 @@
|
||||
package eu.kanade.tachiyomi.ui.browse.source.browse
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.activity.compose.BackHandler
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
@@ -52,13 +53,7 @@ open class BrowseSourceController(bundle: Bundle) :
|
||||
|
||||
BrowseSourceScreen(
|
||||
presenter = presenter,
|
||||
navigateUp = {
|
||||
if (presenter.isUserQuery) {
|
||||
presenter.search()
|
||||
} else {
|
||||
router.popCurrentController()
|
||||
}
|
||||
},
|
||||
navigateUp = ::navigateUp,
|
||||
openFilterSheet = { filterSheet?.show() },
|
||||
onMangaClick = { router.pushController(MangaController(it.id, true)) },
|
||||
onMangaLongClick = { manga ->
|
||||
@@ -114,11 +109,21 @@ open class BrowseSourceController(bundle: Bundle) :
|
||||
null -> {}
|
||||
}
|
||||
|
||||
BackHandler(onBack = ::navigateUp)
|
||||
|
||||
LaunchedEffect(presenter.filters) {
|
||||
initFilterSheet()
|
||||
}
|
||||
}
|
||||
|
||||
private fun navigateUp() {
|
||||
when {
|
||||
presenter.searchQuery != null -> presenter.searchQuery = null
|
||||
presenter.isUserQuery -> presenter.search()
|
||||
else -> router.popCurrentController()
|
||||
}
|
||||
}
|
||||
|
||||
open fun initFilterSheet() {
|
||||
if (presenter.filters.isEmpty()) {
|
||||
return
|
||||
@@ -144,8 +149,7 @@ open class BrowseSourceController(bundle: Bundle) :
|
||||
* @param newQuery the new query.
|
||||
*/
|
||||
fun searchWithQuery(newQuery: String) {
|
||||
presenter.searchQuery = newQuery
|
||||
presenter.search()
|
||||
presenter.search(newQuery)
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user