From 2d03674397b081c3f91c1806fafa596959dc9a12 Mon Sep 17 00:00:00 2001 From: sarah541 Date: Wed, 14 Feb 2024 12:02:02 -0500 Subject: [PATCH] Bug 1877833 - Utilize new credential management strings --- .../syncintegration/SyncIntegrationTest.kt | 2 +- .../fenix/ui/CreditCardAutofillTest.kt | 6 +- .../java/org/mozilla/fenix/ui/LoginsTest.kt | 12 +- .../mozilla/fenix/ui/robots/SettingsRobot.kt | 8 +- .../ui/robots/SettingsSubMenuAutofillRobot.kt | 26 +-- .../SettingsSubMenuLoginsAndPasswordRobot.kt | 10 +- ...bMenuLoginsAndPasswordsSavedLoginsRobot.kt | 22 +-- .../fenix/browser/BaseBrowserFragment.kt | 8 +- .../login/LoginExceptionsAdapter.kt | 2 +- .../exceptions/login/LoginExceptionsView.kt | 5 +- .../viewholders/ExceptionsHeaderViewHolder.kt | 6 +- .../fenix/settings/SettingsFragment.kt | 2 +- .../fenix/settings/SyncPreferenceView.kt | 2 +- .../account/AccountSettingsFragment.kt | 4 +- .../address/view/AddressEditorView.kt | 2 +- .../autofill/AutofillSettingFragment.kt | 13 +- .../creditcards/CreditCardEditorFragment.kt | 2 +- .../CreditCardsManagementInteractor.kt | 2 +- .../creditcards/view/CreditCardEditorView.kt | 4 +- .../logins/fragment/AddLoginFragment.kt | 6 +- .../logins/fragment/EditLoginFragment.kt | 4 +- .../logins/fragment/LoginDetailFragment.kt | 2 +- .../fragment/SavedLoginsAuthFragment.kt | 10 +- .../logins/fragment/SavedLoginsFragment.kt | 4 +- .../logins/view/SavedLoginsListView.kt | 2 +- .../java/org/mozilla/fenix/utils/Settings.kt | 2 +- .../res/layout/component_saved_logins.xml | 4 +- .../main/res/layout/fragment_add_login.xml | 4 +- .../main/res/layout/fragment_edit_login.xml | 8 +- .../res/layout/layout_add_credit_card.xml | 2 +- app/src/main/res/layout/layout_add_login.xml | 2 +- .../saved_logins_sort_items_toolbar_child.xml | 4 +- app/src/main/res/menu/login_list.xml | 4 +- app/src/main/res/menu/login_options_menu.xml | 4 +- app/src/main/res/menu/login_save.xml | 2 +- app/src/main/res/navigation/nav_graph.xml | 8 +- app/src/main/res/values/preference_keys.xml | 2 +- app/src/main/res/values/strings.xml | 167 +++++++++--------- .../res/xml/account_settings_preferences.xml | 4 +- app/src/main/res/xml/autofill_preferences.xml | 12 +- .../main/res/xml/credit_cards_preferences.xml | 6 +- app/src/main/res/xml/logins_preferences.xml | 6 +- app/src/main/res/xml/preferences.xml | 4 +- .../browser/FenixSnackbarDelegateTest.kt | 8 +- .../login/LoginExceptionsViewTest.kt | 2 +- .../ExceptionsHeaderViewHolderTest.kt | 11 +- .../autofill/AutofillSettingFragmentTest.kt | 6 +- .../settings/logins/SyncPreferenceViewTest.kt | 8 +- 48 files changed, 229 insertions(+), 217 deletions(-) diff --git a/app/src/androidTest/java/org/mozilla/fenix/syncintegration/SyncIntegrationTest.kt b/app/src/androidTest/java/org/mozilla/fenix/syncintegration/SyncIntegrationTest.kt index 2956ec39e..4a374b141 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/syncintegration/SyncIntegrationTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/syncintegration/SyncIntegrationTest.kt @@ -133,7 +133,7 @@ class SyncIntegrationTest { verifySavedLoginsAfterSync() }.goBack { // After checking the synced logins - // on Logins and Passwords menu the Sync logins option is set to On + // on Logins and Passwords menu the Sync passwords option is set to On verifyDefaultViewAfterSync() } } diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/CreditCardAutofillTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/CreditCardAutofillTest.kt index 9a9b5697b..11dac5a60 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/CreditCardAutofillTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/CreditCardAutofillTest.kt @@ -60,7 +60,7 @@ class CreditCardAutofillTest : TestSetup() { MockCreditCard1.MOCK_EXPIRATION_MONTH, MockCreditCard1.MOCK_EXPIRATION_YEAR, ) - // Opening Manage saved cards to dismiss here the Secure your credit prompt + // Opening Manage cards to dismiss here the Secure your credit prompt clickManageSavedCreditCardsButton() clickSecuredCreditCardsLaterButton() }.goBackToAutofillSettings { @@ -470,7 +470,7 @@ class CreditCardAutofillTest : TestSetup() { MockCreditCard2.MOCK_EXPIRATION_MONTH, MockCreditCard2.MOCK_EXPIRATION_YEAR, ) - // Opening Manage saved cards to dismiss here the Secure your credit prompt + // Opening Manage cards to dismiss here the Secure your credit prompt clickManageSavedCreditCardsButton() clickSecuredCreditCardsLaterButton() } @@ -521,7 +521,7 @@ class CreditCardAutofillTest : TestSetup() { MockCreditCard2.MOCK_EXPIRATION_MONTH, MockCreditCard2.MOCK_EXPIRATION_YEAR, ) - // Opening Manage saved cards to dismiss here the Secure your credit prompt + // Opening Manage cards to dismiss here the Secure your credit prompt clickManageSavedCreditCardsButton() clickSecuredCreditCardsLaterButton() } diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/LoginsTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/LoginsTest.kt index e91723e27..317aa9c39 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/LoginsTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/LoginsTest.kt @@ -56,14 +56,14 @@ class LoginsTest : TestSetup() { } // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/2092713 - // Tests the Logins and passwords menu items and default values + // Tests the Passwords menu items and default values @Test fun loginsAndPasswordsSettingsItemsTest() { homeScreen { }.openThreeDotMenu { }.openSettings { // Necessary to scroll a little bit for all screen sizes - scrollToElementByText("Logins and passwords") + scrollToElementByText("Passwords") }.openLoginsAndPasswordSubMenu { verifyDefaultView() verifyAutofillInFirefoxToggle(true) @@ -80,7 +80,7 @@ class LoginsTest : TestSetup() { }.openThreeDotMenu { }.openSettings { // Necessary to scroll a little bit for all screen sizes - scrollToElementByText("Logins and passwords") + scrollToElementByText("Passwords") }.openLoginsAndPasswordSubMenu { verifyDefaultView() }.openSavedLogins { @@ -98,7 +98,7 @@ class LoginsTest : TestSetup() { }.openThreeDotMenu { }.openSettings { // Necessary to scroll a little bit for all screen sizes - scrollToElementByText("Logins and passwords") + scrollToElementByText("Passwords") }.openLoginsAndPasswordSubMenu { }.openSyncLogins { verifyReadyToScanOption() @@ -132,7 +132,7 @@ class LoginsTest : TestSetup() { browserScreen { }.openThreeDotMenu { }.openSettings { - scrollToElementByText("Logins and passwords") + scrollToElementByText("Passwords") }.openLoginsAndPasswordSubMenu { verifyDefaultView() }.openSavedLogins { @@ -222,7 +222,7 @@ class LoginsTest : TestSetup() { clickPageObject(itemWithText("Update")) }.openThreeDotMenu { }.openSettings { - scrollToElementByText("Logins and passwords") + scrollToElementByText("Passwords") }.openLoginsAndPasswordSubMenu { }.openSavedLogins { verifySecurityPromptForLogins() diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsRobot.kt index 8e6a98de4..4d520cb6e 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsRobot.kt @@ -201,9 +201,9 @@ class SettingsRobot { Log.i(TAG, "verifyEnhancedTrackingProtectionButton: Verified that the \"Enhanced Tracking Protection\" button is visible") } fun verifyLoginsAndPasswordsButton() { - scrollToElementByText("Logins and passwords") + scrollToElementByText("Passwords") Log.i(TAG, "verifyLoginsAndPasswordsButton: Trying to verify that the \"Logins and passwords\" button is visible") - onView(withText(R.string.preferences_passwords_logins_and_passwords)) + onView(withText(R.string.preferences_passwords_logins_and_passwords_2)) .check(matches(withEffectiveVisibility(Visibility.VISIBLE))) Log.i(TAG, "verifyLoginsAndPasswordsButton: Verified that the \"Logins and passwords\" button is visible") } @@ -625,9 +625,9 @@ class SettingsRobot { } fun openLoginsAndPasswordSubMenu(interact: SettingsSubMenuLoginsAndPasswordRobot.() -> Unit): SettingsSubMenuLoginsAndPasswordRobot.Transition { - scrollToElementByText("Logins and passwords") + scrollToElementByText("Passwords") Log.i(TAG, "openLoginsAndPasswordSubMenu: Trying to click the \"Logins and passwords\" button") - onView(withText("Logins and passwords")).click() + onView(withText("Passwords")).click() Log.i(TAG, "openLoginsAndPasswordSubMenu: Clicked the \"Logins and passwords\" button") SettingsSubMenuLoginsAndPasswordRobot().interact() diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuAutofillRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuAutofillRobot.kt index 659a2239d..01b7d9789 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuAutofillRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuAutofillRobot.kt @@ -110,7 +110,7 @@ class SettingsSubMenuAutofillRobot { fun verifyAddressesAutofillToggle(enabled: Boolean) { Log.i(TAG, "verifyAddressesAutofillToggle: Trying to verify that the \"Save and autofill addresses\" toggle is checked: $enabled") - onView(withText(R.string.preferences_addresses_save_and_autofill_addresses)) + onView(withText(R.string.preferences_addresses_save_and_autofill_addresses_2)) .check( matches( hasCousin( @@ -130,7 +130,7 @@ class SettingsSubMenuAutofillRobot { fun verifySaveAndAutofillCreditCardsToggle(enabled: Boolean) { Log.i(TAG, "verifySaveAndAutofillCreditCardsToggle: Trying to verify that the \"Save and autofill cards\" toggle is checked: $enabled") - onView(withText(R.string.preferences_credit_cards_save_and_autofill_cards)) + onView(withText(R.string.preferences_credit_cards_save_and_autofill_cards_2)) .check( matches( hasCousin( @@ -229,9 +229,9 @@ class SettingsSubMenuAutofillRobot { } fun clickSaveAndAutofillAddressesOption() { - Log.i(TAG, "clickSaveAndAutofillAddressesOption: Trying to click the \"Save and autofill addresses\" button") + Log.i(TAG, "clickSaveAndAutofillAddressesOption: Trying to click the \"Save and fill addresses\" button") saveAndAutofillAddressesOption().click() - Log.i(TAG, "clickSaveAndAutofillAddressesOption: Clicked the \"Save and autofill addresses\" button") + Log.i(TAG, "clickSaveAndAutofillAddressesOption: Clicked the \"Save and fill addresses\" button") } fun clickAddAddressButton() { Log.i(TAG, "clickAddAddressButton: Trying to click the \"Add address\" button") @@ -527,10 +527,10 @@ class SettingsSubMenuAutofillRobot { fun verifyEditCreditCardToolbarTitle() = assertUIObjectExists(editCreditCardToolbarTitle()) fun verifyCreditCardNumberErrorMessage() = - assertUIObjectExists(itemContainingText(getStringResource(R.string.credit_cards_number_validation_error_message))) + assertUIObjectExists(itemContainingText(getStringResource(R.string.credit_cards_number_validation_error_message_2))) fun verifyNameOnCreditCardErrorMessage() = - assertUIObjectExists(itemContainingText(getStringResource(R.string.credit_cards_name_on_card_validation_error_message))) + assertUIObjectExists(itemContainingText(getStringResource(R.string.credit_cards_name_on_card_validation_error_message_2))) class Transition { fun goBack(interact: SettingsRobot.() -> Unit): SettingsRobot.Transition { @@ -585,8 +585,8 @@ private fun manageAddressesToolbarTitle() = .childSelector(UiSelector().text(getStringResource(R.string.addresses_manage_addresses))), ) -private fun saveAndAutofillAddressesOption() = itemContainingText(getStringResource(R.string.preferences_addresses_save_and_autofill_addresses)) -private fun saveAndAutofillAddressesSummary() = itemContainingText(getStringResource(R.string.preferences_addresses_save_and_autofill_addresses_summary)) +private fun saveAndAutofillAddressesOption() = itemContainingText(getStringResource(R.string.preferences_addresses_save_and_autofill_addresses_2)) +private fun saveAndAutofillAddressesSummary() = itemContainingText(getStringResource(R.string.preferences_addresses_save_and_autofill_addresses_summary_2)) private fun addAddressButton() = itemContainingText(getStringResource(R.string.preferences_addresses_add_address)) private fun manageAddressesButton() = mDevice.findObject( @@ -614,14 +614,14 @@ private fun toolbarDeleteAddressButton() = itemWithResId("$packageName:id/delete private fun cancelDeleteAddressButton() = onView(withId(android.R.id.button2)).inRoot(RootMatchers.isDialog()) private fun confirmDeleteAddressButton() = onView(withId(android.R.id.button1)).inRoot(RootMatchers.isDialog()) -private fun creditCardsSectionTitle() = itemContainingText(getStringResource(R.string.preferences_credit_cards)) -private fun saveAndAutofillCreditCardsOption() = itemContainingText(getStringResource(R.string.preferences_credit_cards_save_and_autofill_cards)) -private fun saveAndAutofillCreditCardsSummary() = itemContainingText(getStringResource(R.string.preferences_credit_cards_save_and_autofill_cards_summary)) +private fun creditCardsSectionTitle() = itemContainingText(getStringResource(R.string.preferences_credit_cards_2)) +private fun saveAndAutofillCreditCardsOption() = itemContainingText(getStringResource(R.string.preferences_credit_cards_save_and_autofill_cards_2)) +private fun saveAndAutofillCreditCardsSummary() = itemContainingText(getStringResource(R.string.preferences_credit_cards_save_and_autofill_cards_summary_2)) private fun syncCreditCardsAcrossDevicesButton() = itemContainingText(getStringResource(R.string.preferences_credit_cards_sync_cards_across_devices)) -private fun addCreditCardButton() = mDevice.findObject(UiSelector().textContains(getStringResource(R.string.preferences_credit_cards_add_credit_card))) +private fun addCreditCardButton() = mDevice.findObject(UiSelector().textContains(getStringResource(R.string.preferences_credit_cards_add_credit_card_2))) private fun savedCreditCardsToolbarTitle() = itemContainingText(getStringResource(R.string.credit_cards_saved_cards)) private fun editCreditCardToolbarTitle() = itemContainingText(getStringResource(R.string.credit_cards_edit_card)) -private fun manageSavedCreditCardsButton() = mDevice.findObject(UiSelector().textContains(getStringResource(R.string.preferences_credit_cards_manage_saved_cards))) +private fun manageSavedCreditCardsButton() = mDevice.findObject(UiSelector().textContains(getStringResource(R.string.preferences_credit_cards_manage_saved_cards_2))) private fun creditCardNumberTextInput() = mDevice.findObject(UiSelector().resourceId("$packageName:id/card_number_input")) private fun nameOnCreditCardTextInput() = mDevice.findObject(UiSelector().resourceId("$packageName:id/name_on_card_input")) private fun expiryMonthDropDown() = mDevice.findObject(UiSelector().resourceId("$packageName:id/expiry_month_drop_down")) diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordRobot.kt index 50695607d..29eb7ae5c 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordRobot.kt @@ -38,10 +38,10 @@ import org.mozilla.fenix.helpers.ext.waitNotNull class SettingsSubMenuLoginsAndPasswordRobot { fun verifyDefaultView() { - mDevice.waitNotNull(Until.findObjects(By.text("Save logins and passwords")), TestAssetHelper.waitingTime) + mDevice.waitNotNull(Until.findObjects(By.text("Save passwords")), TestAssetHelper.waitingTime) Log.i(TAG, "verifyDefaultView: Trying to verify that the \"Save logins and passwords\" button is displayed") saveLoginsAndPasswordButton().check(matches(isDisplayed())) - Log.i(TAG, "verifyDefaultView: Verified that the \"Save logins and passwords\" button is displayed") + Log.i(TAG, "verifyDefaultView: Verified that the \"Save passwords\" button is displayed") Log.i(TAG, "verifyDefaultView: Trying to verify that the Autofill in Firefox option is displayed") autofillInFirefoxOption().check(matches(isDisplayed())) Log.i(TAG, "verifyDefaultView: Verified that the Autofill in Firefox option is displayed") @@ -179,11 +179,11 @@ fun settingsSubMenuLoginsAndPassword(interact: SettingsSubMenuLoginsAndPasswordR return SettingsSubMenuLoginsAndPasswordRobot.Transition() } -private fun saveLoginsAndPasswordButton() = onView(withText("Save logins and passwords")) +private fun saveLoginsAndPasswordButton() = onView(withText("Save passwords")) -private fun savedLoginsButton() = onView(withText("Saved logins")) +private fun savedLoginsButton() = onView(withText("Saved passwords")) -private fun syncLoginsButton() = onView(withText("Sync logins across devices")) +private fun syncLoginsButton() = onView(withText("Sync passwords across devices")) private fun loginExceptionsButton() = onView(withText("Exceptions")) diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.kt index 86e985524..3bd0c8081 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot.kt @@ -44,28 +44,28 @@ import org.mozilla.fenix.helpers.ext.waitNotNull class SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot { fun verifySecurityPromptForLogins() { - Log.i(TAG, "verifySecurityPromptForLogins: Trying to verify that the \"Secure your logins and passwords\" dialog is visible") - onView(withText("Secure your logins and passwords")).check( + Log.i(TAG, "verifySecurityPromptForLogins: Trying to verify that the \"Secure your saved passwords\" dialog is visible") + onView(withText("Secure your saved passwords")).check( matches( withEffectiveVisibility( ViewMatchers.Visibility.VISIBLE, ), ), ) - Log.i(TAG, "verifySecurityPromptForLogins: Verified that the \"Secure your logins and passwords\" dialog is visible") + Log.i(TAG, "verifySecurityPromptForLogins: Verified that the \"Secure your saved passwords\" dialog is visible") } fun verifyEmptySavedLoginsListView() { Log.i(TAG, "verifyEmptySavedLoginsListView: Trying to verify that the saved logins section description is displayed") - onView(withText(getStringResource(R.string.preferences_passwords_saved_logins_description_empty_text))) + onView(withText(getStringResource(R.string.preferences_passwords_saved_logins_description_empty_text_2))) .check(matches(isDisplayed())) Log.i(TAG, "verifyEmptySavedLoginsListView: Verified that the saved logins section description is displayed") Log.i(TAG, "verifyEmptySavedLoginsListView: Trying to verify that the \"Learn more about Sync\" link is displayed") - onView(withText(R.string.preferences_passwords_saved_logins_description_empty_learn_more_link)) + onView(withText(R.string.preferences_passwords_saved_logins_description_empty_learn_more_link_2)) .check(matches(isDisplayed())) Log.i(TAG, "verifyEmptySavedLoginsListView: Verified that the \"Learn more about Sync\" link is displayed") Log.i(TAG, "verifyEmptySavedLoginsListView: Trying to verify that the \"Add login\" button is displayed") - onView(withText(R.string.preferences_logins_add_login)) + onView(withText(R.string.preferences_logins_add_login_2)) .check(matches(isDisplayed())) Log.i(TAG, "verifyEmptySavedLoginsListView: Verified that the \"Add login\" button is displayed") } @@ -88,7 +88,7 @@ class SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot { fun clickAddLoginButton() { Log.i(TAG, "clickAddLoginButton: Trying to click the \"Add login\" button") - itemContainingText(getStringResource(R.string.preferences_logins_add_login)).click() + itemContainingText(getStringResource(R.string.preferences_logins_add_login_2)).click() Log.i(TAG, "clickAddLoginButton: Clicked the \"Add login\" button") } @@ -117,7 +117,7 @@ class SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot { assertUIObjectExists(itemContainingText(getStringResource(R.string.add_login_hostname_invalid_text_2))) fun verifyPasswordErrorMessage() = - assertUIObjectExists(itemContainingText(getStringResource(R.string.saved_login_password_required))) + assertUIObjectExists(itemContainingText(getStringResource(R.string.saved_login_password_required_2))) fun verifyPasswordClearButtonEnabled() = assertItemIsEnabledAndVisible(itemWithResId("$packageName:id/clearPasswordTextButton")) @@ -208,7 +208,7 @@ class SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot { } fun verifyLoginDeletionPrompt() = - assertUIObjectExists(itemContainingText(getStringResource(R.string.login_deletion_confirmation))) + assertUIObjectExists(itemContainingText(getStringResource(R.string.login_deletion_confirmation_2))) fun clickConfirmDeleteLogin() { Log.i(TAG, "clickConfirmDeleteLogin: Trying to click the \"Delete\" dialog button") @@ -271,10 +271,10 @@ class SettingsSubMenuLoginsAndPasswordsSavedLoginsRobot { } fun verifyUserNameRequiredErrorMessage() = - assertUIObjectExists(itemContainingText(getStringResource(R.string.saved_login_username_required))) + assertUIObjectExists(itemContainingText(getStringResource(R.string.saved_login_username_required_2))) fun verifyPasswordRequiredErrorMessage() = - assertUIObjectExists(itemContainingText(getStringResource(R.string.saved_login_password_required))) + assertUIObjectExists(itemContainingText(getStringResource(R.string.saved_login_password_required_2))) fun clickGoBackButton() = goBackButton().click() diff --git a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt index 22185e383..36bbb45c8 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt @@ -1039,7 +1039,7 @@ abstract class BaseBrowserFragment : private fun showBiometricPrompt(context: Context) { if (BiometricPromptFeature.canUseFeature(context)) { biometricPromptFeature.get() - ?.requestAuthentication(getString(R.string.credit_cards_biometric_prompt_unlock_message)) + ?.requestAuthentication(getString(R.string.credit_cards_biometric_prompt_unlock_message_2)) return } @@ -1064,7 +1064,7 @@ abstract class BaseBrowserFragment : private fun showPinVerification(manager: KeyguardManager) { val intent = manager.createConfirmDeviceCredentialIntent( getString(R.string.credit_cards_biometric_prompt_message_pin), - getString(R.string.credit_cards_biometric_prompt_unlock_message), + getString(R.string.credit_cards_biometric_prompt_unlock_message_2), ) startForResult.launch(intent) @@ -1075,8 +1075,8 @@ abstract class BaseBrowserFragment : */ private fun showPinDialogWarning(context: Context) { AlertDialog.Builder(context).apply { - setTitle(getString(R.string.credit_cards_warning_dialog_title)) - setMessage(getString(R.string.credit_cards_warning_dialog_message)) + setTitle(getString(R.string.credit_cards_warning_dialog_title_2)) + setMessage(getString(R.string.credit_cards_warning_dialog_message_3)) setNegativeButton(getString(R.string.credit_cards_warning_dialog_later)) { _: DialogInterface, _ -> promptsFeature.get()?.onBiometricResult(isAuthenticated = false) diff --git a/app/src/main/java/org/mozilla/fenix/exceptions/login/LoginExceptionsAdapter.kt b/app/src/main/java/org/mozilla/fenix/exceptions/login/LoginExceptionsAdapter.kt index c34f5abd2..fa5415d1e 100644 --- a/app/src/main/java/org/mozilla/fenix/exceptions/login/LoginExceptionsAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/exceptions/login/LoginExceptionsAdapter.kt @@ -18,7 +18,7 @@ class LoginExceptionsAdapter( ) : ExceptionsAdapter(interactor, DiffCallback) { override val deleteButtonLayoutId = R.layout.delete_logins_exceptions_button - override val headerDescriptionResource = R.string.preferences_passwords_exceptions_description + override val headerDescriptionResource = R.string.preferences_passwords_exceptions_description_2 override fun wrapAdapterItem(item: LoginException) = LoginAdapterItem(item) diff --git a/app/src/main/java/org/mozilla/fenix/exceptions/login/LoginExceptionsView.kt b/app/src/main/java/org/mozilla/fenix/exceptions/login/LoginExceptionsView.kt index d363e3e52..1859ab523 100644 --- a/app/src/main/java/org/mozilla/fenix/exceptions/login/LoginExceptionsView.kt +++ b/app/src/main/java/org/mozilla/fenix/exceptions/login/LoginExceptionsView.kt @@ -20,7 +20,10 @@ class LoginExceptionsView( init { binding.exceptionsLearnMore.isVisible = false binding.exceptionsEmptyMessage.text = - containerView.context.getString(R.string.preferences_passwords_exceptions_description_empty) + containerView.context.getString( + R.string.preferences_passwords_exceptions_description_empty_2, + containerView.context.getString(R.string.app_name), + ) binding.exceptionsList.apply { adapter = exceptionsAdapter } diff --git a/app/src/main/java/org/mozilla/fenix/exceptions/viewholders/ExceptionsHeaderViewHolder.kt b/app/src/main/java/org/mozilla/fenix/exceptions/viewholders/ExceptionsHeaderViewHolder.kt index b5c3bb294..09cac2cf7 100644 --- a/app/src/main/java/org/mozilla/fenix/exceptions/viewholders/ExceptionsHeaderViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/exceptions/viewholders/ExceptionsHeaderViewHolder.kt @@ -17,7 +17,11 @@ class ExceptionsHeaderViewHolder( init { view.findViewById(R.id.exceptions_description).text = - view.context.getString(description) + if (description == R.string.preferences_passwords_exceptions_description_2) { + view.context.getString(description, view.context.getString(R.string.app_name)) + } else { + view.context.getString(description) + } } companion object { diff --git a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt index 81df60037..9deff4149 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt @@ -236,7 +236,7 @@ class SettingsFragment : PreferenceFragmentCompat() { autofillPreference.title = if (settings.addressFeature) { getString(R.string.preferences_autofill) } else { - getString(R.string.preferences_credit_cards) + getString(R.string.preferences_credit_cards_2) } val openLinksInAppsSettingsPreference = diff --git a/app/src/main/java/org/mozilla/fenix/settings/SyncPreferenceView.kt b/app/src/main/java/org/mozilla/fenix/settings/SyncPreferenceView.kt index 8f71e2d0b..b9bdea425 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SyncPreferenceView.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SyncPreferenceView.kt @@ -15,7 +15,7 @@ import mozilla.components.service.fxa.manager.FxaAccountManager import mozilla.components.service.fxa.manager.SyncEnginesStorage /** - * A view to help manage the sync preference in the "Logins and passwords" and "Credit cards" + * A view to help manage the sync preference in the "Passwords" and "Payment Methods" * settings. The provided [syncPreference] is used to navigate to the different fragments * that manages the sync account authentication. A toggle will be also added * depending on the sync account status. 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 ffc8d86af..1d98a0403 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 @@ -278,9 +278,9 @@ class AccountSettingsFragment : PreferenceFragmentCompat() { private fun showPinDialogWarning(syncEngine: SyncEngine, newValue: Boolean) { context?.let { AlertDialog.Builder(it).apply { - setTitle(getString(R.string.logins_warning_dialog_title)) + setTitle(getString(R.string.logins_warning_dialog_title_2)) setMessage( - getString(R.string.logins_warning_dialog_message), + getString(R.string.logins_warning_dialog_message_2), ) setNegativeButton(getString(R.string.logins_warning_dialog_later)) { _: DialogInterface, _ -> diff --git a/app/src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt b/app/src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt index e57ad0d87..9a434fc2e 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt @@ -107,7 +107,7 @@ class AddressEditorView( internal fun showConfirmDeleteAddressDialog(context: Context, guid: String) { AlertDialog.Builder(context).apply { - setMessage(R.string.addressess_confirm_dialog_message) + setMessage(R.string.addressess_confirm_dialog_message_2) setNegativeButton(R.string.addressess_confirm_dialog_cancel_button) { dialog: DialogInterface, _ -> dialog.cancel() } diff --git a/app/src/main/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragment.kt index fc201ee5d..0b7284893 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragment.kt @@ -131,6 +131,9 @@ class AutofillSettingFragment : BiometricPromptPreferenceFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + requirePreference(R.string.pref_key_credit_cards_save_and_autofill_cards).summary = + getString(R.string.preferences_credit_cards_save_and_autofill_cards_summary_2, getString(R.string.app_name)) + consumeFrom(store) { state -> if (requireComponents.settings.addressFeature) { updateAddressPreference(state.addresses.isNotEmpty(), findNavController()) @@ -152,7 +155,7 @@ class AutofillSettingFragment : BiometricPromptPreferenceFragment() { if (requireComponents.settings.addressFeature) { showToolbar(getString(R.string.preferences_autofill)) } else { - showToolbar(getString(R.string.preferences_credit_cards)) + showToolbar(getString(R.string.preferences_credit_cards_2)) } SyncPreferenceView( @@ -231,11 +234,11 @@ class AutofillSettingFragment : BiometricPromptPreferenceFragment() { if (hasCreditCards) { manageSavedCardsPreference.icon = null manageSavedCardsPreference.title = - getString(R.string.preferences_credit_cards_manage_saved_cards) + getString(R.string.preferences_credit_cards_manage_saved_cards_2) } else { manageSavedCardsPreference.setIcon(R.drawable.ic_new) manageSavedCardsPreference.title = - getString(R.string.preferences_credit_cards_add_credit_card) + getString(R.string.preferences_credit_cards_add_credit_card_2) } manageSavedCardsPreference.setOnPreferenceClickListener { @@ -279,8 +282,8 @@ class AutofillSettingFragment : BiometricPromptPreferenceFragment() { */ override fun showPinDialogWarning(context: Context) { AlertDialog.Builder(context).apply { - setTitle(getString(R.string.credit_cards_warning_dialog_title)) - setMessage(getString(R.string.credit_cards_warning_dialog_message)) + setTitle(getString(R.string.credit_cards_warning_dialog_title_2)) + setMessage(getString(R.string.credit_cards_warning_dialog_message_3)) setNegativeButton(getString(R.string.credit_cards_warning_dialog_later)) { _: DialogInterface, _ -> navigateToCreditCardManagementFragment() diff --git a/app/src/main/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorFragment.kt index 5e16987b8..4bdac5a86 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorFragment.kt @@ -151,7 +151,7 @@ class CreditCardEditorFragment : private fun showDeleteDialog(onPositiveClickListener: DialogInterface.OnClickListener) { deleteDialog = AlertDialog.Builder(requireContext()).apply { - setMessage(R.string.credit_cards_delete_dialog_confirmation) + setMessage(R.string.credit_cards_delete_dialog_confirmation_2) setNegativeButton(R.string.credit_cards_cancel_button) { dialog: DialogInterface, _ -> dialog.cancel() } diff --git a/app/src/main/java/org/mozilla/fenix/settings/creditcards/interactor/CreditCardsManagementInteractor.kt b/app/src/main/java/org/mozilla/fenix/settings/creditcards/interactor/CreditCardsManagementInteractor.kt index 535a9a0dd..f0bb7bcfe 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/creditcards/interactor/CreditCardsManagementInteractor.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/creditcards/interactor/CreditCardsManagementInteractor.kt @@ -24,7 +24,7 @@ interface CreditCardsManagementInteractor { /** * Navigates to the credit card editor to add a new credit card. Called when a user - * taps on 'Add credit card' button. + * taps on 'Add card' button. */ fun onAddCreditCardClick() } diff --git a/app/src/main/java/org/mozilla/fenix/settings/creditcards/view/CreditCardEditorView.kt b/app/src/main/java/org/mozilla/fenix/settings/creditcards/view/CreditCardEditorView.kt index ced10a056..f59b6a1f8 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/creditcards/view/CreditCardEditorView.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/creditcards/view/CreditCardEditorView.kt @@ -127,7 +127,7 @@ class CreditCardEditorView( isValid = false binding.cardNumberLayout.error = - binding.root.context.getString(R.string.credit_cards_number_validation_error_message) + binding.root.context.getString(R.string.credit_cards_number_validation_error_message_2) binding.cardNumberTitle.setTextColor(binding.root.context.getColorFromAttr(R.attr.textWarning)) } @@ -138,7 +138,7 @@ class CreditCardEditorView( isValid = false binding.nameOnCardLayout.error = - binding.root.context.getString(R.string.credit_cards_name_on_card_validation_error_message) + binding.root.context.getString(R.string.credit_cards_name_on_card_validation_error_message_2) binding.nameOnCardTitle.setTextColor(binding.root.context.getColorFromAttr(R.attr.textWarning)) } diff --git a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/AddLoginFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/AddLoginFragment.kt index 99ab5ec43..e1cadea39 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/AddLoginFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/AddLoginFragment.kt @@ -275,7 +275,7 @@ class AddLoginFragment : Fragment(R.layout.fragment_add_login), MenuProvider { currentValue.isEmpty() && usernameChanged -> { // Invalid username because it's empty (although this is not true when editing logins) validUsername = false - layout.error = context?.getString(R.string.saved_login_username_required) + layout.error = context?.getString(R.string.saved_login_username_required_2) layout.setErrorIconDrawable(R.drawable.mozac_ic_warning_with_bottom_padding) layout.setErrorIconTintList( ColorStateList.valueOf( @@ -315,7 +315,7 @@ class AddLoginFragment : Fragment(R.layout.fragment_add_login), MenuProvider { private fun setPasswordError() { binding.inputLayoutPassword.let { layout -> validPassword = false - layout.error = context?.getString(R.string.saved_login_password_required) + layout.error = context?.getString(R.string.saved_login_password_required_2) layout.setErrorIconDrawable(R.drawable.mozac_ic_warning_with_bottom_padding) layout.setErrorIconTintList( ColorStateList.valueOf( @@ -365,7 +365,7 @@ class AddLoginFragment : Fragment(R.layout.fragment_add_login), MenuProvider { override fun onResume() { super.onResume() - showToolbar(getString(R.string.add_login)) + showToolbar(getString(R.string.add_login_2)) } override fun onMenuItemSelected(item: MenuItem): Boolean = when (item.itemId) { diff --git a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/EditLoginFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/EditLoginFragment.kt index 59432f5ea..59b210ae3 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/EditLoginFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/EditLoginFragment.kt @@ -161,7 +161,7 @@ class EditLoginFragment : Fragment(R.layout.fragment_edit_login), MenuProvider { validUsername = false binding.clearUsernameTextButton.isVisible = false setLayoutError( - context?.getString(R.string.saved_login_username_required), + context?.getString(R.string.saved_login_username_required_2), binding.inputLayoutUsername, ) } @@ -204,7 +204,7 @@ class EditLoginFragment : Fragment(R.layout.fragment_edit_login), MenuProvider { binding.revealPasswordButton.isVisible = false binding.clearPasswordTextButton.isVisible = false setLayoutError( - context?.getString(R.string.saved_login_password_required), + context?.getString(R.string.saved_login_password_required_2), binding.inputLayoutPassword, ) } diff --git a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/LoginDetailFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/LoginDetailFragment.kt index a7681d547..19c37dce9 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/LoginDetailFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/LoginDetailFragment.kt @@ -225,7 +225,7 @@ class LoginDetailFragment : SecureFragment(R.layout.fragment_login_detail), Menu private fun displayDeleteLoginDialog() { activity?.let { activity -> deleteDialog = AlertDialog.Builder(activity).apply { - setMessage(R.string.login_deletion_confirmation) + setMessage(R.string.login_deletion_confirmation_2) setNegativeButton(R.string.dialog_delete_negative) { dialog: DialogInterface, _ -> dialog.cancel() } diff --git a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsAuthFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsAuthFragment.kt index ddb2b97fc..5b7c0c2d7 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsAuthFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsAuthFragment.kt @@ -156,9 +156,9 @@ class SavedLoginsAuthFragment : PreferenceFragmentCompat() { accountManager = requireComponents.backgroundServices.accountManager, syncEngine = SyncEngine.Passwords, loggedOffTitle = requireContext() - .getString(R.string.preferences_passwords_sync_logins_across_devices), + .getString(R.string.preferences_passwords_sync_logins_across_devices_2), loggedInTitle = requireContext() - .getString(R.string.preferences_passwords_sync_logins), + .getString(R.string.preferences_passwords_sync_logins_2), onSyncSignInClicked = { val directions = SavedLoginsAuthFragmentDirections.actionSavedLoginsAuthFragmentToTurnOnSyncFragment( @@ -183,7 +183,7 @@ class SavedLoginsAuthFragment : PreferenceFragmentCompat() { if (BiometricPromptFeature.canUseFeature(context)) { togglePrefsEnabledWhileAuthenticating(false) biometricPromptFeature.get() - ?.requestAuthentication(getString(R.string.logins_biometric_prompt_message)) + ?.requestAuthentication(getString(R.string.logins_biometric_prompt_message_2)) return } @@ -203,9 +203,9 @@ class SavedLoginsAuthFragment : PreferenceFragmentCompat() { private fun showPinDialogWarning(context: Context) { AlertDialog.Builder(context).apply { - setTitle(getString(R.string.logins_warning_dialog_title)) + setTitle(getString(R.string.logins_warning_dialog_title_2)) setMessage( - getString(R.string.logins_warning_dialog_message), + getString(R.string.logins_warning_dialog_message_2), ) setNegativeButton(getString(R.string.logins_warning_dialog_later)) { _: DialogInterface, _ -> diff --git a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsFragment.kt index 31bc79344..32fce4b88 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/logins/fragment/SavedLoginsFragment.kt @@ -146,7 +146,7 @@ class SavedLoginsFragment : SecureFragment(), MenuProvider { val searchItem = menu.findItem(R.id.search) val searchView: SearchView = searchItem.actionView as SearchView searchView.imeOptions = EditorInfo.IME_ACTION_DONE - searchView.queryHint = getString(R.string.preferences_passwords_saved_logins_search) + searchView.queryHint = getString(R.string.preferences_passwords_saved_logins_search_2) searchView.maxWidth = Int.MAX_VALUE if (searchQuery?.searchedForText?.isNotEmpty() == true) { @@ -225,7 +225,7 @@ class SavedLoginsFragment : SecureFragment(), MenuProvider { private fun initToolbar() { requireActivity().addMenuProvider(this, viewLifecycleOwner, Lifecycle.State.RESUMED) - showToolbar(getString(R.string.preferences_passwords_saved_logins)) + showToolbar(getString(R.string.preferences_passwords_saved_logins_2)) (activity as HomeActivity).getSupportActionBarAndInflateIfNecessary() .setDisplayShowTitleEnabled(false) toolbarChildContainer = initChildContainerFromToolbar() diff --git a/app/src/main/java/org/mozilla/fenix/settings/logins/view/SavedLoginsListView.kt b/app/src/main/java/org/mozilla/fenix/settings/logins/view/SavedLoginsListView.kt index 96dff0c55..6c87e6c90 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/logins/view/SavedLoginsListView.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/logins/view/SavedLoginsListView.kt @@ -49,7 +49,7 @@ class SavedLoginsListView( val appName = context.getString(R.string.app_name) text = String.format( context.getString( - R.string.preferences_passwords_saved_logins_description_empty_text, + R.string.preferences_passwords_saved_logins_description_empty_text_2, ), appName, ) diff --git a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt index b978ae339..7e0eac452 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -1602,7 +1602,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { ) /** - * Storing the user choice from the "Credit cards" settings for whether save and autofill cards + * Storing the user choice from the "Payment methods" settings for whether save and autofill cards * should be enabled or not. * If set to `true` when the user focuses on credit card fields in the webpage an Android prompt letting her * select the card details to be automatically filled will appear. diff --git a/app/src/main/res/layout/component_saved_logins.xml b/app/src/main/res/layout/component_saved_logins.xml index 8c37306de..a37ef1938 100644 --- a/app/src/main/res/layout/component_saved_logins.xml +++ b/app/src/main/res/layout/component_saved_logins.xml @@ -36,7 +36,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="4dp" - android:text="@string/preferences_passwords_saved_logins_description_empty_text" + android:text="@string/preferences_passwords_saved_logins_description_empty_text_2" android:textColor="?attr/textSecondary" android:textSize="16sp" app:layout_constraintTop_toTopOf="parent" @@ -47,7 +47,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="4dp" - android:text="@string/preferences_passwords_saved_logins_description_empty_learn_more_link" + android:text="@string/preferences_passwords_saved_logins_description_empty_learn_more_link_2" android:textColor="?attr/textSecondary" android:textSize="16sp" app:layout_constraintTop_toBottomOf="@id/saved_passwords_empty_message" /> diff --git a/app/src/main/res/layout/fragment_add_login.xml b/app/src/main/res/layout/fragment_add_login.xml index 17425800f..9f613dba1 100644 --- a/app/src/main/res/layout/fragment_add_login.xml +++ b/app/src/main/res/layout/fragment_add_login.xml @@ -111,7 +111,7 @@ android:colorControlHighlight="?attr/textPrimary" android:colorControlActivated="?attr/textPrimary" android:textColor="?attr/textPrimary" - android:contentDescription="@string/saved_login_username_description" + android:contentDescription="@string/saved_login_username_description_3" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/usernameHeader" @@ -180,7 +180,7 @@ android:layout_height="wrap_content" android:colorControlActivated="?attr/textPrimary" android:colorControlHighlight="?attr/textPrimary" - android:contentDescription="@string/saved_login_password_description" + android:contentDescription="@string/saved_login_password_description_2" android:paddingBottom="11dp" android:textColor="?attr/textPrimary" app:hintEnabled="false" diff --git a/app/src/main/res/layout/fragment_edit_login.xml b/app/src/main/res/layout/fragment_edit_login.xml index 988330420..535683702 100644 --- a/app/src/main/res/layout/fragment_edit_login.xml +++ b/app/src/main/res/layout/fragment_edit_login.xml @@ -41,7 +41,7 @@ android:background="@android:color/transparent" android:textColor="?attr/textPrimary" android:layout_marginStart="3dp" - android:contentDescription="@string/saved_login_hostname_description" + android:contentDescription="@string/saved_login_hostname_description_3" app:backgroundTint="@android:color/transparent" app:hintEnabled="false" app:layout_constraintEnd_toEndOf="@id/hostnameHeaderText" @@ -60,7 +60,7 @@ android:textColor="?attr/textDisabled" android:letterSpacing="0.01" android:lineSpacingExtra="8sp" - android:hint="@string/saved_login_hostname_description" + android:hint="@string/saved_login_hostname_description_3" android:inputType="textNoSuggestions" android:ellipsize="end" android:maxLines="1" @@ -98,7 +98,7 @@ android:colorControlHighlight="?attr/textPrimary" android:colorControlActivated="?attr/textPrimary" android:textColor="?attr/textPrimary" - android:contentDescription="@string/saved_login_username_description" + android:contentDescription="@string/saved_login_username_description_3" app:layout_constraintEnd_toEndOf="@id/usernameHeader" app:layout_constraintStart_toStartOf="@id/usernameHeader" app:layout_constraintTop_toBottomOf="@id/usernameHeader" @@ -169,7 +169,7 @@ android:colorControlHighlight="?attr/textPrimary" android:colorControlActivated="?attr/textPrimary" android:textColor="?attr/textPrimary" - android:contentDescription="@string/saved_login_password_description" + android:contentDescription="@string/saved_login_password_description_2" app:hintEnabled="false" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@id/passwordHeader" diff --git a/app/src/main/res/layout/layout_add_credit_card.xml b/app/src/main/res/layout/layout_add_credit_card.xml index 4857fb161..232c4ef7d 100644 --- a/app/src/main/res/layout/layout_add_credit_card.xml +++ b/app/src/main/res/layout/layout_add_credit_card.xml @@ -28,7 +28,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_margin="@dimen/credit_cards_saved_cards_item_margin_start" - android:text="@string/preferences_credit_cards_add_credit_card" + android:text="@string/preferences_credit_cards_add_credit_card_2" style="@style/Body16TextStyle" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/layout_add_login.xml b/app/src/main/res/layout/layout_add_login.xml index 23750d5c9..3fbd457da 100644 --- a/app/src/main/res/layout/layout_add_login.xml +++ b/app/src/main/res/layout/layout_add_login.xml @@ -28,7 +28,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_margin="@dimen/credit_cards_saved_cards_item_margin_start" - android:text="@string/preferences_logins_add_login" + android:text="@string/preferences_logins_add_login_2" style="@style/Body16TextStyle" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/saved_logins_sort_items_toolbar_child.xml b/app/src/main/res/layout/saved_logins_sort_items_toolbar_child.xml index 679237001..1a9b08249 100644 --- a/app/src/main/res/layout/saved_logins_sort_items_toolbar_child.xml +++ b/app/src/main/res/layout/saved_logins_sort_items_toolbar_child.xml @@ -16,7 +16,7 @@ android:layout_height="wrap_content" android:ellipsize="end" android:singleLine="true" - android:text="@string/preferences_passwords_saved_logins" + android:text="@string/preferences_passwords_saved_logins_2" app:layout_constrainedWidth="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/toolbar_chevron_icon" @@ -42,7 +42,7 @@ android:layout_centerVertical="true" android:layout_marginStart="@dimen/saved_logins_sort_menu_dropdown_chevron_icon_margin_start" android:adjustViewBounds="true" - android:contentDescription="@string/saved_logins_menu_dropdown_chevron_icon_content_description" + android:contentDescription="@string/saved_logins_menu_dropdown_chevron_icon_content_description_2" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/toolbar_title" diff --git a/app/src/main/res/menu/login_list.xml b/app/src/main/res/menu/login_list.xml index b0ee9fbbf..3a361653c 100644 --- a/app/src/main/res/menu/login_list.xml +++ b/app/src/main/res/menu/login_list.xml @@ -6,9 +6,9 @@ diff --git a/app/src/main/res/menu/login_options_menu.xml b/app/src/main/res/menu/login_options_menu.xml index 8cc7aaf59..b61d00035 100644 --- a/app/src/main/res/menu/login_options_menu.xml +++ b/app/src/main/res/menu/login_options_menu.xml @@ -7,8 +7,8 @@ diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index f3815ca3c..b4566049a 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -414,7 +414,7 @@ + android:label="@string/preferences_passwords_logins_and_passwords_2"> + android:label="@string/preferences_credit_cards_2"> pref_key_credit_cards_save_and_autofill_cards pref_key_credit_cards_sync_cards_across_devices - + pref_key_credit_cards_manage_cards pref_key_addresses_manage_addresses diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1b1d8ef3f..3e2116c11 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -676,9 +676,9 @@ Bookmarks - Logins + Logins - Passwords + Passwords Open tabs @@ -702,9 +702,9 @@ and the third is the device model. --> %1$s on %2$s %3$s - Credit cards + Credit cards - Payment methods + Payment methods Addresses @@ -1617,13 +1617,13 @@ You can easily add this website to your device’s Home screen to have instant access and browse faster with an app-like experience. - Logins and passwords + Logins and passwords - Passwords + Passwords - Save logins and passwords + Save logins and passwords - Save passwords + Save passwords Ask to save @@ -1637,47 +1637,46 @@ Fill usernames and passwords in other apps on your device. - Add login + Add login - Add password + Add password - - Sync logins - Sync passwords + Sync logins + + Sync passwords - Sync logins across devices + Sync logins across devices - Sync passwords across devices + Sync passwords across devices - Saved logins + Saved logins - Saved passwords + Saved passwords - The logins you save or sync to %s will show up here. + The logins you save or sync to %s will show up here. - The passwords you save or sync to %s will be listed here. All passwords you save are encrypted. - + The passwords you save or sync to %s will be listed here. All passwords you save are encrypted. - Learn more about Sync. + Learn more about Sync. - Learn more about sync + Learn more about sync Exceptions - Logins and passwords that are not saved will be shown here. + Logins and passwords that are not saved will be shown here. - %s won’t save passwords for sites listed here. + %s won’t save passwords for sites listed here. - Logins and passwords will not be saved for these sites. + Logins and passwords will not be saved for these sites. - %s won’t save passwords for these sites. + %s won’t save passwords for these sites. Delete all exceptions - Search logins + Search logins - Search passwords + Search passwords Site @@ -1705,17 +1704,17 @@ Hide password - Unlock to view your saved logins + Unlock to view your saved logins - Unlock to view your saved passwords + Unlock to view your saved passwords - Secure your logins and passwords + Secure your logins and passwords - Secure your saved passwords + Secure your saved passwords - Set up a device lock pattern, PIN, or password to protect your saved logins and passwords from being accessed if someone else has your device. + Set up a device lock pattern, PIN, or password to protect your saved logins and passwords from being accessed if someone else has your device. - Set up a device lock pattern, PIN, or password to protect your saved passwords from being accessed if someone else has your device. + Set up a device lock pattern, PIN, or password to protect your saved passwords from being accessed if someone else has your device. Later @@ -1731,9 +1730,9 @@ Last used - Sort logins menu + Sort logins menu - Sort passwords menu + Sort passwords menu @@ -1741,41 +1740,41 @@ Addresses - Credit cards + Credit cards - Payment methods + Payment methods - Save and autofill cards + Save and autofill cards - Save and fill payment methods + Save and fill payment methods - Data is encrypted + Data is encrypted - %s encrypts all payment methods you save + %s encrypts all payment methods you save Sync cards across devices Sync cards - Add credit card + Add credit card - Add card + Add card - Manage saved cards + Manage saved cards - Manage cards + Manage cards Add address Manage addresses - Save and autofill addresses + Save and autofill addresses - Save and fill addresses + Save and fill addresses - Include information like numbers, email and shipping addresses + Include information like numbers, email and shipping addresses - Includes phone numbers and email addresses + Includes phone numbers and email addresses Add card @@ -1796,9 +1795,9 @@ Delete card - Are you sure you want to delete this credit card? + Are you sure you want to delete this credit card? - Delete card? + Delete card? Delete @@ -1810,23 +1809,23 @@ Saved cards - Please enter a valid credit card number + Please enter a valid credit card number - Enter a valid card number + Enter a valid card number - Please fill out this field + Please fill out this field - Add a name + Add a name Unlock to view your saved cards - Secure your credit cards + Secure your credit cards - Secure your saved payment methods + Secure your saved payment methods - Set up a device lock pattern, PIN, or password to protect your saved credit cards from being accessed if someone else has your device. + Set up a device lock pattern, PIN, or password to protect your saved credit cards from being accessed if someone else has your device. - Set up a device lock pattern, PIN, or password to protect your saved payment methods from being accessed if someone else has your device. + Set up a device lock pattern, PIN, or password to protect your saved payment methods from being accessed if someone else has your device. Set up now @@ -1834,9 +1833,9 @@ Unlock your device - Unlock to use stored credit card information + Unlock to use stored credit card information - Unlock to use saved payment methods + Unlock to use saved payment methods Add address @@ -1874,9 +1873,9 @@ Delete address - Are you sure you want to delete this address? + Are you sure you want to delete this address? - Delete this address? + Delete this address? Delete @@ -1972,49 +1971,49 @@ Edit - Are you sure you want to delete this login? + Are you sure you want to delete this login? - Are you sure you want to delete this password? + Are you sure you want to delete this password? Delete Cancel - Login options + Login options - Password options + Password options - The editable text field for the web address of the login. + The editable text field for the web address of the login. - The editable text field for the website address. + The editable text field for the website address. - The editable text field for the username of the login. + The editable text field for the username of the login. - The editable text field for the username. + The editable text field for the username. - The editable text field for the password of the login. + The editable text field for the password of the login. - The editable text field for the password. + The editable text field for the password. - Save changes to login. + Save changes to login. - Save changes. + Save changes. - Edit + Edit - Edit password + Edit password - Add new login + Add new login - Add password + Add password - Password required + Password required - Enter a password + Enter a password - Username required + Username required - Enter a username + Enter a username Hostname required diff --git a/app/src/main/res/xml/account_settings_preferences.xml b/app/src/main/res/xml/account_settings_preferences.xml index 336aa4d13..300331efb 100644 --- a/app/src/main/res/xml/account_settings_preferences.xml +++ b/app/src/main/res/xml/account_settings_preferences.xml @@ -38,7 +38,7 @@ android:defaultValue="true" android:key="@string/pref_key_sync_credit_cards" android:layout="@layout/checkbox_left_preference" - android:title="@string/preferences_sync_credit_cards" /> + android:title="@string/preferences_sync_credit_cards_2" /> + android:title="@string/preferences_sync_logins_2" /> + android:summary="@string/preferences_addresses_save_and_autofill_addresses_summary_2" + android:title="@string/preferences_addresses_save_and_autofill_addresses_2" /> @@ -21,18 +21,18 @@ + android:title="@string/preferences_credit_cards_2"> + android:summary="@string/preferences_credit_cards_save_and_autofill_cards_summary_2" + android:title="@string/preferences_credit_cards_save_and_autofill_cards_2" /> + android:title="@string/preferences_credit_cards_manage_saved_cards_2" /> diff --git a/app/src/main/res/xml/credit_cards_preferences.xml b/app/src/main/res/xml/credit_cards_preferences.xml index 0dacb36aa..00caf8e1b 100644 --- a/app/src/main/res/xml/credit_cards_preferences.xml +++ b/app/src/main/res/xml/credit_cards_preferences.xml @@ -7,8 +7,8 @@ + android:summary="@string/preferences_credit_cards_save_and_autofill_cards_summary_2" + android:title="@string/preferences_credit_cards_save_and_autofill_cards_2" /> diff --git a/app/src/main/res/xml/logins_preferences.xml b/app/src/main/res/xml/logins_preferences.xml index 8545bc916..1a8810eca 100644 --- a/app/src/main/res/xml/logins_preferences.xml +++ b/app/src/main/res/xml/logins_preferences.xml @@ -7,7 +7,7 @@ + android:title="@string/preferences_passwords_save_logins_2" /> + android:title="@string/preferences_passwords_sync_logins_2" /> + android:title="@string/preferences_passwords_saved_logins_2" /> + android:title="@string/preferences_passwords_logins_and_passwords_2" /> + android:title="@string/preferences_credit_cards_2" /> (R.id.exceptions_description) } returns description every { - context.getString(R.string.preferences_passwords_exceptions_description) - } returns "Logins and passwords will not be saved for these sites." + context.getString(eq(R.string.preferences_passwords_exceptions_description_2), any()) + } returns "Firefox fenix won’t save passwords for these sites." + every { + context.getString(R.string.app_name) + } returns "Firefox fenix" } } @Test fun `sets description text`() { - ExceptionsHeaderViewHolder(view, R.string.preferences_passwords_exceptions_description) - verify { description.text = "Logins and passwords will not be saved for these sites." } + ExceptionsHeaderViewHolder(view, R.string.preferences_passwords_exceptions_description_2) + verify { description.text = "Firefox fenix won’t save passwords for these sites." } } } diff --git a/app/src/test/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragmentTest.kt b/app/src/test/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragmentTest.kt index e232d287c..261c71a48 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragmentTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/autofill/AutofillSettingFragmentTest.kt @@ -60,9 +60,9 @@ class AutofillSettingFragmentTest { } @Test - fun `GIVEN the list of credit cards is not empty, WHEN fragment is displayed THEN the manage credit cards pref is 'Manage saved cards'`() = runTestOnMain { + fun `GIVEN the list of credit cards is not empty, WHEN fragment is displayed THEN the manage credit cards pref is 'Manage cards'`() = runTestOnMain { val preferenceTitle = - testContext.getString(R.string.preferences_credit_cards_manage_saved_cards) + testContext.getString(R.string.preferences_credit_cards_manage_saved_cards_2) val manageCardsPreference = autofillSettingFragment.findPreference( autofillSettingFragment.getPreferenceKey(R.string.pref_key_credit_cards_manage_cards), ) @@ -84,7 +84,7 @@ class AutofillSettingFragmentTest { @Test fun `GIVEN the list of credit cards is empty, WHEN fragment is displayed THEN the manage credit cards pref is 'Add card'`() = runTestOnMain { val preferenceTitle = - testContext.getString(R.string.preferences_credit_cards_add_credit_card) + testContext.getString(R.string.preferences_credit_cards_add_credit_card_2) val manageCardsPreference = autofillSettingFragment.findPreference( autofillSettingFragment.getPreferenceKey(R.string.pref_key_credit_cards_manage_cards), ) diff --git a/app/src/test/java/org/mozilla/fenix/settings/logins/SyncPreferenceViewTest.kt b/app/src/test/java/org/mozilla/fenix/settings/logins/SyncPreferenceViewTest.kt index f96b33b1c..a7569aaba 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/logins/SyncPreferenceViewTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/logins/SyncPreferenceViewTest.kt @@ -64,8 +64,8 @@ class SyncPreferenceViewTest { every { getString(R.string.preferences_credit_cards_sync_cards) } returns "Sync cards" every { getString(R.string.pref_key_sync_logins) } returns "pref_key_sync_logins" - every { getString(R.string.preferences_passwords_sync_logins) } returns "Sync logins" - every { getString(R.string.preferences_passwords_sync_logins_across_devices) } returns "Sync logins across devices" + every { getString(R.string.preferences_passwords_sync_logins_2) } returns "Sync passwords" + every { getString(R.string.preferences_passwords_sync_logins_across_devices_2) } returns "Sync passwords across devices" } syncPreference = mockk { @@ -204,7 +204,7 @@ class SyncPreferenceViewTest { ) companion object { - const val notLoggedInTitle: String = "Sync logins across devices" - const val loggedInTitle: String = "Sync logins" + const val notLoggedInTitle: String = "Sync passwords across devices" + const val loggedInTitle: String = "Sync passwords" } }