From 21919445b1b8082522ecdab55817dcc881ef549a Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Mon, 8 Apr 2019 17:15:30 -0700 Subject: [PATCH] For #897 - Set default theme so private mode doesn't have to recreate --- app/src/main/java/org/mozilla/fenix/HomeActivity.kt | 10 ++++++++-- app/src/main/java/org/mozilla/fenix/ThemeManager.kt | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index f8a5d9670c..99b534bb64 100644 --- a/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -7,6 +7,7 @@ package org.mozilla.fenix import android.content.Context import android.content.Intent import android.os.Bundle +import android.preference.PreferenceManager import android.util.AttributeSet import android.view.View import androidx.appcompat.app.AppCompatActivity @@ -56,12 +57,17 @@ open class HomeActivity : AppCompatActivity() { super.onCreate(savedInstanceState) sessionObserver = subscribeToSessions() + themeManager.temporaryThemeManagerStorage = + when (PreferenceManager.getDefaultSharedPreferences(this) + .getBoolean(this.getString(R.string.pref_key_private_mode), false)) { + true -> ThemeManager.Theme.Private + false -> ThemeManager.Theme.Normal + } setTheme(themeManager.currentTheme) DefaultThemeManager.applyStatusBarTheme(window, themeManager, this) - components.core.setEnginePreferredColorScheme() - browsingModeManager = DefaultBrowsingModeManager(this) + components.core.setEnginePreferredColorScheme() setContentView(R.layout.activity_home) val appBarConfiguration = AppBarConfiguration.Builder(setOf(R.id.libraryFragment)).build() diff --git a/app/src/main/java/org/mozilla/fenix/ThemeManager.kt b/app/src/main/java/org/mozilla/fenix/ThemeManager.kt index 7f71a6f893..445b1c59f9 100644 --- a/app/src/main/java/org/mozilla/fenix/ThemeManager.kt +++ b/app/src/main/java/org/mozilla/fenix/ThemeManager.kt @@ -32,8 +32,9 @@ fun Activity.setTheme(theme: ThemeManager.Theme) { fun ThemeManager.Theme.isPrivate(): Boolean = this == ThemeManager.Theme.Private -private var temporaryThemeManagerStorage = ThemeManager.Theme.Normal class DefaultThemeManager : ThemeManager { + var temporaryThemeManagerStorage = ThemeManager.Theme.Normal + var onThemeChange: ((ThemeManager.Theme) -> Unit)? = null override val currentTheme: ThemeManager.Theme