For #8800: clear menu highlights on use
parent
95a89f9dba
commit
1381444a52
|
@ -36,6 +36,7 @@ import org.mozilla.fenix.components.metrics.Event
|
|||
import org.mozilla.fenix.ext.components
|
||||
import org.mozilla.fenix.ext.getRootView
|
||||
import org.mozilla.fenix.ext.nav
|
||||
import org.mozilla.fenix.ext.settings
|
||||
import org.mozilla.fenix.lib.Do
|
||||
import org.mozilla.fenix.settings.deletebrowsingdata.deleteAndQuit
|
||||
|
||||
|
@ -158,6 +159,7 @@ class DefaultBrowserToolbarController(
|
|||
}
|
||||
}
|
||||
ToolbarMenu.Item.AddToHomeScreen -> {
|
||||
activity.settings().installPwaOpened = true
|
||||
MainScope().launch {
|
||||
with(activity.components.useCases.webAppUseCases) {
|
||||
if (isInstallable()) {
|
||||
|
@ -247,6 +249,8 @@ class DefaultBrowserToolbarController(
|
|||
deleteAndQuit(activity, scope, snackbar)
|
||||
}
|
||||
is ToolbarMenu.Item.ReaderMode -> {
|
||||
activity.settings().readerModeOpened = true
|
||||
|
||||
val enabled = currentSession?.readerMode
|
||||
?: activity.components.core.sessionManager.selectedSession?.readerMode
|
||||
?: false
|
||||
|
@ -261,6 +265,8 @@ class DefaultBrowserToolbarController(
|
|||
readerModeController.showControls()
|
||||
}
|
||||
ToolbarMenu.Item.OpenInApp -> {
|
||||
activity.settings().openInAppOpened = true
|
||||
|
||||
val appLinksUseCases =
|
||||
activity.components.useCases.appLinksUseCases
|
||||
val getRedirect = appLinksUseCases.appLinkRedirect
|
||||
|
|
|
@ -30,6 +30,7 @@ import org.mozilla.fenix.ReleaseChannel
|
|||
import org.mozilla.fenix.browser.browsingmode.BrowsingMode
|
||||
import org.mozilla.fenix.ext.asActivity
|
||||
import org.mozilla.fenix.ext.components
|
||||
import org.mozilla.fenix.ext.settings
|
||||
import org.mozilla.fenix.theme.ThemeManager
|
||||
import org.mozilla.fenix.utils.Settings
|
||||
|
||||
|
@ -236,7 +237,9 @@ class DefaultToolbarMenu(
|
|||
),
|
||||
isHighlighted = {
|
||||
val webAppUseCases = context.components.useCases.webAppUseCases
|
||||
webAppUseCases.isPinningSupported() && webAppUseCases.isInstallable()
|
||||
webAppUseCases.isPinningSupported() &&
|
||||
webAppUseCases.isInstallable() &&
|
||||
!context.settings().installPwaOpened
|
||||
}
|
||||
) {
|
||||
onItemTapped.invoke(ToolbarMenu.Item.AddToHomeScreen)
|
||||
|
@ -284,7 +287,7 @@ class DefaultToolbarMenu(
|
|||
label = context.getString(R.string.browser_menu_read),
|
||||
notificationTint = getColor(context, R.color.whats_new_notification_color)
|
||||
),
|
||||
isHighlighted = { true }
|
||||
isHighlighted = { !context.settings().readerModeOpened }
|
||||
) { checked ->
|
||||
onItemTapped.invoke(ToolbarMenu.Item.ReaderMode(checked))
|
||||
}
|
||||
|
@ -305,7 +308,7 @@ class DefaultToolbarMenu(
|
|||
label = context.getString(R.string.browser_menu_open_app_link),
|
||||
notificationTint = getColor(context, R.color.whats_new_notification_color)
|
||||
),
|
||||
isHighlighted = { true }
|
||||
isHighlighted = { !context.settings().openInAppOpened }
|
||||
) {
|
||||
onItemTapped.invoke(ToolbarMenu.Item.OpenInApp)
|
||||
}
|
||||
|
|
|
@ -133,6 +133,21 @@ class Settings private constructor(
|
|||
default = ""
|
||||
)
|
||||
|
||||
var readerModeOpened by booleanPreference(
|
||||
appContext.getPreferenceKey(R.string.pref_key_reader_mode_opened),
|
||||
default = false
|
||||
)
|
||||
|
||||
var openInAppOpened by booleanPreference(
|
||||
appContext.getPreferenceKey(R.string.pref_key_open_in_app_opened),
|
||||
default = false
|
||||
)
|
||||
|
||||
var installPwaOpened by booleanPreference(
|
||||
appContext.getPreferenceKey(R.string.pref_key_install_pwa_opened),
|
||||
default = false
|
||||
)
|
||||
|
||||
val isCrashReportingEnabled: Boolean
|
||||
get() = isCrashReportEnabledInBuild &&
|
||||
preferences.getBoolean(
|
||||
|
|
|
@ -47,6 +47,9 @@
|
|||
<string name="pref_key_experimentation" translatable="false">pref_key_experimentation</string>
|
||||
<string name="pref_key_showed_private_mode_cfr" translatable="false">pref_key_showed_private_mode_cfr</string>
|
||||
<string name="pref_key_private_mode_opened" translatable="false">pref_key_private_mode_opened</string>
|
||||
<string name="pref_key_reader_mode_opened" translatable="false">pref_key_reader_mode_opened</string>
|
||||
<string name="pref_key_open_in_app_opened" translatable="false">pref_key_open_in_app_opened</string>
|
||||
<string name="pref_key_install_pwa_opened" translatable="false">pref_key_install_pwa_opened</string>
|
||||
|
||||
<!-- Data Choices -->
|
||||
<string name="pref_key_telemetry" translatable="false">pref_key_telemetry</string>
|
||||
|
|
Loading…
Reference in New Issue