Bug 1877833 - Utilize new credential management strings

fenix/125.0
sarah541 3 months ago committed by mergify[bot]
parent 0724939144
commit 2d03674397

@ -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()
}
}

@ -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()
}

@ -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()

@ -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()

@ -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"))

@ -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"))

@ -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()

@ -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)

@ -18,7 +18,7 @@ class LoginExceptionsAdapter(
) : ExceptionsAdapter<LoginException>(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)

@ -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
}

@ -17,7 +17,11 @@ class ExceptionsHeaderViewHolder(
init {
view.findViewById<TextView>(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 {

@ -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 =

@ -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.

@ -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, _ ->

@ -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()
}

@ -131,6 +131,9 @@ class AutofillSettingFragment : BiometricPromptPreferenceFragment() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
requirePreference<SwitchPreference>(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()

@ -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()
}

@ -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()
}

@ -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))
}

@ -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) {

@ -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,
)
}

@ -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()
}

@ -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, _ ->

@ -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()

@ -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,
)

@ -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.

@ -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" />

@ -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"

@ -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"

@ -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"

@ -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"

@ -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"

@ -6,9 +6,9 @@
<item
android:id="@+id/search"
android:icon="@drawable/ic_search"
android:title="@string/preferences_passwords_saved_logins_search"
android:title="@string/preferences_passwords_saved_logins_search_2"
app:actionViewClass="androidx.appcompat.widget.SearchView"
app:iconTint="?attr/textPrimary"
android:contentDescription="@string/preferences_passwords_saved_logins_search"
android:contentDescription="@string/preferences_passwords_saved_logins_search_2"
app:showAsAction="collapseActionView|always" />
</menu>

@ -7,8 +7,8 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/loginOptionsEditDelete"
android:contentDescription="@string/login_options_menu"
android:title="@string/login_options_menu"
android:contentDescription="@string/login_options_menu_2"
android:title="@string/login_options_menu_2"
app:showAsAction="never" >
<item

@ -9,6 +9,6 @@
android:id="@+id/save_login_button"
android:icon="@drawable/mozac_ic_checkmark_24"
app:iconTint="@color/save_enabled_ic_color"
android:title="@string/save_changes_to_login"
android:title="@string/save_changes_to_login_2"
app:showAsAction="always" />
</menu>

@ -414,7 +414,7 @@
<fragment
android:id="@+id/savedLoginsAuthFragment"
android:name="org.mozilla.fenix.settings.logins.fragment.SavedLoginsAuthFragment"
android:label="@string/preferences_passwords_logins_and_passwords">
android:label="@string/preferences_passwords_logins_and_passwords_2">
<action
android:id="@+id/action_savedLoginsAuthFragment_to_loginsListFragment"
app:destination="@id/savedLogins"
@ -1276,7 +1276,7 @@
<fragment
android:id="@+id/autofillSettingFragment"
android:name="org.mozilla.fenix.settings.autofill.AutofillSettingFragment"
android:label="@string/preferences_credit_cards">
android:label="@string/preferences_credit_cards_2">
<action
android:id="@+id/action_autofillSettingFragment_to_creditCardEditorFragment"
app:destination="@id/creditCardEditorFragment"
@ -1375,7 +1375,7 @@
<fragment
android:id="@+id/addLoginFragment"
android:name="org.mozilla.fenix.settings.logins.fragment.AddLoginFragment"
android:label="@string/add_login"
android:label="@string/add_login_2"
tools:layout="@layout/fragment_add_login">
<action
android:id="@+id/action_addLoginFragment_to_loginDetailFragment"
@ -1400,7 +1400,7 @@
<fragment
android:id="@+id/editLoginFragment"
android:name="org.mozilla.fenix.settings.logins.fragment.EditLoginFragment"
android:label="@string/edit"
android:label="@string/edit_2"
tools:layout="@layout/fragment_edit_login">
<argument
android:name="savedLoginItem"

@ -207,7 +207,7 @@
<string name="pref_key_credit_cards_save_and_autofill_cards" translatable="false">pref_key_credit_cards_save_and_autofill_cards</string>
<!-- Key for the "Sync cards across devices" preference in the "Autofill" fragment -->
<string name="pref_key_credit_cards_sync_cards_across_devices" translatable="false">pref_key_credit_cards_sync_cards_across_devices</string>
<!-- Key for the "Manage saved cards" preference in the "Autofill" fragment -->
<!-- Key for the "Manage cards" preference in the "Autofill" fragment -->
<string name="pref_key_credit_cards_manage_cards" translatable="false">pref_key_credit_cards_manage_cards</string>
<!-- Key for the "Manage addresses" preference in the "Autofill" fragment -->
<string name="pref_key_addresses_manage_addresses" translatable="false">pref_key_addresses_manage_addresses</string>

