|
|
@ -40,8 +40,7 @@ import mozilla.components.support.utils.toSafeIntent
|
|
|
|
import mozilla.components.support.webextensions.WebExtensionPopupFeature
|
|
|
|
import mozilla.components.support.webextensions.WebExtensionPopupFeature
|
|
|
|
import org.mozilla.fenix.browser.UriOpenedObserver
|
|
|
|
import org.mozilla.fenix.browser.UriOpenedObserver
|
|
|
|
import org.mozilla.fenix.browser.browsingmode.BrowsingMode
|
|
|
|
import org.mozilla.fenix.browser.browsingmode.BrowsingMode
|
|
|
|
import org.mozilla.fenix.browser.browsingmode.BrowsingModeManager
|
|
|
|
import org.mozilla.fenix.browser.browsingmode.BrowsingModeListener
|
|
|
|
import org.mozilla.fenix.browser.browsingmode.DefaultBrowsingModeManager
|
|
|
|
|
|
|
|
import org.mozilla.fenix.components.metrics.BreadcrumbsRecorder
|
|
|
|
import org.mozilla.fenix.components.metrics.BreadcrumbsRecorder
|
|
|
|
import org.mozilla.fenix.components.metrics.Event
|
|
|
|
import org.mozilla.fenix.components.metrics.Event
|
|
|
|
import org.mozilla.fenix.exceptions.ExceptionsFragmentDirections
|
|
|
|
import org.mozilla.fenix.exceptions.ExceptionsFragmentDirections
|
|
|
@ -74,7 +73,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity() {
|
|
|
|
|
|
|
|
|
|
|
|
private var webExtScope: CoroutineScope? = null
|
|
|
|
private var webExtScope: CoroutineScope? = null
|
|
|
|
lateinit var themeManager: ThemeManager
|
|
|
|
lateinit var themeManager: ThemeManager
|
|
|
|
lateinit var browsingModeManager: BrowsingModeManager
|
|
|
|
private val browsingModeManager get() = components.browsingModeManager
|
|
|
|
|
|
|
|
|
|
|
|
private var sessionObserver: SessionManager.Observer? = null
|
|
|
|
private var sessionObserver: SessionManager.Observer? = null
|
|
|
|
|
|
|
|
|
|
|
@ -99,6 +98,12 @@ open class HomeActivity : LocaleAwareAppCompatActivity() {
|
|
|
|
)
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private val browsingModeListener = object : BrowsingModeListener {
|
|
|
|
|
|
|
|
override fun onBrowsingModeChange(newMode: BrowsingMode) {
|
|
|
|
|
|
|
|
themeManager.currentTheme = newMode
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
override fun applyOverrideConfiguration(overrideConfiguration: Configuration?) {
|
|
|
|
override fun applyOverrideConfiguration(overrideConfiguration: Configuration?) {
|
|
|
|
if (overrideConfiguration != null) {
|
|
|
|
if (overrideConfiguration != null) {
|
|
|
|
val uiMode = overrideConfiguration.uiMode
|
|
|
|
val uiMode = overrideConfiguration.uiMode
|
|
|
@ -161,6 +166,16 @@ open class HomeActivity : LocaleAwareAppCompatActivity() {
|
|
|
|
hotStartMonitor.onPostResumeFinalMethodCall()
|
|
|
|
hotStartMonitor.onPostResumeFinalMethodCall()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
final override fun onStart() {
|
|
|
|
|
|
|
|
super.onStart()
|
|
|
|
|
|
|
|
browsingModeManager.registerBrowsingModeListener(browsingModeListener)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
final override fun onStop() {
|
|
|
|
|
|
|
|
super.onStop()
|
|
|
|
|
|
|
|
browsingModeManager.unregisterBrowsingModeListener()
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
final override fun onPause() {
|
|
|
|
final override fun onPause() {
|
|
|
|
super.onPause()
|
|
|
|
super.onPause()
|
|
|
|
|
|
|
|
|
|
|
@ -237,7 +252,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity() {
|
|
|
|
|
|
|
|
|
|
|
|
private fun setupThemeAndBrowsingMode(mode: BrowsingMode) {
|
|
|
|
private fun setupThemeAndBrowsingMode(mode: BrowsingMode) {
|
|
|
|
settings().lastKnownMode = mode
|
|
|
|
settings().lastKnownMode = mode
|
|
|
|
browsingModeManager = createBrowsingModeManager(mode)
|
|
|
|
browsingModeManager.mode = mode
|
|
|
|
themeManager = createThemeManager()
|
|
|
|
themeManager = createThemeManager()
|
|
|
|
themeManager.setActivityTheme(this)
|
|
|
|
themeManager.setActivityTheme(this)
|
|
|
|
themeManager.applyStatusBarTheme(this)
|
|
|
|
themeManager.applyStatusBarTheme(this)
|
|
|
@ -374,12 +389,6 @@ open class HomeActivity : LocaleAwareAppCompatActivity() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
protected open fun createBrowsingModeManager(initialMode: BrowsingMode): BrowsingModeManager {
|
|
|
|
|
|
|
|
return DefaultBrowsingModeManager(initialMode) { newMode ->
|
|
|
|
|
|
|
|
themeManager.currentTheme = newMode
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protected open fun createThemeManager(): ThemeManager {
|
|
|
|
protected open fun createThemeManager(): ThemeManager {
|
|
|
|
return DefaultThemeManager(browsingModeManager.mode, this)
|
|
|
|
return DefaultThemeManager(browsingModeManager.mode, this)
|
|
|
|
}
|
|
|
|
}
|
|
|
|