From 94c4013810610c848fcbd166bc6fac4a95e60bb4 Mon Sep 17 00:00:00 2001 From: Tiger Oakes Date: Mon, 3 Jun 2019 12:10:53 -0700 Subject: [PATCH] Closes #3091 - Hide Pull to Refresh under flag (#3092) This was merged in after feature freeze so we're pulling it out for now. Pull to refresh will continue to work in debug mode so that the design can be iterated on easily. --- app/build.gradle | 1 + .../mozilla/fenix/browser/BrowserFragment.kt | 32 +++++++++++-------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index df3f796ba..80c0e7ac7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -250,6 +250,7 @@ android.applicationVariants.all { variant -> // Feature build flags // ------------------------------------------------------------------------------------------------- buildConfigField 'Boolean', 'SEND_TAB_ENABLED', (buildType == "nightly" || isDebug).toString() + buildConfigField 'Boolean', 'PULL_TO_REFRESH_ENABLED', (false).toString() } androidExtensions { diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index aa6151b34..e28fab7b8 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -56,6 +56,7 @@ import mozilla.components.support.ktx.android.view.enterToImmersiveMode import mozilla.components.support.ktx.android.view.exitImmersiveModeIfNeeded import mozilla.components.support.ktx.kotlin.toUri import org.mozilla.fenix.BrowsingModeManager +import org.mozilla.fenix.BuildConfig import org.mozilla.fenix.FenixViewModelProvider import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.IntentReceiverActivity @@ -185,7 +186,7 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope { return view } - @Suppress("LongMethod") + @Suppress("LongMethod", "ComplexMethod") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -334,18 +335,23 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope { view = view ) - val primaryTextColor = ThemeManager.resolveAttribute(R.attr.primaryText, requireContext()) - view.swipeRefresh.setColorSchemeColors(primaryTextColor) - swipeRefreshFeature.set( - feature = SwipeRefreshFeature( - requireComponents.core.sessionManager, - requireComponents.useCases.sessionUseCases.reload, - view.swipeRefresh, - customTabSessionId - ), - owner = this, - view = view - ) + if (BuildConfig.PULL_TO_REFRESH_ENABLED) { + val primaryTextColor = ThemeManager.resolveAttribute(R.attr.primaryText, requireContext()) + view.swipeRefresh.setColorSchemeColors(primaryTextColor) + swipeRefreshFeature.set( + feature = SwipeRefreshFeature( + requireComponents.core.sessionManager, + requireComponents.useCases.sessionUseCases.reload, + view.swipeRefresh, + customTabSessionId + ), + owner = this, + view = view + ) + } else { + // Disable pull to refresh + view.swipeRefresh.setOnChildScrollUpCallback { _, _ -> true } + } readerViewFeature.set( feature = ReaderViewFeature(