|  | @@ -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)
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      /**
 |