From dd6439269bb48847668c4d0aa3fab54a576784b7 Mon Sep 17 00:00:00 2001 From: Severin Rudie Date: Mon, 7 Oct 2019 11:18:45 -0700 Subject: [PATCH] For 4780: ThemeManager now sends an intent before recreating Updating themes recreates the activity, so if we aren't persisting 'usePrivateMode', we need to pass it to the new instance --- app/src/main/java/org/mozilla/fenix/theme/ThemeManager.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/theme/ThemeManager.kt b/app/src/main/java/org/mozilla/fenix/theme/ThemeManager.kt index 3c73d9f69..0dec76f0e 100644 --- a/app/src/main/java/org/mozilla/fenix/theme/ThemeManager.kt +++ b/app/src/main/java/org/mozilla/fenix/theme/ThemeManager.kt @@ -6,6 +6,7 @@ package org.mozilla.fenix.theme import android.app.Activity import android.content.Context +import android.content.Intent import android.content.res.Configuration import android.graphics.Color import android.os.Build @@ -14,6 +15,8 @@ import android.util.TypedValue import android.view.View import android.view.Window import androidx.annotation.StyleRes +import mozilla.components.support.utils.toSafeIntent +import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R import org.mozilla.fenix.browser.browsingmode.BrowsingMode import org.mozilla.fenix.ext.getColorFromAttr @@ -111,6 +114,10 @@ class DefaultThemeManager( field = value setActivityTheme(activity) + + val intent = activity.intent ?: Intent().also { activity.intent = it } + intent.putExtra(HomeActivity.PRIVATE_BROWSING_MODE, value == BrowsingMode.Private) + activity.recreate() } }