fix category backdrop when show all categories is disabled

This commit is contained in:
Jays2Kings 2022-05-01 14:23:44 -04:00
parent f5f0001006
commit 0f81fb21c9
2 changed files with 18 additions and 7 deletions

View file

@ -102,7 +102,6 @@ import eu.kanade.tachiyomi.util.view.hide
import eu.kanade.tachiyomi.util.view.isControllerVisible import eu.kanade.tachiyomi.util.view.isControllerVisible
import eu.kanade.tachiyomi.util.view.isExpanded import eu.kanade.tachiyomi.util.view.isExpanded
import eu.kanade.tachiyomi.util.view.isHidden import eu.kanade.tachiyomi.util.view.isHidden
import eu.kanade.tachiyomi.util.view.moveRecyclerViewUp
import eu.kanade.tachiyomi.util.view.scrollViewWith import eu.kanade.tachiyomi.util.view.scrollViewWith
import eu.kanade.tachiyomi.util.view.setOnQueryTextChangeListener import eu.kanade.tachiyomi.util.view.setOnQueryTextChangeListener
import eu.kanade.tachiyomi.util.view.setStyle import eu.kanade.tachiyomi.util.view.setStyle
@ -549,8 +548,8 @@ class LibraryController(
showCategories(false) showCategories(false)
} }
binding.categoryRecycler.onCategoryClicked = { binding.categoryRecycler.onCategoryClicked = {
showCategories(show = false, closeSearch = true, category = it)
scrollToHeader(it) scrollToHeader(it)
showCategories(show = false, closeSearch = true)
} }
binding.categoryRecycler.setOnTouchListener { _, _ -> binding.categoryRecycler.setOnTouchListener { _, _ ->
val searchView = activityBinding?.searchToolbar?.menu?.findItem(R.id.action_search)?.actionView val searchView = activityBinding?.searchToolbar?.menu?.findItem(R.id.action_search)?.actionView
@ -1168,11 +1167,24 @@ class LibraryController(
.setDuration(duration) .setDuration(duration)
} }
private fun showCategories(show: Boolean, closeSearch: Boolean = false) { private fun showCategories(show: Boolean, closeSearch: Boolean = false, category: Int = -1) {
binding.recyclerCover.isClickable = show binding.recyclerCover.isClickable = show
binding.recyclerCover.isFocusable = show binding.recyclerCover.isFocusable = show
if (show) { (activity as? MainActivity)?.apply {
moveRecyclerViewUp() if (show && !binding.appBar.compactSearchMode && binding.appBar.useLargeToolbar) {
binding.appBar.compactSearchMode = binding.appBar.useLargeToolbar && show
if (binding.appBar.compactSearchMode) {
setFloatingToolbar(true)
mainRecycler.requestApplyInsets()
binding.appBar.y = 0f
binding.appBar.updateAppBarAfterY(mainRecycler)
}
} else if (!show && binding.appBar.compactSearchMode && binding.appBar.useLargeToolbar &&
resources.configuration.screenHeightDp >= 600
) {
binding.appBar.compactSearchMode = false
mainRecycler.requestApplyInsets()
}
} }
if (closeSearch) { if (closeSearch) {
activityBinding?.searchToolbar?.searchItem?.collapseActionView() activityBinding?.searchToolbar?.searchItem?.collapseActionView()
@ -1200,7 +1212,7 @@ class LibraryController(
binding.filterBottomSheet.filterBottomSheet.sheetBehavior?.hide() binding.filterBottomSheet.filterBottomSheet.sheetBehavior?.hide()
} else { } else {
val notAtTop = binding.libraryGridRecycler.recycler.canScrollVertically(-1) val notAtTop = binding.libraryGridRecycler.recycler.canScrollVertically(-1)
elevateAppBar(notAtTop) elevateAppBar((notAtTop || category > 0) && category != 0)
} }
} }

View file

@ -8,7 +8,6 @@ import androidx.core.view.doOnNextLayout
import androidx.preference.PreferenceManager import androidx.preference.PreferenceManager
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.recyclerview.widget.StaggeredGridLayoutManager import androidx.recyclerview.widget.StaggeredGridLayoutManager
import eu.kanade.tachiyomi.data.preference.PreferencesHelper import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.ui.library.LibraryItem import eu.kanade.tachiyomi.ui.library.LibraryItem