From b11a7554c2060270e723047521b1ad8d8bc759d1 Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Fri, 26 Apr 2019 22:00:22 -0700 Subject: [PATCH] For #1836 - Update theme based on if session private (#2099) --- app/src/main/java/org/mozilla/fenix/HomeActivity.kt | 13 +++++++++++++ .../org/mozilla/fenix/browser/BrowserFragment.kt | 3 +++ 2 files changed, 16 insertions(+) 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) {