diff --git a/app/src/geckoBeta/java/org/mozilla/fenix/engine/GeckoProvider.kt b/app/src/geckoBeta/java/org/mozilla/fenix/engine/GeckoProvider.kt index b784e185f..2f5002097 100644 --- a/app/src/geckoBeta/java/org/mozilla/fenix/engine/GeckoProvider.kt +++ b/app/src/geckoBeta/java/org/mozilla/fenix/engine/GeckoProvider.kt @@ -64,9 +64,10 @@ object GeckoProvider { } val geckoRuntime = GeckoRuntime.create(context, runtimeSettings) + // As a quick fix for #8967 we are conflating "should autofill" with "should save logins" val loginStorageDelegate = GeckoLoginStorageDelegate( storage, - { context.settings().shouldAutofillLogins && context.settings().shouldPromptToSaveLogins } + { context.settings().shouldPromptToSaveLogins } ) geckoRuntime.loginStorageDelegate = GeckoLoginDelegateWrapper(loginStorageDelegate) diff --git a/app/src/geckoNightly/java/org/mozilla/fenix/engine/GeckoProvider.kt b/app/src/geckoNightly/java/org/mozilla/fenix/engine/GeckoProvider.kt index ba446ce13..837a96e32 100644 --- a/app/src/geckoNightly/java/org/mozilla/fenix/engine/GeckoProvider.kt +++ b/app/src/geckoNightly/java/org/mozilla/fenix/engine/GeckoProvider.kt @@ -56,9 +56,10 @@ object GeckoProvider { } val geckoRuntime = GeckoRuntime.create(context, runtimeSettings) + // As a quick fix for #8967 we are conflating "should autofill" with "should save logins" val loginStorageDelegate = GeckoLoginStorageDelegate( storage, - { context.settings().shouldAutofillLogins && context.settings().shouldPromptToSaveLogins } + { context.settings().shouldPromptToSaveLogins } ) geckoRuntime.loginStorageDelegate = GeckoLoginDelegateWrapper(loginStorageDelegate) diff --git a/app/src/main/java/org/mozilla/fenix/settings/logins/SaveLoginSettingFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/logins/SaveLoginSettingFragment.kt index 6fb6e29a3..99d4a19f9 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/logins/SaveLoginSettingFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/logins/SaveLoginSettingFragment.kt @@ -9,6 +9,7 @@ import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event +import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.metrics import org.mozilla.fenix.ext.showToolbar import org.mozilla.fenix.settings.RadioButtonPreference @@ -39,6 +40,8 @@ class SaveLoginSettingFragment : PreferenceFragmentCompat() { ) ) } + // We want to reload the current session here so we can try to fill the current page + context?.components?.useCases?.sessionUseCases?.reload?.invoke() return super.onPreferenceChange(preference, newValue) } } @@ -57,6 +60,8 @@ class SaveLoginSettingFragment : PreferenceFragmentCompat() { ) ) } + // We want to reload the current session here so we don't save any currently inserted login + context?.components?.useCases?.sessionUseCases?.reload?.invoke() return super.onPreferenceChange(preference, newValue) } } diff --git a/app/src/main/res/xml/logins_preferences.xml b/app/src/main/res/xml/logins_preferences.xml index 22ded34b0..707666f58 100644 --- a/app/src/main/res/xml/logins_preferences.xml +++ b/app/src/main/res/xml/logins_preferences.xml @@ -2,12 +2,14 @@ - +