From e891139db991add486cc306bee63ea3567fad780 Mon Sep 17 00:00:00 2001 From: Grisha Kruglov Date: Thu, 27 May 2021 22:43:28 -0700 Subject: [PATCH] Minor cleanup of the account settings --- .../account/AccountSettingsFragment.kt | 36 +++++++++---------- .../res/xml/account_settings_preferences.xml | 8 ++--- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt index 9122e47cb..6c36b9ff8 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt @@ -183,24 +183,22 @@ class AccountSettingsFragment : PreferenceFragmentCompat() { ).forEach { requirePreference(it.prefId()).apply { setOnPreferenceChangeListener { _, newValue -> - updateSyncEngineState(context, it, newValue as Boolean) + updateSyncEngineState(it, newValue as Boolean) true } } } // 'Passwords' and 'Credit card' listeners are special, since we also display a pin protection warning. - requirePreference(SyncEngine.Passwords.prefId()).apply { - setOnPreferenceChangeListener { _, newValue -> - updateSyncEngineStateWithPinWarning(SyncEngine.Passwords, newValue as Boolean) - true - } - } - - requirePreference(SyncEngine.CreditCards.prefId()).apply { - setOnPreferenceChangeListener { _, newValue -> - updateSyncEngineStateWithPinWarning(SyncEngine.CreditCards, newValue as Boolean) - true + listOf( + SyncEngine.Passwords, + SyncEngine.CreditCards + ).forEach { + requirePreference(it.prefId()).apply { + setOnPreferenceChangeListener { _, newValue -> + updateSyncEngineStateWithPinWarning(it, newValue as Boolean) + true + } } } @@ -223,10 +221,10 @@ class AccountSettingsFragment : PreferenceFragmentCompat() { * * Currently used for logins and credit cards. * - * @param engine the sync engine whose preference has changed. + * @param syncEngine the sync engine whose preference has changed. * @param newValue the value denoting whether or not to sync the specified preference. */ - private fun CheckBoxPreference.updateSyncEngineStateWithPinWarning( + private fun updateSyncEngineStateWithPinWarning( syncEngine: SyncEngine, newValue: Boolean ) { @@ -236,7 +234,7 @@ class AccountSettingsFragment : PreferenceFragmentCompat() { !newValue || !requireContext().settings().shouldShowSecurityPinWarningSync ) { - updateSyncEngineState(context, syncEngine, newValue) + updateSyncEngineState(syncEngine, newValue) } else { showPinDialogWarning(syncEngine, newValue) } @@ -250,10 +248,10 @@ class AccountSettingsFragment : PreferenceFragmentCompat() { * @param newValue the new value of the sync preference, where true indicates sync for that * preference and false indicates not synced. */ - private fun updateSyncEngineState(context: Context, engine: SyncEngine, newValue: Boolean) { - SyncEnginesStorage(context).setStatus(engine, newValue) + private fun updateSyncEngineState(engine: SyncEngine, newValue: Boolean) { + SyncEnginesStorage(requireContext()).setStatus(engine, newValue) viewLifecycleOwner.lifecycleScope.launch { - context.components.backgroundServices.accountManager.syncNow(SyncReason.EngineChange) + requireContext().components.backgroundServices.accountManager.syncNow(SyncReason.EngineChange) } } @@ -276,7 +274,7 @@ class AccountSettingsFragment : PreferenceFragmentCompat() { ) setNegativeButton(getString(R.string.logins_warning_dialog_later)) { _: DialogInterface, _ -> - updateSyncEngineState(context, syncEngine, newValue) + updateSyncEngineState(syncEngine, newValue) } setPositiveButton(getString(R.string.logins_warning_dialog_set_up_now)) { it: DialogInterface, _ -> diff --git a/app/src/main/res/xml/account_settings_preferences.xml b/app/src/main/res/xml/account_settings_preferences.xml index 5aa6e74e1..68894cf73 100644 --- a/app/src/main/res/xml/account_settings_preferences.xml +++ b/app/src/main/res/xml/account_settings_preferences.xml @@ -30,8 +30,7 @@ android:title="@string/preferences_sync_bookmarks" /> @@ -49,13 +48,14 @@ android:title="@string/preferences_sync_logins" /> +