@ -676,9 +676,9 @@
<!-- Preference for syncing bookmarks -->
<string name="preferences_sync_bookmarks">Bookmarks</string>
<!-- Preference for syncing logins -->
<string name="preferences_sync_logins">Logins</string>
<string name="preferences_sync_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">Logins</string>
<!-- Preference for syncing passwords -->
<string name="preferences_sync_logins_2" tools:ignore="UnusedResources">Passwords</string>
<string name="preferences_sync_logins_2">Passwords</string>
<!-- Preference for syncing tabs -->
<string name="preferences_sync_tabs_2">Open tabs</string>
<!-- Preference for signing out -->
@ -702,9 +702,9 @@
and the third is the device model. -->
<string name="default_device_name_2">%1$s on %2$s %3$s</string>
<!-- Preference for syncing credit cards -->
<string name="preferences_sync_credit_cards">Credit cards</string>
<string name="preferences_sync_credit_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">Credit cards</string>
<!-- Preference for syncing payment methods -->
<string name="preferences_sync_credit_cards_2" tools:ignore="UnusedResources">Payment methods</string>
<string name="preferences_sync_credit_cards_2">Payment methods</string>
<!-- Preference for syncing addresses -->
<string name="preferences_sync_address">Addresses</string>
@ -1617,13 +1617,13 @@
<string name="add_to_homescreen_description_2">You can easily add this website to your devices Home screen to have instant access and browse faster with an app-like experience.</string>
<!-- Preference for managing the settings for logins and passwords in Fenix -->
<string name="preferences_passwords_logins_and_passwords">Logins and passwords</string>
<string name="preferences_passwords_logins_and_passwords" moz:RemovedIn="125" tools:ignore="UnusedResources">Logins and passwords</string>
<!-- Preference for managing the settings for logins and passwords in Fenix -->
<string name="preferences_passwords_logins_and_passwords_2" tools:ignore="UnusedResources">Passwords</string>
<string name="preferences_passwords_logins_and_passwords_2">Passwords</string>
<!-- Preference for managing the saving of logins and passwords in Fenix -->
<string name="preferences_passwords_save_logins">Save logins and passwords</string>
<string name="preferences_passwords_save_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">Save logins and passwords</string>
<!-- Preference for managing the saving of logins and passwords in Fenix -->
<string name="preferences_passwords_save_logins_2" tools:ignore="UnusedResources">Save passwords</string>
<string name="preferences_passwords_save_logins_2">Save passwords</string>
<!-- Preference option for asking to save passwords in Fenix -->
<string name="preferences_passwords_save_logins_ask_to_save">Ask to save</string>
<!-- Preference option for never saving passwords in Fenix -->
@ -1637,47 +1637,46 @@
<!-- Description for the preference for autofilling logins from Fenix in other apps (e.g. autofilling the Twitter app) -->
<string name="preferences_android_autofill_description">Fill usernames and passwords in other apps on your device.</string>
<!-- Preference option for adding a login -->
<string name="preferences_logins_add_login">Add login</string>
<string name="preferences_logins_add_login" moz:RemovedIn="125" tools:ignore="UnusedResources">Add login</string>
<!-- Preference option for adding a password -->
<string name="preferences_logins_add_login_2" tools:ignore="UnusedResources">Add password</string>
<string name="preferences_logins_add_login_2">Add password</string>
<!-- Preference for syncing saved logins in Fenix -->
<string name="preferences_passwords_sync_logins">Sync logins</string>
<!-- Preference for syncing saved passwords in Fenix -->
<string name="preferences_passwords_sync_logins_2" tools:ignore="UnusedResources">Sync passwords</string>
<string name="preferences_passwords_sync_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">Sync logins</string>
<!-- Preference for syncing saved passwords in Fenix -->
<string name="preferences_passwords_sync_logins_2">Sync passwords</string>
<!-- Preference for syncing saved logins in Fenix, when not signed in-->
<string name="preferences_passwords_sync_logins_across_devices">Sync logins across devices</string>
<string name="preferences_passwords_sync_logins_across_devices" moz:RemovedIn="125" tools:ignore="UnusedResources">Sync logins across devices</string>
<!-- Preference for syncing saved passwords in Fenix, when not signed in-->
<string name="preferences_passwords_sync_logins_across_devices_2" tools:ignore="UnusedResources">Sync passwords across devices</string>
<string name="preferences_passwords_sync_logins_across_devices_2">Sync passwords across devices</string>
<!-- Preference to access list of saved logins -->
<string name="preferences_passwords_saved_logins">Saved logins</string>
<string name="preferences_passwords_saved_logins" moz:RemovedIn="125" tools:ignore="UnusedResources">Saved logins</string>
<!-- Preference to access list of saved passwords -->
<string name="preferences_passwords_saved_logins_2" tools:ignore="UnusedResources">Saved passwords</string>
<string name="preferences_passwords_saved_logins_2">Saved passwords</string>
<!-- Description of empty list of saved passwords. Placeholder is replaced with app name. -->
<string name="preferences_passwords_saved_logins_description_empty_text">The logins you save or sync to %s will show up here.</string>
<string name="preferences_passwords_saved_logins_description_empty_text" moz:RemovedIn="125" tools:ignore="UnusedResources">The logins you save or sync to %s will show up here.</string>
<!-- Description of empty list of saved passwords. Placeholder is replaced with app name. -->
<string name="preferences_passwords_saved_logins_description_empty_text_2" tools:ignore="UnusedResources">The passwords you save or sync to %s will be listed here. All passwords you save are encrypted.
</string>
<string name="preferences_passwords_saved_logins_description_empty_text_2">The passwords you save or sync to %s will be listed here. All passwords you save are encrypted.</string>
<!-- Preference to access list of saved logins -->
<string name="preferences_passwords_saved_logins_description_empty_learn_more_link">Learn more about Sync.</string>
<string name="preferences_passwords_saved_logins_description_empty_learn_more_link" moz:RemovedIn="125" tools:ignore="UnusedResources">Learn more about Sync.</string>
<!-- Clickable text for opening an external link for more information about Sync. -->
<string name="preferences_passwords_saved_logins_description_empty_learn_more_link_2" tools:ignore="UnusedResources">Learn more about sync</string>
<string name="preferences_passwords_saved_logins_description_empty_learn_more_link_2">Learn more about sync</string>
<!-- Preference to access list of login exceptions that we never save logins for -->
<string name="preferences_passwords_exceptions">Exceptions</string>
<!-- Empty description of list of login exceptions that we never save logins for -->
<string name="preferences_passwords_exceptions_description_empty">Logins and passwords that are not saved will be shown here.</string>
<string name="preferences_passwords_exceptions_description_empty" moz:RemovedIn="125" tools:ignore="UnusedResources">Logins and passwords that are not saved will be shown here.</string>
<!-- Empty description of list of login exceptions that we never save passwords for. Parameter will be replaced by app name. -->
<string name="preferences_passwords_exceptions_description_empty_2" tools:ignore="UnusedResources">%s wont save passwords for sites listed here.</string>
<string name="preferences_passwords_exceptions_description_empty_2">%s wont save passwords for sites listed here.</string>
<!-- Description of list of login exceptions that we never save logins for -->
<string name="preferences_passwords_exceptions_description">Logins and passwords will not be saved for these sites.</string>
<string name="preferences_passwords_exceptions_description" moz:RemovedIn="125" tools:ignore="UnusedResources">Logins and passwords will not be saved for these sites.</string>
<!-- Description of list of login exceptions that we never save passwords for. Parameter will be replaced by app name. -->
<string name="preferences_passwords_exceptions_description_2" tools:ignore="UnusedResources">%s wont save passwords for these sites.</string>
<string name="preferences_passwords_exceptions_description_2">%s wont save passwords for these sites.</string>
<!-- Text on button to remove all saved login exceptions -->
<string name="preferences_passwords_exceptions_remove_all">Delete all exceptions</string>
<!-- Hint for search box in logins list -->
<string name="preferences_passwords_saved_logins_search">Search logins</string>
<string name="preferences_passwords_saved_logins_search" moz:RemovedIn="125" tools:ignore="UnusedResources">Search logins</string>
<!-- Hint for search box in passwords list -->
<string name="preferences_passwords_saved_logins_search_2" tools:ignore="UnusedResources">Search passwords</string>
<string name="preferences_passwords_saved_logins_search_2">Search passwords</string>
<!-- The header for the site that a login is for -->
<string name="preferences_passwords_saved_logins_site">Site</string>
<!-- The header for the username for a login -->
@ -1705,17 +1704,17 @@
<!-- Content Description (for screenreaders etc) read for the button to hide a password in logins -->
<string name="saved_login_hide_password">Hide password</string>
<!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their logins -->
<string name="logins_biometric_prompt_message">Unlock to view your saved logins</string>
<string name="logins_biometric_prompt_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Unlock to view your saved logins</string>
<!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their passwords -->
<string name="logins_biometric_prompt_message_2" tools:ignore="UnusedResources">Unlock to view your saved passwords</string>
<string name="logins_biometric_prompt_message_2">Unlock to view your saved passwords</string>
<!-- Title of warning dialog if users have no device authentication set up -->
<string name="logins_warning_dialog_title">Secure your logins and passwords</string>
<string name="logins_warning_dialog_title" moz:RemovedIn="125" tools:ignore="UnusedResources">Secure your logins and passwords</string>
<!-- Title of warning dialog if users have no device authentication set up -->
<string name="logins_warning_dialog_title_2" tools:ignore="UnusedResources">Secure your saved passwords</string>
<string name="logins_warning_dialog_title_2">Secure your saved passwords</string>
<!-- Message of warning dialog if users have no device authentication set up -->
<string name="logins_warning_dialog_message">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.</string>
<string name="logins_warning_dialog_message" moz:RemovedIn="125" tools:ignore="UnusedResources">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.</string>
<!-- Message of warning dialog if users have no device authentication set up -->
<string name="logins_warning_dialog_message_2" tools:ignore="UnusedResources">Set up a device lock pattern, PIN, or password to protect your saved passwords from being accessed if someone else has your device.</string>
<string name="logins_warning_dialog_message_2">Set up a device lock pattern, PIN, or password to protect your saved passwords from being accessed if someone else has your device.</string>
<!-- Negative button to ignore warning dialog if users have no device authentication set up -->
<string name="logins_warning_dialog_later">Later</string>
<!-- Positive button to send users to set up a pin of warning dialog if users have no device authentication set up -->
@ -1731,9 +1730,9 @@
<!-- Saved logins sorting strategy menu item -by last used- (if selected, it will sort saved logins by last used) -->
<string name="saved_logins_sort_strategy_last_used">Last used</string>
<!-- Content description (not visible, for screen readers etc.): Sort saved logins dropdown menu chevron icon -->
<string name="saved_logins_menu_dropdown_chevron_icon_content_description">Sort logins menu</string>
<string name="saved_logins_menu_dropdown_chevron_icon_content_description" moz:RemovedIn="125" tools:ignore="UnusedResources">Sort logins menu</string>
<!-- Content description (not visible, for screen readers etc.) -->
<string name="saved_logins_menu_dropdown_chevron_icon_content_description_2" tools:ignore="UnusedResources">Sort passwords menu</string>
<string name="saved_logins_menu_dropdown_chevron_icon_content_description_2">Sort passwords menu</string>
<!-- Autofill -->
<!-- Preference and title for managing the autofill settings -->
@ -1741,41 +1740,41 @@
<!-- Preference and title for managing the settings for addresses -->
<string name="preferences_addresses">Addresses</string>
<!-- Preference and title for managing the settings for credit cards -->
<string name="preferences_credit_cards">Credit cards</string>
<string name="preferences_credit_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">Credit cards</string>
<!-- Preference and title for managing the settings for payment methods -->
<string name="preferences_credit_cards_2" tools:ignore="UnusedResources">Payment methods</string>
<string name="preferences_credit_cards_2">Payment methods</string>
<!-- Preference for saving and autofilling credit cards -->
<string name="preferences_credit_cards_save_and_autofill_cards">Save and autofill cards</string>
<string name="preferences_credit_cards_save_and_autofill_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">Save and autofill cards</string>
<!-- Preference for saving and autofilling credit cards -->
<string name="preferences_credit_cards_save_and_autofill_cards_2" tools:ignore="UnusedResources">Save and fill payment methods</string>
<string name="preferences_credit_cards_save_and_autofill_cards_2">Save and fill payment methods</string>
<!-- Preference summary for saving and autofilling credit card data -->
<string name="preferences_credit_cards_save_and_autofill_cards_summary">Data is encrypted</string>
<string name="preferences_credit_cards_save_and_autofill_cards_summary" moz:RemovedIn="125" tools:ignore="UnusedResources">Data is encrypted</string>
<!-- Preference summary for saving and autofilling payment method data. Parameter will be replaced by app name. -->
<string name="preferences_credit_cards_save_and_autofill_cards_summary_2" tools:ignore="UnusedResources">%s encrypts all payment methods you save</string>
<string name="preferences_credit_cards_save_and_autofill_cards_summary_2">%s encrypts all payment methods you save</string>
<!-- Preference option for syncing credit cards across devices. This is displayed when the user is not signed into sync -->
<string name="preferences_credit_cards_sync_cards_across_devices">Sync cards across devices</string>
<!-- Preference option for syncing credit cards across devices. This is displayed when the user is signed into sync -->
<string name="preferences_credit_cards_sync_cards">Sync cards</string>
<!-- Preference option for adding a credit card -->
<string name="preferences_credit_cards_add_credit_card">Add credit card</string>
<string name="preferences_credit_cards_add_credit_card" moz:RemovedIn="125" tools:ignore="UnusedResources">Add credit card</string>
<!-- Preference option for adding a card -->
<string name="preferences_credit_cards_add_credit_card_2" tools:ignore="UnusedResources">Add card</string>
<string name="preferences_credit_cards_add_credit_card_2">Add card</string>
<!-- Preference option for managing saved credit cards -->
<string name="preferences_credit_cards_manage_saved_cards">Manage saved cards</string>
<string name="preferences_credit_cards_manage_saved_cards" moz:RemovedIn="125" tools:ignore="UnusedResources">Manage saved cards</string>
<!-- Preference option for managing saved cards -->
<string name="preferences_credit_cards_manage_saved_cards_2" tools:ignore="UnusedResources">Manage cards</string>
<string name="preferences_credit_cards_manage_saved_cards_2">Manage cards</string>
<!-- Preference option for adding an address -->
<string name="preferences_addresses_add_address">Add address</string>
<!-- Preference option for managing saved addresses -->
<string name="preferences_addresses_manage_addresses">Manage addresses</string>
<!-- Preference for saving and autofilling addresses -->
<string name="preferences_addresses_save_and_autofill_addresses">Save and autofill addresses</string>
<string name="preferences_addresses_save_and_autofill_addresses" moz:RemovedIn="125" tools:ignore="UnusedResources">Save and autofill addresses</string>
<!-- Preference for saving and filling addresses -->
<string name="preferences_addresses_save_and_autofill_addresses_2" tools:ignore="UnusedResources">Save and fill addresses</string>
<string name="preferences_addresses_save_and_autofill_addresses_2">Save and fill addresses</string>
<!-- Preference summary for saving and autofilling address data -->
<string name="preferences_addresses_save_and_autofill_addresses_summary">Include information like numbers, email and shipping addresses</string>
<string name="preferences_addresses_save_and_autofill_addresses_summary" moz:RemovedIn="125" tools:ignore="UnusedResources">Include information like numbers, email and shipping addresses</string>
<!-- Preference summary for saving and filling address data -->
<string name="preferences_addresses_save_and_autofill_addresses_summary_2" tools:ignore="UnusedResources">Includes phone numbers and email addresses</string>
<string name="preferences_addresses_save_and_autofill_addresses_summary_2">Includes phone numbers and email addresses</string>
<!-- Title of the "Add card" screen -->
<string name="credit_cards_add_card">Add card</string>
@ -1796,9 +1795,9 @@
<!-- The text for the "Delete card" button for deleting a credit card -->
<string name="credit_cards_delete_card_button">Delete card</string>
<!-- The text for the confirmation message of "Delete card" dialog -->
<string name="credit_cards_delete_dialog_confirmation">Are you sure you want to delete this credit card?</string>
<string name="credit_cards_delete_dialog_confirmation" moz:RemovedIn="125" tools:ignore="UnusedResources">Are you sure you want to delete this credit card?</string>
<!-- The text for the confirmation message of "Delete card" dialog -->
<string name="credit_cards_delete_dialog_confirmation_2" tools:ignore="UnusedResources">Delete card?</string>
<string name="credit_cards_delete_dialog_confirmation_2">Delete card?</string>
<!-- The text for the positive button on "Delete card" dialog -->
<string name="credit_cards_delete_dialog_button">Delete</string>
<!-- The title for the "Save" menu item for saving a credit card -->
@ -1810,23 +1809,23 @@
<!-- Title of the "Saved cards" screen -->
<string name="credit_cards_saved_cards">Saved cards</string>
<!-- Error message for credit card number validation -->
<string name="credit_cards_number_validation_error_message">Please enter a valid credit card number</string>
<string name="credit_cards_number_validation_error_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Please enter a valid credit card number</string>
<!-- Error message for card number validation -->
<string name="credit_cards_number_validation_error_message_2" tools:ignore="UnusedResources">Enter a valid card number</string>
<string name="credit_cards_number_validation_error_message_2">Enter a valid card number</string>
<!-- Error message for credit card name on card validation -->
<string name="credit_cards_name_on_card_validation_error_message">Please fill out this field</string>
<string name="credit_cards_name_on_card_validation_error_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Please fill out this field</string>
<!-- Error message for card name on card validation -->
<string name="credit_cards_name_on_card_validation_error_message_2" tools:ignore="UnusedResources">Add a name</string>
<string name="credit_cards_name_on_card_validation_error_message_2">Add a name</string>
<!-- Message displayed in biometric prompt displayed for authentication before allowing users to view their saved credit cards -->
<string name="credit_cards_biometric_prompt_message">Unlock to view your saved cards</string>
<!-- Title of warning dialog if users have no device authentication set up -->
<string name="credit_cards_warning_dialog_title">Secure your credit cards</string>
<string name="credit_cards_warning_dialog_title" moz:RemovedIn="125" tools:ignore="UnusedResources">Secure your credit cards</string>
<!-- Title of warning dialog if users have no device authentication set up -->
<string name="credit_cards_warning_dialog_title_2" tools:ignore="UnusedResources">Secure your saved payment methods</string>
<string name="credit_cards_warning_dialog_title_2">Secure your saved payment methods</string>
<!-- Message of warning dialog if users have no device authentication set up -->
<string name="credit_cards_warning_dialog_message">Set up a device lock pattern, PIN, or password to protect your saved credit cards from being accessed if someone else has your device.</string>
<string name="credit_cards_warning_dialog_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Set up a device lock pattern, PIN, or password to protect your saved credit cards from being accessed if someone else has your device.</string>
<!-- Message of warning dialog if users have no device authentication set up -->
<string name="credit_cards_warning_dialog_message_3" tools:ignore="UnusedResources">Set up a device lock pattern, PIN, or password to protect your saved payment methods from being accessed if someone else has your device.</string>
<string name="credit_cards_warning_dialog_message_3">Set up a device lock pattern, PIN, or password to protect your saved payment methods from being accessed if someone else has your device.</string>
<!-- Positive button to send users to set up a pin of warning dialog if users have no device authentication set up -->
<string name="credit_cards_warning_dialog_set_up_now">Set up now</string>
<!-- Negative button to ignore warning dialog if users have no device authentication set up -->
@ -1834,9 +1833,9 @@
<!-- Title of PIN verification dialog to direct users to re-enter their device credentials to access their credit cards -->
<string name="credit_cards_biometric_prompt_message_pin">Unlock your device</string>
<!-- Message displayed in biometric prompt for authentication, before allowing users to use their stored credit card information -->
<string name="credit_cards_biometric_prompt_unlock_message">Unlock to use stored credit card information</string>
<string name="credit_cards_biometric_prompt_unlock_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Unlock to use stored credit card information</string>
<!-- Message displayed in biometric prompt for authentication, before allowing users to use their stored payment method information -->
<string name="credit_cards_biometric_prompt_unlock_message_2" tools:ignore="UnusedResources">Unlock to use saved payment methods</string>
<string name="credit_cards_biometric_prompt_unlock_message_2">Unlock to use saved payment methods</string>
<!-- Title of the "Add address" screen -->
<string name="addresses_add_address">Add address</string>
<!-- Title of the "Edit address" screen -->
@ -1874,9 +1873,9 @@
<!-- The text for the "Delete address" button for deleting an address -->
<string name="addressess_delete_address_button">Delete address</string>
<!-- The title for the "Delete address" confirmation dialog -->
<string name="addressess_confirm_dialog_message">Are you sure you want to delete this address?</string>
<string name="addressess_confirm_dialog_message" moz:RemovedIn="125" tools:ignore="UnusedResources">Are you sure you want to delete this address?</string>
<!-- The title for the "Delete address" confirmation dialog -->
<string name="addressess_confirm_dialog_message_2" tools:ignore="UnusedResources">Delete this address?</string>
<string name="addressess_confirm_dialog_message_2" >Delete this address?</string>
<!-- The text for the positive button on "Delete address" dialog -->
<string name="addressess_confirm_dialog_ok_button">Delete</string>
<!-- The text for the negative button on "Delete address" dialog -->
@ -1972,49 +1971,49 @@
<!-- Login overflow menu edit button -->
<string name="login_menu_edit_button">Edit</string>
<!-- Message in delete confirmation dialog for logins -->
<string name="login_deletion_confirmation">Are you sure you want to delete this login?</string>
<string name="login_deletion_confirmation" moz:RemovedIn="125" tools:ignore="UnusedResources">Are you sure you want to delete this login?</string>
<!-- Message in delete confirmation dialog for password -->
<string name="login_deletion_confirmation_2" tools:ignore="UnusedResources">Are you sure you want to delete this password?</string>
<string name="login_deletion_confirmation_2">Are you sure you want to delete this password?</string>
<!-- Positive action of a dialog asking to delete -->
<string name="dialog_delete_positive">Delete</string>
<!-- Negative action of a dialog asking to delete login -->
<string name="dialog_delete_negative">Cancel</string>
<!-- The saved login options menu description. -->
<string name="login_options_menu">Login options</string>
<string name="login_options_menu" moz:RemovedIn="125" tools:ignore="UnusedResources">Login options</string>
<!-- The saved password options menu description. -->
<string name="login_options_menu_2" tools:ignore="UnusedResources">Password options</string>
<string name="login_options_menu_2">Password options</string>
<!-- The editable text field for a login's web address. -->
<string name="saved_login_hostname_description">The editable text field for the web address of the login.</string>
<string name="saved_login_hostname_description" moz:RemovedIn="125" tools:ignore="UnusedResources">The editable text field for the web address of the login.</string>
<!-- The editable text field for a website address. -->
<string name="saved_login_hostname_description_3" tools:ignore="UnusedResources">The editable text field for the website address.</string>
<string name="saved_login_hostname_description_3">The editable text field for the website address.</string>
<!-- The editable text field for a login's username. -->
<string name="saved_login_username_description">The editable text field for the username of the login.</string>
<string name="saved_login_username_description" moz:RemovedIn="125" tools:ignore="UnusedResources">The editable text field for the username of the login.</string>
<!-- The editable text field for a username. -->
<string name="saved_login_username_description_3" tools:ignore="UnusedResources">The editable text field for the username.</string>
<string name="saved_login_username_description_3">The editable text field for the username.</string>
<!-- The editable text field for a login's password. -->
<string name="saved_login_password_description">The editable text field for the password of the login.</string>
<string name="saved_login_password_description" moz:RemovedIn="125" tools:ignore="UnusedResources">The editable text field for the password of the login.</string>
<!-- The editable text field for a login's password. -->
<string name="saved_login_password_description_2" tools:ignore="UnusedResources">The editable text field for the password.</string>
<string name="saved_login_password_description_2">The editable text field for the password.</string>
<!-- The button description to save changes to an edited login. -->
<string name="save_changes_to_login">Save changes to login.</string>
<string name="save_changes_to_login" moz:RemovedIn="125" tools:ignore="UnusedResources">Save changes to login.</string>
<!-- The button description to save changes to an edited password. -->
<string name="save_changes_to_login_2" tools:ignore="UnusedResources">Save changes.</string>
<string name="save_changes_to_login_2">Save changes.</string>
<!-- The page title for editing a saved login. -->
<string name="edit">Edit</string>
<string name="edit" moz:RemovedIn="125" tools:ignore="UnusedResources">Edit</string>
<!-- The page title for editing a saved password. -->
<string name="edit_2" tools:ignore="UnusedResources">Edit password</string>
<string name="edit_2">Edit password</string>
<!-- The page title for adding new login. -->
<string name="add_login">Add new login</string>
<string name="add_login" moz:RemovedIn="125" tools:ignore="UnusedResources">Add new login</string>
<!-- The page title for adding new password. -->
<string name="add_login_2" tools:ignore="UnusedResources">Add password</string>
<string name="add_login_2">Add password</string>
<!-- The error message in add/edit login view when password field is blank. -->
<string name="saved_login_password_required">Password required</string>
<string name="saved_login_password_required" moz:RemovedIn="125" tools:ignore="UnusedResources">Password required</string>
<!-- Error text displayed underneath the password field when it is in an error case. -->
<string name="saved_login_password_required_2" tools:ignore="UnusedResources">Enter a password</string>
<string name="saved_login_password_required_2">Enter a password</string>
<!-- The error message in add login view when username field is blank. -->
<string name="saved_login_username_required">Username required</string>
<string name="saved_login_username_required" moz:RemovedIn="125" tools:ignore="UnusedResources">Username required</string>
<!-- The error message in add login view when username field is blank. -->
<string name="saved_login_username_required_2" tools:ignore="UnusedResources">Enter a username</string>
<string name="saved_login_username_required_2">Enter a username</string>
<!-- The error message in add login view when hostname field is blank. -->
<string name="saved_login_hostname_required" tools:ignore="UnusedResources">Hostname required</string>
<!-- The error message in add login view when hostname field is blank. -->

