tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 080f78265081d7cc3d847599e7103a34da9123e7
parent 8b7d77523fffa2dda46a8c4997da5ac896982792
Author: Mugurell <Mugurell@users.noreply.github.com>
Date:   Thu, 27 Nov 2025 16:19:31 +0000

Bug 2001536 - Force show the dynamic toolbar after virtual keyboard is dismissed r=android-reviewers,Roger

Differential Revision: https://phabricator.services.mozilla.com/D274292

Diffstat:
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/FenixBrowserToolbarView.kt | 25+++++++++++++++++++++++++
1 file changed, 25 insertions(+), 0 deletions(-)

diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/FenixBrowserToolbarView.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/FenixBrowserToolbarView.kt @@ -7,6 +7,9 @@ package org.mozilla.fenix.components.toolbar import android.view.View import android.view.ViewGroup import androidx.annotation.VisibleForTesting +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.ui.platform.ComposeView import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.view.isVisible import mozilla.components.browser.state.state.CustomTabSessionState @@ -18,6 +21,8 @@ import mozilla.components.ui.widgets.behavior.DependencyGravity.Bottom import mozilla.components.ui.widgets.behavior.DependencyGravity.Top import mozilla.components.ui.widgets.behavior.EngineViewScrollingBehavior import mozilla.components.ui.widgets.behavior.EngineViewScrollingBehaviorFactory +import org.mozilla.fenix.compose.utils.KeyboardState +import org.mozilla.fenix.compose.utils.keyboardAsState import org.mozilla.fenix.utils.Settings /** @@ -32,6 +37,11 @@ abstract class FenixBrowserToolbarView( private val settings: Settings, private val customTabSession: CustomTabSessionState?, ) : ScrollableToolbar { + + init { + setupShowingToolbarsAfterKeyboardHidden() + } + abstract val layout: View @VisibleForTesting @@ -152,4 +162,19 @@ abstract class FenixBrowserToolbarView( } protected fun shouldShowTabStrip() = customTabSession == null && settings.isTabStripEnabled + + private fun setupShowingToolbarsAfterKeyboardHidden() { + parent.addView( + ComposeView(parent.context).apply { + setContent { + val keyboardState by keyboardAsState() + LaunchedEffect(keyboardState) { + if (keyboardState == KeyboardState.Closed) { + expand() + } + } + } + }, + ) + } }