From 74dd2a5f233ff1a9fae203b9bf1fec483f275b18 Mon Sep 17 00:00:00 2001 From: Tiger Oakes Date: Thu, 30 May 2019 15:05:49 -0700 Subject: [PATCH] Issue #103 - Pull to refresh (#3020) --- .../org/mozilla/fenix/browser/BrowserFragment.kt | 16 ++++++++++++++++ app/src/main/res/layout/fragment_browser.xml | 11 ++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) 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 e4b539b83..5c05ca2af 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -44,6 +44,7 @@ import mozilla.components.feature.readerview.ReaderViewFeature import mozilla.components.feature.session.FullScreenFeature import mozilla.components.feature.session.SessionFeature import mozilla.components.feature.session.SessionUseCases +import mozilla.components.feature.session.SwipeRefreshFeature import mozilla.components.feature.session.ThumbnailsFeature import mozilla.components.feature.sitepermissions.SitePermissions import mozilla.components.feature.sitepermissions.SitePermissionsFeature @@ -107,6 +108,7 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope { private val sitePermissionsFeature = ViewBoundFeatureWrapper() private val fullScreenFeature = ViewBoundFeatureWrapper() private val thumbnailsFeature = ViewBoundFeatureWrapper() + private val swipeRefreshFeature = ViewBoundFeatureWrapper() private val customTabsIntegration = ViewBoundFeatureWrapper() private var findBookmarkJob: Job? = null private lateinit var job: Job @@ -211,6 +213,7 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope { return Gravity.BOTTOM } + @Suppress("LongMethod") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -346,6 +349,19 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope { view = view ) + val primaryTextColor = DefaultThemeManager.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 + ) + readerViewFeature.set( feature = ReaderViewFeature( requireContext(), diff --git a/app/src/main/res/layout/fragment_browser.xml b/app/src/main/res/layout/fragment_browser.xml index 7d9f6e94b..a0b9a6426 100644 --- a/app/src/main/res/layout/fragment_browser.xml +++ b/app/src/main/res/layout/fragment_browser.xml @@ -11,10 +11,15 @@ android:layout_height="match_parent" tools:context="browser.BrowserFragment"> - + android:layout_height="match_parent"> + +