@ -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" />
<CheckBoxPreference
android:defaultValue="true"
@ -50,7 +50,7 @@
android:defaultValue="true"
android:key="@string/pref_key_sync_logins"
android:layout="@layout/checkbox_left_preference"
android:title="@string/preferences_sync_logins" />
android:title="@string/preferences_sync_logins_2" />
<CheckBoxPreference
android:defaultValue="true"

@ -12,8 +12,8 @@
<SwitchPreference
android:defaultValue="true"
android:key="@string/pref_key_addresses_save_and_autofill_addresses"
android:summary="@string/preferences_addresses_save_and_autofill_addresses_summary"
android:title="@string/preferences_addresses_save_and_autofill_addresses" />
android:summary="@string/preferences_addresses_save_and_autofill_addresses_summary_2"
android:title="@string/preferences_addresses_save_and_autofill_addresses_2" />
<Preference
android:key="@string/pref_key_addresses_manage_addresses"
android:title="@string/preferences_addresses_manage_addresses" />
@ -21,18 +21,18 @@
<androidx.preference.PreferenceCategory
android:layout="@layout/preference_cat_style"
android:title="@string/preferences_credit_cards">
android:title="@string/preferences_credit_cards_2">
<SwitchPreference
android:defaultValue="true"
android:key="@string/pref_key_credit_cards_save_and_autofill_cards"
android:summary="@string/preferences_credit_cards_save_and_autofill_cards_summary"
android:title="@string/preferences_credit_cards_save_and_autofill_cards" />
android:summary="@string/preferences_credit_cards_save_and_autofill_cards_summary_2"
android:title="@string/preferences_credit_cards_save_and_autofill_cards_2" />
<org.mozilla.fenix.settings.SyncPreference
android:key="@string/pref_key_credit_cards_sync_cards_across_devices"
android:title="@string/preferences_credit_cards_sync_cards_across_devices"
app:singleLineTitle="false" />
<Preference
android:key="@string/pref_key_credit_cards_manage_cards"
android:title="@string/preferences_credit_cards_manage_saved_cards" />
android:title="@string/preferences_credit_cards_manage_saved_cards_2" />
</androidx.preference.PreferenceCategory>
</PreferenceScreen>

