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 99816b8ca..8bb1d4b96 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -78,7 +78,8 @@ import org.mozilla.fenix.utils.Settings import kotlin.coroutines.CoroutineContext @SuppressWarnings("TooManyFunctions", "LargeClass") -class BrowserFragment : Fragment(), BackHandler, CoroutineScope { +class BrowserFragment : Fragment(), BackHandler, CoroutineScope, + AccessibilityManager.TouchExplorationStateChangeListener { private lateinit var toolbarComponent: ToolbarComponent private var sessionObserver: Session.Observer? = null @@ -304,8 +305,8 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope { @Suppress("ComplexMethod") override fun onStart() { super.onStart() - setToolbarBehavior(false) sessionObserver = subscribeToSession() + updateToolbar() getAutoDisposeObservable() .subscribe { when (it) { @@ -568,6 +569,16 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope { return observer } + override fun onTouchExplorationStateChanged(enabled: Boolean) { + updateToolbar() + } + + private fun updateToolbar() { + getSessionById()?.loading?.let { + setToolbarBehavior(it) + } + } + private fun setToolbarBehavior(loading: Boolean) { if (getSessionById()?.isCustomTabSession() == true) { return }