From ab304c5f9df40a8bcea51d6a0ed5dd740dc80c0c Mon Sep 17 00:00:00 2001 From: jackyzy823 Date: Wed, 14 Feb 2024 00:04:35 +0800 Subject: [PATCH] Bug 1876024 - Request screenshot thumbnail when onSwipeStarted --- .../main/java/org/mozilla/fenix/browser/BrowserFragment.kt | 3 +++ .../java/org/mozilla/fenix/browser/ToolbarGestureHandler.kt | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) 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 88d10d00f..b6154c5ea 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -109,6 +109,9 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { toolbarLayout = browserToolbarView.view, store = components.core.store, selectTabUseCase = components.useCases.tabsUseCases.selectTab, + onSwipeStarted = { + thumbnailsFeature.get()?.requestScreenshot() + }, ), ) } diff --git a/app/src/main/java/org/mozilla/fenix/browser/ToolbarGestureHandler.kt b/app/src/main/java/org/mozilla/fenix/browser/ToolbarGestureHandler.kt index f809d9f2c..1d33cea03 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/ToolbarGestureHandler.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/ToolbarGestureHandler.kt @@ -40,7 +40,7 @@ import kotlin.math.min * Handles intercepting touch events on the toolbar for swipe gestures and executes the * necessary animations. */ -@Suppress("LargeClass", "TooManyFunctions") +@Suppress("LargeClass", "TooManyFunctions", "LongParameterList") class ToolbarGestureHandler( private val activity: Activity, private val contentLayout: View, @@ -48,6 +48,7 @@ class ToolbarGestureHandler( private val toolbarLayout: View, private val store: BrowserStore, private val selectTabUseCase: TabsUseCases.SelectTabUseCase, + private val onSwipeStarted: () -> Unit, ) : SwipeGestureListener { private enum class GestureDirection { @@ -87,6 +88,7 @@ class ToolbarGestureHandler( abs(dy) < abs(dx) ) { preparePreview(getDestination()) + onSwipeStarted.invoke() true } else { false