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