@ -7,8 +7,8 @@
<SwitchPreference
android:defaultValue="true"
android:key="@string/pref_key_credit_cards_save_and_autofill_cards"
android:summary="@string/preferences_credit_cards_save_and_autofill_cards_summary"
android:title="@string/preferences_credit_cards_save_and_autofill_cards" />
android:summary="@string/preferences_credit_cards_save_and_autofill_cards_summary_2"
android:title="@string/preferences_credit_cards_save_and_autofill_cards_2" />
<org.mozilla.fenix.settings.SyncPreference
android:key="@string/pref_key_credit_cards_sync_cards_across_devices"
android:title="@string/preferences_credit_cards_sync_cards_across_devices"
@ -16,6 +16,6 @@
app:allowDividerBelow="true" />
<Preference
android:key="@string/pref_key_credit_cards_manage_cards"
android:title="@string/preferences_credit_cards_manage_saved_cards"
android:title="@string/preferences_credit_cards_manage_saved_cards_2"
app:allowDividerAbove="true" />
</PreferenceScreen>

@ -7,7 +7,7 @@
<Preference
android:key="@string/pref_key_save_logins_settings"
android:summary="@string/preferences_passwords_save_logins_ask_to_save"
android:title="@string/preferences_passwords_save_logins" />
android:title="@string/preferences_passwords_save_logins_2" />
<SwitchPreference
android:defaultValue="true"
android:key="@string/pref_key_autofill_logins"
@ -19,10 +19,10 @@
android:summary="@string/preferences_android_autofill_description" />
<org.mozilla.fenix.settings.SyncPreference
android:key="@string/pref_key_sync_logins"
android:title="@string/preferences_passwords_sync_logins" />
android:title="@string/preferences_passwords_sync_logins_2" />
<Preference
android:key="@string/pref_key_saved_logins"
android:title="@string/preferences_passwords_saved_logins" />
android:title="@string/preferences_passwords_saved_logins_2" />
<androidx.preference.Preference
android:key="@string/pref_key_login_exceptions"
android:title="@string/preferences_passwords_exceptions"

