Closes #16603: Disable pull down when in fullscreen (#17314)

upstream-sync
Roger Yang 4 years ago committed by GitHub
parent 381f22449b
commit afa0454f2b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -668,7 +668,7 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler,
.collect { tab -> pipModeChanged(tab) } .collect { tab -> pipModeChanged(tab) }
} }
view.swipeRefresh.isEnabled = shouldPullToRefreshBeEnabled() view.swipeRefresh.isEnabled = shouldPullToRefreshBeEnabled(false)
if (view.swipeRefresh.isEnabled) { if (view.swipeRefresh.isEnabled) {
val primaryTextColor = val primaryTextColor =
@ -798,10 +798,10 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler,
} }
@VisibleForTesting @VisibleForTesting
internal fun shouldPullToRefreshBeEnabled(): Boolean { internal fun shouldPullToRefreshBeEnabled(inFullScreen: Boolean): Boolean {
return FeatureFlags.pullToRefreshEnabled && return FeatureFlags.pullToRefreshEnabled &&
requireContext().settings().isPullToRefreshEnabledInBrowser && requireContext().settings().isPullToRefreshEnabledInBrowser &&
!(requireActivity() as HomeActivity).isImmersive !inFullScreen
} }
private fun initializeEngineView(toolbarHeight: Int) { private fun initializeEngineView(toolbarHeight: Int) {
@ -1229,6 +1229,8 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler,
initializeEngineView(toolbarHeight) initializeEngineView(toolbarHeight)
} }
} }
activity?.swipeRefresh?.isEnabled = shouldPullToRefreshBeEnabled(inFullScreen)
} }
/* /*

@ -287,22 +287,18 @@ class BrowserFragmentTest {
@Test @Test
fun `WHEN isPullToRefreshEnabledInBrowser is disabled THEN pull down refresh is disabled`() { fun `WHEN isPullToRefreshEnabledInBrowser is disabled THEN pull down refresh is disabled`() {
every { homeActivity.isImmersive } returns false
every { context.settings().isPullToRefreshEnabledInBrowser } returns true every { context.settings().isPullToRefreshEnabledInBrowser } returns true
assert(browserFragment.shouldPullToRefreshBeEnabled()) assert(browserFragment.shouldPullToRefreshBeEnabled(false))
every { context.settings().isPullToRefreshEnabledInBrowser } returns false every { context.settings().isPullToRefreshEnabledInBrowser } returns false
assert(!browserFragment.shouldPullToRefreshBeEnabled()) assert(!browserFragment.shouldPullToRefreshBeEnabled(false))
} }
@Test @Test
fun `WHEN in immersive mode THEN pull down refresh is disabled`() { fun `WHEN in fullscreen THEN pull down refresh is disabled`() {
every { homeActivity.isImmersive } returns false
every { context.settings().isPullToRefreshEnabledInBrowser } returns true every { context.settings().isPullToRefreshEnabledInBrowser } returns true
assert(browserFragment.shouldPullToRefreshBeEnabled()) assert(browserFragment.shouldPullToRefreshBeEnabled(false))
assert(!browserFragment.shouldPullToRefreshBeEnabled(true))
every { homeActivity.isImmersive } returns true
assert(!browserFragment.shouldPullToRefreshBeEnabled())
} }
private fun addAndSelectTab(tab: TabSessionState) { private fun addAndSelectTab(tab: TabSessionState) {

Loading…
Cancel
Save