From cd59a1ffc04b7a511ccf4b6d745a3bb55aa5189e Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Sun, 24 Apr 2022 23:32:27 -0400 Subject: [PATCH] Fix toolbar for tablets in compact mode --- .../tachiyomi/ui/base/ExpandedAppBarLayout.kt | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/base/ExpandedAppBarLayout.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/base/ExpandedAppBarLayout.kt index 92d0083be9..171d160fd2 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/base/ExpandedAppBarLayout.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/base/ExpandedAppBarLayout.kt @@ -107,7 +107,7 @@ class ExpandedAppBarLayout@JvmOverloads constructor(context: Context, attrs: Att toolbarMode == ToolbarState.EXPANDED ) - val preLayoutHeightWhileSearching: Int + private val preLayoutHeightWhileSearching: Int get() = getEstimatedLayout( cardFrame?.isVisible == true && toolbarMode == ToolbarState.EXPANDED, useTabsInPreLayout, @@ -115,6 +115,8 @@ class ExpandedAppBarLayout@JvmOverloads constructor(context: Context, attrs: Att true ) + private var dontFullyHideToolbar = false + /** Small toolbar height + top system insets, same size as a collapsed appbar */ private val compactAppBarHeight: Float get() { @@ -198,11 +200,15 @@ class ExpandedAppBarLayout@JvmOverloads constructor(context: Context, attrs: Att override fun setTranslationY(translationY: Float) { if (lockYPos) return val realHeight = (preLayoutHeightWhileSearching + paddingTop).toFloat() - val newY = MathUtils.clamp( - translationY, - -realHeight + (if (context.isTablet()) minTabletHeight else 0), - if (compactSearchMode && toolbarMode == ToolbarState.EXPANDED) -realHeight + top + minTabletHeight else 0f - ) + val newY = if (dontFullyHideToolbar && !useLargeToolbar) { + 0f + } else { + MathUtils.clamp( + translationY, + -realHeight + (if (context.isTablet()) minTabletHeight else 0), + if (compactSearchMode && toolbarMode == ToolbarState.EXPANDED) -realHeight + top + minTabletHeight else 0f + ) + } super.setTranslationY(newY) } @@ -225,6 +231,7 @@ class ExpandedAppBarLayout@JvmOverloads constructor(context: Context, attrs: Att private fun shrinkAppBarIfNeeded(config: Configuration?) { config ?: return + dontFullyHideToolbar = config.smallestScreenWidthDp > 600 isExtraSmall = false if (config.screenHeightDp < 600) { val bigTitleView = bigTitleView ?: return