@ -65,12 +65,12 @@
<androidx.preference.Preference
android:key="@string/pref_key_passwords"
app:iconSpaceReserved="false"
android:title="@string/preferences_passwords_logins_and_passwords" />
android:title="@string/preferences_passwords_logins_and_passwords_2" />
<androidx.preference.Preference
app:iconSpaceReserved="false"
android:key="@string/pref_key_credit_cards"
android:title="@string/preferences_credit_cards" />
android:title="@string/preferences_credit_cards_2" />
<androidx.preference.Preference
android:key="@string/pref_key_accessibility"

@ -44,7 +44,7 @@ class FenixSnackbarDelegateTest {
every { snackbar.setText(any()) } returns snackbar
every { snackbar.setAction(any(), any()) } returns snackbar
every { view.context.getString(R.string.app_name) } returns "Firefox"
every { view.context.getString(R.string.edit) } returns "Edit"
every { view.context.getString(R.string.edit_2) } returns "Edit password"
}
@After
@ -88,7 +88,7 @@ class FenixSnackbarDelegateTest {
snackBarParentView = mockk(),
text = R.string.app_name,
duration = 0,
action = R.string.edit,
action = R.string.edit_2,
listener = null,
)
@ -104,14 +104,14 @@ class FenixSnackbarDelegateTest {
snackBarParentView = mockk(),
text = R.string.app_name,
duration = 0,
action = R.string.edit,
action = R.string.edit_2,
listener = listener,
)
verify { snackbar.setText("Firefox") }
verify {
snackbar.setAction(
"Edit",
"Edit password",
withArg {
verify(exactly = 0) { listener(view) }
it.invoke()

@ -38,7 +38,7 @@ class LoginExceptionsViewTest {
@Test
fun `sets empty message text`() {
assertEquals(
"Logins and passwords that are not saved will be shown here.",
"Firefox Fenix wont save passwords for sites listed here.",
view.binding.exceptionsEmptyMessage.text,
)
assertTrue(view.binding.exceptionsList.adapter is LoginExceptionsAdapter)

@ -24,14 +24,17 @@ class ExceptionsHeaderViewHolderTest {
view = mockk {
every { findViewById<TextView>(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 wont 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 wont save passwords for these sites." }
}
}

@ -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<Preference>(
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<Preference>(
autofillSettingFragment.getPreferenceKey(R.string.pref_key_credit_cards_manage_cards),
)

@ -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"
}
}

Loading…
Cancel
Save