Bug 1884187 - Fix Fenix night mode bug after opening a custom tab

fenix/125.0
t-p-white 2 months ago committed by mergify[bot]
parent 0450b126f1
commit 32259c25ac

@ -5,6 +5,9 @@
package org.mozilla.fenix.customtabs
import android.app.Activity
import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM
import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_NO
import androidx.appcompat.app.AppCompatDelegate.MODE_NIGHT_YES
import androidx.appcompat.content.res.AppCompatResources.getDrawable
import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.browser.toolbar.BrowserToolbar
@ -15,6 +18,8 @@ import mozilla.components.support.base.feature.LifecycleAwareFeature
import mozilla.components.support.base.feature.UserInteractionHandler
import org.mozilla.fenix.R
import org.mozilla.fenix.components.toolbar.ToolbarMenu
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.utils.Settings
@Suppress("LongParameterList")
class CustomTabsIntegration(
@ -58,20 +63,31 @@ class CustomTabsIntegration(
}
private val feature = CustomTabsToolbarFeature(
store,
toolbar,
sessionId,
useCases,
store = store,
toolbar = toolbar,
sessionId = sessionId,
useCases = useCases,
menuBuilder = customTabToolbarMenu.menuBuilder,
menuItemIndex = START_OF_MENU_ITEMS_INDEX,
window = activity.window,
shareListener = { onItemTapped.invoke(ToolbarMenu.Item.Share) },
closeListener = { activity.finishAndRemoveTask() },
updateTheme = !isPrivate,
appNightMode = activity.settings().getAppNightMode(),
forceActionButtonTinting = isPrivate,
isNavBarEnabled = isNavBarEnabled,
)
private fun Settings.getAppNightMode() = if (shouldFollowDeviceTheme) {
MODE_NIGHT_FOLLOW_SYSTEM
} else {
if (shouldUseLightTheme) {
MODE_NIGHT_NO
} else {
MODE_NIGHT_YES
}
}
override fun start() = feature.start()
override fun stop() = feature.stop()
override fun onBackPressed() = feature.onBackPressed()

Loading…
Cancel
Save