From 63f1556fbfa7b5ea2cef884360e0f8dac3024f81 Mon Sep 17 00:00:00 2001 From: ekager Date: Fri, 6 Mar 2020 10:50:09 -0800 Subject: [PATCH] [fenix] For https://github.com/mozilla-mobile/fenix/issues/8967 - Remove ability to pref login autofilling by itself --- .../geckoBeta/java/org/mozilla/fenix/engine/GeckoProvider.kt | 3 ++- .../java/org/mozilla/fenix/engine/GeckoProvider.kt | 3 ++- .../fenix/settings/logins/SaveLoginSettingFragment.kt | 5 +++++ app/src/main/res/xml/logins_preferences.xml | 4 +++- 4 files changed, 12 insertions(+), 3 deletions(-) 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 b784e185fc..2f50020978 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 ba446ce13f..837a96e324 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 6fb6e29a36..99d4a19f98 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 22ded34b09..707666f585 100644 --- a/app/src/main/res/xml/logins_preferences.xml +++ b/app/src/main/res/xml/logins_preferences.xml @@ -2,12 +2,14 @@ - +