diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index 852caad34..d918c2570 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -218,6 +218,14 @@ open class HomeActivity : AppCompatActivity() { } } + fun updateThemeForSession(session: Session) { + if (session.private && !themeManager.currentTheme.isPrivate()) { + browsingModeManager.mode = BrowsingModeManager.Mode.Private + } else if (!session.private && themeManager.currentTheme.isPrivate()) { + browsingModeManager.mode = BrowsingModeManager.Mode.Normal + } + } + private fun subscribeToSessions(): SessionManager.Observer { return object : SessionManager.Observer { @@ -244,6 +252,11 @@ open class HomeActivity : AppCompatActivity() { it.register(singleSessionObserver) } } + + override fun onSessionSelected(session: Session) { + super.onSessionSelected(session) + updateThemeForSession(session) + } }.also { components.core.sessionManager.register(it) } } 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 ed9d4876a..63d4b2b33 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -302,6 +302,9 @@ class BrowserFragment : Fragment(), BackHandler, CoroutineScope, override fun onResume() { super.onResume() + getSessionById()?.let { + (activity as HomeActivity).updateThemeForSession(it) + } context?.components?.core?.let { val preferredColorScheme = it.getPreferredColorScheme() if (it.engine.settings.preferredColorScheme != preferredColorScheme) {