From e1ec8d67fa3de4a86aab9c302da2b4ff707fc0ab Mon Sep 17 00:00:00 2001 From: Harrison Oglesby Date: Thu, 11 Jan 2024 16:08:40 -0800 Subject: [PATCH] Bug 1874298 - Add Reload Page action to PageActions in Toolbar --- .../mozilla/fenix/browser/BrowserFragment.kt | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) 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 b6154c5ea..fb0e2d646 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -414,6 +414,49 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { } } + private fun initReloadAction(context: Context) { + if (!IncompleteRedesignToolbarFeature(context.settings()).isEnabled || refreshAction != null) { + return + } + + refreshAction = + BrowserToolbar.TwoStateButton( + primaryImage = AppCompatResources.getDrawable( + context, + R.drawable.mozac_ic_arrow_clockwise_24, + )!!, + primaryContentDescription = context.getString(R.string.browser_menu_refresh), + primaryImageTintResource = ThemeManager.resolveAttribute(R.attr.textPrimary, context), + isInPrimaryState = { + getCurrentTab()?.content?.loading == false + }, + secondaryImage = AppCompatResources.getDrawable( + context, + R.drawable.mozac_ic_stop, + )!!, + secondaryContentDescription = context.getString(R.string.browser_menu_stop), + disableInSecondaryState = false, + longClickListener = { + browserToolbarInteractor.onBrowserToolbarMenuItemTapped( + ToolbarMenu.Item.Reload(bypassCache = true), + ) + }, + listener = { + if (getCurrentTab()?.content?.loading == true) { + browserToolbarInteractor.onBrowserToolbarMenuItemTapped(ToolbarMenu.Item.Stop) + } else { + browserToolbarInteractor.onBrowserToolbarMenuItemTapped( + ToolbarMenu.Item.Reload(bypassCache = false), + ) + } + }, + ) + + refreshAction?.let { + browserToolbarView.view.addPageAction(it) + } + } + private fun initReviewQualityCheck(context: Context, view: View) { val reviewQualityCheck = BrowserToolbar.ToggleButton(