From c361ad6551ae61063f3c74415bacab93bbb9e81b Mon Sep 17 00:00:00 2001 From: Sawyer Blatz Date: Tue, 14 May 2019 14:32:28 -0700 Subject: [PATCH] [fenix] For https://github.com/mozilla-mobile/fenix/issues/2315: Hides URL bar when scrolling in custom tab (https://github.com/mozilla-mobile/fenix/pull/2485) --- .../fenix/customtabs/CustomTabsIntegration.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsIntegration.kt b/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsIntegration.kt index 403bd33861..14ef70563c 100644 --- a/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsIntegration.kt +++ b/app/src/main/java/org/mozilla/fenix/customtabs/CustomTabsIntegration.kt @@ -6,6 +6,7 @@ package org.mozilla.fenix.customtabs import android.app.Activity import android.content.Context +import com.google.android.material.appbar.AppBarLayout import mozilla.components.browser.session.SessionManager import mozilla.components.browser.toolbar.BrowserToolbar import mozilla.components.feature.customtabs.CustomTabsToolbarFeature @@ -22,6 +23,10 @@ class CustomTabsIntegration( onItemTapped: (ToolbarMenu.Item) -> Unit = {} ) : LifecycleAwareFeature, BackHandler { + init { + enableToolbarCollapse() + } + private val customTabToolbarMenu by lazy { CustomTabToolbarMenu( context, @@ -51,7 +56,16 @@ class CustomTabsIntegration( return feature.onBackPressed() } + private fun enableToolbarCollapse() { + val params = toolbar.layoutParams as AppBarLayout.LayoutParams + params.scrollFlags = DEFAULT_SCROLL_FLAGS + } + companion object { + const val DEFAULT_SCROLL_FLAGS = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL or + AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS or + AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP or + AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED const val START_OF_MENU_ITEMS_INDEX = 2 } }