Bug 966386 - Final tweaks from Android Firefox Accounts UX sign off. r=rnewman

This commit is contained in:
Nick Alexander 2014-01-31 15:57:41 -08:00
parent aa125a0cb2
commit 3aca7534d3
17 changed files with 146 additions and 149 deletions

View File

@ -21,6 +21,7 @@ import org.mozilla.gecko.fxa.login.Engaged;
import org.mozilla.gecko.fxa.login.State;
import org.mozilla.gecko.sync.SyncConfiguration;
import org.mozilla.gecko.sync.setup.Constants;
import org.mozilla.gecko.sync.setup.activities.ActivityUtils;
import android.accounts.AccountManager;
import android.content.Intent;
@ -82,6 +83,17 @@ abstract public class FxAccountAbstractSetupActivity extends FxAccountAbstractAc
});
}
protected void linkifyPolicy() {
TextView policyView = (TextView) ensureFindViewById(null, R.id.policy, "policy links");
final String linkTerms = getString(R.string.fxaccount_link_tos);
final String linkPrivacy = getString(R.string.fxaccount_link_pn);
final String linkedTOS = "<a href=\"" + linkTerms + "\">" + getString(R.string.fxaccount_policy_linktos) + "</a>";
final String linkedPN = "<a href=\"" + linkPrivacy + "\">" + getString(R.string.fxaccount_policy_linkprivacy) + "</a>";
policyView.setText(getString(R.string.fxaccount_create_account_policy_text, linkedTOS, linkedPN));
final boolean underlineLinks = true;
ActivityUtils.linkifyTextView(policyView, underlineLinks);
}
protected void hideRemoteError() {
remoteErrorTextView.setVisibility(View.INVISIBLE);
}

View File

@ -17,6 +17,7 @@ import org.mozilla.gecko.fxa.authenticator.AndroidFxAccount;
import org.mozilla.gecko.fxa.login.Engaged;
import org.mozilla.gecko.fxa.login.State;
import org.mozilla.gecko.fxa.login.State.StateLabel;
import org.mozilla.gecko.sync.setup.activities.ActivityUtils;
import android.content.Context;
import android.os.Bundle;
@ -56,6 +57,14 @@ public class FxAccountConfirmAccountActivity extends FxAccountAbstractActivity i
verificationLinkTextView = (TextView) ensureFindViewById(null, R.id.verification_link_text, "verification link text");
resendLink = ensureFindViewById(null, R.id.resend_confirmation_email_link, "resend confirmation email link");
resendLink.setOnClickListener(this);
View backToBrowsingButton = ensureFindViewById(null, R.id.button, "back to browsing button");
backToBrowsingButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ActivityUtils.openURLInFennec(v.getContext(), null);
}
});
}
@Override

View File

@ -23,7 +23,6 @@ import org.mozilla.gecko.background.fxa.PasswordStretcher;
import org.mozilla.gecko.background.fxa.QuickPasswordStretcher;
import org.mozilla.gecko.fxa.FxAccountConstants;
import org.mozilla.gecko.fxa.activities.FxAccountSetupTask.FxAccountCreateAccountTask;
import org.mozilla.gecko.sync.setup.activities.ActivityUtils;
import android.app.AlertDialog;
import android.app.Dialog;
@ -68,15 +67,6 @@ public class FxAccountCreateAccountActivity extends FxAccountAbstractSetupActivi
super.onCreate(icicle);
setContentView(R.layout.fxaccount_create_account);
TextView policyView = (TextView) ensureFindViewById(null, R.id.policy, "policy links");
final String linkTerms = getString(R.string.fxaccount_link_tos);
final String linkPrivacy = getString(R.string.fxaccount_link_pn);
final String linkedTOS = "<a href=\"" + linkTerms + "\">" + getString(R.string.fxaccount_policy_linktos) + "</a>";
final String linkedPN = "<a href=\"" + linkPrivacy + "\">" + getString(R.string.fxaccount_policy_linkprivacy) + "</a>";
policyView.setText(getString(R.string.fxaccount_create_account_policy_text, linkedTOS, linkedPN));
final boolean underlineLinks = true;
ActivityUtils.linkifyTextView(policyView, underlineLinks);
emailEdit = (EditText) ensureFindViewById(null, R.id.email, "email edit");
passwordEdit = (EditText) ensureFindViewById(null, R.id.password, "password edit");
showPasswordButton = (Button) ensureFindViewById(null, R.id.show_password, "show password button");
@ -92,6 +82,7 @@ public class FxAccountCreateAccountActivity extends FxAccountAbstractSetupActivi
addListeners();
updateButtonState();
createShowPasswordButton();
linkifyPolicy();
createChooseCheckBox();
View signInInsteadLink = ensureFindViewById(null, R.id.sign_in_instead_link, "sign in instead link");
@ -173,14 +164,24 @@ public class FxAccountCreateAccountActivity extends FxAccountAbstractSetupActivi
this.finish();
}
protected void createYearEdit() {
/**
* Return years to display in picker.
*
* @return 1990 or earlier, 1991, 1992, up to five years before current year.
* (So, if it is currently 2014, up to 2009.)
*/
protected String[] getYearItems() {
int year = Calendar.getInstance().get(Calendar.YEAR);
LinkedList<String> years = new LinkedList<String>();
for (int i = year - 5; i >= 1951; i--) {
years.add(getResources().getString(R.string.fxaccount_create_account_1990_or_earlier));
for (int i = 1991; i <= year - 5; i++) {
years.add(Integer.toString(i));
}
years.add(getResources().getString(R.string.fxaccount_create_account_1950_or_earlier));
yearItems = years.toArray(new String[0]);
return years.toArray(new String[0]);
}
protected void createYearEdit() {
yearItems = getYearItems();
yearEdit.setOnClickListener(new OnClickListener() {
@Override

View File

@ -59,6 +59,7 @@ public class FxAccountSignInActivity extends FxAccountAbstractSetupActivity {
addListeners();
updateButtonState();
createShowPasswordButton();
linkifyPolicy();
View createAccountInsteadLink = ensureFindViewById(null, R.id.create_account_link, "create account instead link");
createAccountInsteadLink.setOnClickListener(new OnClickListener() {

View File

@ -8,9 +8,11 @@ import org.mozilla.gecko.R;
import org.mozilla.gecko.background.common.log.Logger;
import org.mozilla.gecko.fxa.authenticator.AndroidFxAccount;
import org.mozilla.gecko.fxa.login.State;
import org.mozilla.gecko.sync.setup.activities.ActivityUtils;
import android.os.Bundle;
import android.widget.TextView;
import android.view.View;
import android.view.View.OnClickListener;
/**
* Activity which displays "Account verified" success screen.
@ -20,8 +22,6 @@ public class FxAccountVerifiedAccountActivity extends FxAccountAbstractActivity
protected AndroidFxAccount fxAccount;
protected TextView emailText;
public FxAccountVerifiedAccountActivity() {
super(CANNOT_RESUME_WHEN_NO_ACCOUNTS_EXIST);
}
@ -35,8 +35,6 @@ public class FxAccountVerifiedAccountActivity extends FxAccountAbstractActivity
super.onCreate(icicle);
setContentView(R.layout.fxaccount_account_verified);
emailText = (TextView) ensureFindViewById(null, R.id.email, "email text");
}
@Override
@ -56,6 +54,13 @@ public class FxAccountVerifiedAccountActivity extends FxAccountAbstractActivity
finish();
return;
}
emailText.setText(fxAccount.getEmail());
View backToBrowsingButton = ensureFindViewById(null, R.id.button, "back to browsing button");
backToBrowsingButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ActivityUtils.openURLInFennec(v.getContext(), null);
}
});
}
}

View File

@ -7,8 +7,6 @@
<!ENTITY syncBrand.fullName.label "Firefox Sync">
<!ENTITY syncBrand.shortName.label "Sync">
<!ENTITY fxaccountBrand.fullName.label "Firefox Account">
<!-- Main titles. -->
<!ENTITY sync.app.name.label '&syncBrand.fullName.label;'>
<!ENTITY sync.title.connect.label 'Connect to &syncBrand.shortName.label;'>
@ -72,10 +70,10 @@
<!ENTITY sync.button.cancel.label 'Cancel'>
<!ENTITY sync.button.connect.label 'Connect'>
<!ENTITY sync.button.ok.label 'OK'>
<!-- Account strings -->
<!ENTITY sync.account.label.label '&syncBrand.fullName.label;'>
<!ENTITY sync.account.label '&syncBrand.fullName.label; (deprecated)'>
<!-- Bookmark folder strings -->
<!ENTITY bookmarks.folder.menu.label 'Bookmarks Menu'>
<!ENTITY bookmarks.folder.places.label ''>
@ -107,22 +105,14 @@
<!ENTITY sync.text.tab.sent.label 'Your tab was sent!'>
<!ENTITY sync.text.tab.not.sent.label 'There was a problem sending your tab.'>
<!-- Firefox Account strings -->
<!-- Localization note: this is the brand title, shown at the top of most screens. -->
<!ENTITY firefox_accounts 'Firefox Accounts'>
<!-- Localization note: this refers to a single Firefox Account, shown
at the top of the account status activity. That activity allows
to configure the current Firefox Account. -->
<!ENTITY firefox_account 'Firefox Account'>
<!-- Firefox account strings. -->
<!-- Localization note: these describe icons and graphics, and are
consumed by assistive devices. -->
<!ENTITY fxaccount_checkbox_contentDescription 'Firefox Accounts checkbox graphic'>
<!ENTITY fxaccount_icon_contentDescription 'Firefox Accounts icon'>
<!ENTITY fxaccount_intro_contentDescription 'Firefox Accounts introduction graphics'>
<!ENTITY fxaccount_mail_contentDescription 'Firefox Accounts envelope graphic'>
<!ENTITY fxaccount_checkbox_contentDescription2 'Firefox accounts checkbox graphic'>
<!ENTITY fxaccount_icon_contentDescription2 'Firefox accounts icon'>
<!ENTITY fxaccount_intro_contentDescription2 'Firefox accounts introduction graphics'>
<!ENTITY fxaccount_mail_contentDescription2 'Firefox accounts envelope graphic'>
<!-- Localization note: these are shown in all screens that query the
user for an email address and password. Hide and show are button
@ -132,6 +122,11 @@
<!ENTITY fxaccount_password_hide 'Hide'>
<!ENTITY fxaccount_password_show 'Show'>
<!-- Localization note: these are shown in screens after the user has
created or signed in to an account, and take the user back to
Firefox. -->
<!ENTITY fxaccount_back_to_browsing 'Back to browsing'>
<!ENTITY fxaccount_policy_linktos 'Terms of Service'>
<!ENTITY fxaccount_policy_linkprivacy 'Privacy Notice'>
@ -140,7 +135,10 @@
<!ENTITY fxaccount_getting_started_get_started 'Get started'>
<!ENTITY fxaccount_getting_started_old_firefox 'Using an older version of &syncBrand.shortName.label;?'>
<!ENTITY fxaccount_create_account_sub_header 'Create an account'>
<!-- Localization note: the Firefox below should not change with the
particular version of Firefox installed (Release, Beta, Aurora,
etc). The account remains a "Firefox" account. -->
<!ENTITY fxaccount_create_account_header 'Create a Firefox account'>
<!ENTITY fxaccount_create_account_password_length_restriction 'Must be at least 8 characters'>
<!ENTITY fxaccount_create_account_year_of_birth 'Year of birth'>
<!-- Localization note: &formatS1; is fxaccount_policy_linktos, &formatS2; is fxaccount_policy_linkprivacy, both hyperlinked. -->
@ -148,7 +146,7 @@
<!ENTITY fxaccount_create_account_button 'Next'>
<!ENTITY fxaccount_create_account_choose_what_to_sync 'Choose what to sync'>
<!ENTITY fxaccount_create_account_sign_in_instead 'Already have an account? Sign in'>
<!ENTITY fxaccount_create_account_1950_or_earlier '1950 or earlier'>
<!ENTITY fxaccount_create_account_1990_or_earlier '1990 or earlier'>
<!ENTITY fxaccount_create_account_unknown_error 'Could not create account'>
<!ENTITY fxaccount_account_create_not_allowed 'Cannot create account'>
@ -156,11 +154,11 @@
<!ENTITY fxaccount_account_create_not_allowed_learn_more 'Learn more'>
<!ENTITY fxaccount_confirm_account_header 'Confirm your account'>
<!-- Localization note: &formatS; is the Firefox Account's email address. -->
<!-- Localization note: &formatS; is the Firefox account's email address. -->
<!ENTITY fxaccount_confirm_account_verification_link 'A verification link has been sent to &formatS;'>
<!ENTITY fxaccount_confirm_account_resend_email 'Resend email'>
<!ENTITY fxaccount_confirm_account_verification_link_sent 'Sent fresh verification link'>
<!ENTITY fxaccount_confirm_account_verification_link_not_sent 'Couldn\&apos;t send a fresh verification link'>
<!ENTITY fxaccount_confirm_account_verification_link_sent2 'Verification email sent'>
<!ENTITY fxaccount_confirm_account_verification_link_not_sent2 'Couldn\&apos;t send verification email'>
<!ENTITY fxaccount_sign_in_sub_header 'Sign in'>
<!ENTITY fxaccount_sign_in_button_label 'Sign in'>
@ -169,15 +167,16 @@
<!ENTITY fxaccount_sign_in_unknown_error 'Could not sign in'>
<!ENTITY fxaccount_account_verified_sub_header 'Account verified'>
<!ENTITY fxaccount_account_verified_description 'You are now ready to use &syncBrand.shortName.label;.'>
<!ENTITY fxaccount_account_verified_description2 'Your data will begin syncing momentarily.'>
<!ENTITY fxaccount_update_credentials_sub_header 'Sign in to continue'>
<!ENTITY fxaccount_update_credentials_header 'Sign in'>
<!ENTITY fxaccount_update_credentials_button_label 'Sign in'>
<!ENTITY fxaccount_update_credentials_unknown_error 'Could not sign in'>
<!ENTITY fxaccount_status_header 'Firefox account'>
<!ENTITY fxaccount_status_sync '&syncBrand.shortName.label;'>
<!ENTITY fxaccount_status_sync_enabled '&syncBrand.shortName.label;: enabled'>
<!ENTITY fxaccount_status_needs_verification 'Your account needs to be verified. Tap to verify.'>
<!ENTITY fxaccount_status_needs_verification2 'Your account needs to be verified. Tap to resend verification email.'>
<!ENTITY fxaccount_status_needs_credentials 'Cannot connect. Tap to sign in.'>
<!ENTITY fxaccount_status_needs_upgrade 'You need to upgrade &brandShortName; to sign in.'>
<!ENTITY fxaccount_status_bookmarks 'Bookmarks'>
@ -187,14 +186,14 @@
<!ENTITY fxaccount_status_legal 'Legal' >
<!-- Localization note: this is the name shown by the Android system
itself for a Firefox Account. It should be singular. -->
<!ENTITY fxaccount_label '&fxaccountBrand.fullName.label;'>
itself for a Firefox account. Don't localize this. -->
<!ENTITY fxaccount_account_type_label 'Firefox'>
<!-- Localization note: these are shown by the Android system itself,
when the user navigates to the Android > Accounts > [Firefox
Account] Screen. The link takes the user to the Firefox Account
Account] Screen. The link takes the user to the Firefox account
status activity, which lets them manage their Firefox
Account. -->
account. -->
<!ENTITY fxaccount_options_title '&syncBrand.shortName.label; Options'>
<!ENTITY fxaccount_options_configure_title 'Configure &syncBrand.shortName.label;'>
@ -213,7 +212,7 @@
<!ENTITY fxaccount_remote_error_UNKNOWN_ERROR 'There was a problem'>
<!ENTITY fxaccount_remote_error_COULD_NOT_CONNECT 'Cannot connect to network'>
<!ENTITY fxaccount_sync_sign_in_error_notification_title '&syncBrand.fullName.label; is not connected'>
<!ENTITY fxaccount_sync_sign_in_error_notification_title2 '&syncBrand.shortName.label; is not connected'>
<!-- Note to translators: the format string below will be replaced
with the Firefox Account's email address. -->
<!ENTITY fxaccount_sync_sign_in_error_notification_text 'Tap to sign in to &formatS;'>
with the Firefox account's email address. -->
<!ENTITY fxaccount_sync_sign_in_error_notification_text2 'Tap to sign in as &formatS;'>

View File

@ -13,11 +13,6 @@
<TextView
style="@style/FxAccountHeaderItem"
android:text="@string/firefox_accounts" >
</TextView>
<TextView
style="@style/FxAccountSubHeaderItem"
android:text="@string/fxaccount_account_verified_sub_header" >
</TextView>
@ -32,18 +27,14 @@
<TextView
style="@style/FxAccountTextItem"
android:layout_marginBottom="15dp"
android:layout_marginBottom="40dp"
android:text="@string/fxaccount_account_verified_description"
android:textSize="18sp" >
</TextView>
android:textSize="18sp" />
<TextView
android:id="@+id/email"
style="@style/FxAccountTextItem"
android:layout_marginBottom="45dp"
android:textSize="20sp"
android:textStyle="bold" >
</TextView>
<Button
android:id="@+id/button"
style="@style/FxAccountButton"
android:text="@string/fxaccount_back_to_browsing" />
<LinearLayout style="@style/FxAccountSpacer" />

View File

@ -15,11 +15,6 @@
<TextView
style="@style/FxAccountHeaderItem"
android:text="@string/firefox_accounts" >
</TextView>
<TextView
style="@style/FxAccountSubHeaderItem"
android:text="@string/fxaccount_confirm_account_header" >
</TextView>
@ -27,7 +22,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="45dp"
android:layout_marginBottom="40dp"
android:background="@android:color/transparent"
android:contentDescription="@string/fxaccount_mail_contentDescription"
android:src="@drawable/fxaccount_mail" >
@ -36,10 +31,14 @@
<TextView
android:id="@+id/verification_link_text"
style="@style/FxAccountTextItem"
android:layout_marginBottom="15dp"
android:layout_marginBottom="40dp"
android:text="@string/fxaccount_confirm_account_verification_link"
android:textSize="18sp" >
</TextView>
android:textSize="18sp" />
<Button
android:id="@+id/button"
style="@style/FxAccountButton"
android:text="@string/fxaccount_back_to_browsing" />
<TextView
android:id="@+id/resend_confirmation_email_link"

View File

@ -18,11 +18,7 @@
<TextView
style="@style/FxAccountHeaderItem"
android:text="@string/firefox_accounts" />
<TextView
style="@style/FxAccountSubHeaderItem"
android:text="@string/fxaccount_create_account_sub_header" />
android:text="@string/fxaccount_create_account_header" />
<include layout="@layout/fxaccount_email_password_view" />

View File

@ -17,11 +17,6 @@
<TextView
style="@style/FxAccountHeaderItem"
android:text="@string/firefox_accounts" >
</TextView>
<TextView
style="@style/FxAccountSubHeaderItem"
android:text="@string/fxaccount_account_create_not_allowed" >
</TextView>
@ -44,4 +39,4 @@
android:contentDescription="@string/fxaccount_icon_contentDescription" />
</LinearLayout>
</ScrollView>
</ScrollView>

View File

@ -18,10 +18,6 @@
<TextView
style="@style/FxAccountHeaderItem"
android:text="@string/firefox_accounts" />
<TextView
style="@style/FxAccountSubHeaderItem"
android:text="@string/fxaccount_sign_in_sub_header" />
<include layout="@layout/fxaccount_email_password_view" />
@ -65,6 +61,13 @@
android:text="@string/fxaccount_sign_in_create_account_instead" />
</LinearLayout>
<TextView
android:id="@+id/policy"
style="@style/FxAccountLinkifiedItem"
android:layout_marginTop="10dp"
android:text="@string/fxaccount_create_account_policy_text"
android:textColorLink="@color/fxaccount_linkified_textColorLinkSubdued" />
<LinearLayout style="@style/FxAccountSpacer" />
<ImageView
@ -72,4 +75,4 @@
android:contentDescription="@string/fxaccount_icon_contentDescription" />
</LinearLayout>
</ScrollView>
</ScrollView>

View File

@ -16,12 +16,12 @@
<TextView
style="@style/FxAccountHeaderItem"
android:text="@string/firefox_account" >
android:text="@string/fxaccount_status_header" >
</TextView>
<TextView
android:id="@+id/email"
style="@style/FxAccountSubHeaderItem" >
style="@style/FxAccountTextItem" >
</TextView>
<TextView
@ -30,12 +30,6 @@
android:text="@string/fxaccount_status_sync" >
</TextView>
<LinearLayout
android:id="@+id/spacer1"
android:layout_width="fill_parent"
android:layout_height="20dp"
android:orientation="vertical" />
<ViewFlipper
android:id="@+id/connection_status_view"
style="@style/FxAccountTextItem"
@ -110,12 +104,6 @@
android:text="@string/fxaccount_status_legal" >
</TextView>
<LinearLayout
android:id="@+id/spacer2"
android:layout_width="fill_parent"
android:layout_height="20dp"
android:orientation="vertical" />
<TextView
android:id="@+id/fxaccount_status_linktos"
style="@style/FxAccountLinkifiedItem"

View File

@ -18,11 +18,7 @@
<TextView
style="@style/FxAccountHeaderItem"
android:text="@string/firefox_accounts" />
<TextView
style="@style/FxAccountSubHeaderItem"
android:text="@string/fxaccount_update_credentials_sub_header" />
android:text="@string/fxaccount_update_credentials_header" />
<include layout="@layout/fxaccount_email_password_view" />

View File

@ -30,12 +30,6 @@
<style name="FxAccountHeaderItem" parent="@style/FxAccountTextItem">
<item name="android:textSize">28sp</item>
<item name="android:layout_margin">0dp</item>
</style>
<style name="FxAccountSubHeaderItem" parent="@style/FxAccountTextItem">
<item name="android:textSize">24sp</item>
<item name="android:layout_marginTop">20dp</item>
<item name="android:layout_marginBottom">20dp</item>
</style>

View File

@ -48,11 +48,22 @@ public class ActivityUtils {
return charKey;
}
/**
* Open a URL in Fennec, if one is provided; or just open Fennec.
*
* @param context Android context.
* @param url to visit, or null to just open Fennec.
*/
public static void openURLInFennec(final Context context, final String url) {
final Intent intent = new Intent(Intent.ACTION_VIEW);
Intent intent;
if (url != null) {
intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
} else {
intent = new Intent(Intent.ACTION_MAIN);
}
intent.setClassName(GlobalConstants.BROWSER_INTENT_PACKAGE, GlobalConstants.BROWSER_INTENT_CLASS);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse(url));
context.startActivity(intent);
}
@ -115,12 +126,12 @@ public class ActivityUtils {
SpannableString replaced = new SpannableString(spanned);
URLSpan[] spans = replaced.getSpans(0, replaced.length(), URLSpan.class);
for (URLSpan span : spans) {
final int start = replaced.getSpanStart(span);
final int end = replaced.getSpanEnd(span);
final int flags = replaced.getSpanFlags(span);
final int start = replaced.getSpanStart(span);
final int end = replaced.getSpanEnd(span);
final int flags = replaced.getSpanFlags(span);
replaced.removeSpan(span);
replaced.setSpan(new FennecClickableSpan(span.getURL(), underlining), start, end, flags);
replaced.removeSpan(span);
replaced.setSpan(new FennecClickableSpan(span.getURL(), underlining), start, end, flags);
}
textView.setText(replaced);

View File

@ -5,11 +5,9 @@
package org.mozilla.gecko.sync.setup.activities;
import org.mozilla.gecko.R;
import org.mozilla.gecko.background.common.GlobalConstants;
import org.mozilla.gecko.sync.setup.Constants;
import org.mozilla.gecko.sync.setup.SyncAccounts;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
@ -42,8 +40,6 @@ public class SetupSuccessActivity extends SyncActivity {
}
public void launchBrowser(View target) {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName(GlobalConstants.BROWSER_INTENT_PACKAGE, GlobalConstants.BROWSER_INTENT_CLASS);
startActivity(intent);
ActivityUtils.openURLInFennec(this, null);
}
}

View File

@ -65,7 +65,7 @@
<string name="sync_button_ok">&sync.button.ok.label;</string>
<!-- Account strings -->
<string name="sync_account_label">&sync.account.label.label;</string>
<string name="sync_account_label">&sync.account.label;</string>
<!-- Bookmark folder strings -->
<string name="bookmarks_folder_menu">&bookmarks.folder.menu.label;</string>
@ -98,11 +98,9 @@
<string name="sync_text_tab_sent">&sync.text.tab.sent.label;</string>
<string name="sync_text_tab_not_sent">&sync.text.tab.not.sent.label;</string>
<!-- Firefox Account strings. -->
<string name="firefox_accounts">&firefox_accounts;</string>
<string name="firefox_account">&firefox_account;</string>
<!-- Firefox account strings. -->
<!-- Firefox Account links. -->
<!-- Firefox account links. -->
<!-- https://support.mozilla.org/1/mobile/%VERSION%/%OS%/%LOCALE%/old-sync -->
<string name="fxaccount_link_old_firefox">https://support.mozilla.org/1/mobile/&formatS1;/&formatS2;/&formatS3;/old-sync</string>
<string name="fxaccount_link_create_not_allowed">http://www.consumer.ftc.gov/articles/0031-protecting-your-childs-privacy-online</string>
@ -110,16 +108,18 @@
<string name="fxaccount_link_pn">https://accounts.firefox.com/legal/privacy</string>
<string name="fxaccount_link_forgot_password">https://accounts.firefox.com/reset_password</string>
<string name="fxaccount_checkbox_contentDescription">&fxaccount_checkbox_contentDescription;</string>
<string name="fxaccount_icon_contentDescription">&fxaccount_icon_contentDescription;</string>
<string name="fxaccount_intro_contentDescription">&fxaccount_intro_contentDescription;</string>
<string name="fxaccount_mail_contentDescription">&fxaccount_mail_contentDescription;</string>
<string name="fxaccount_checkbox_contentDescription">&fxaccount_checkbox_contentDescription2;</string>
<string name="fxaccount_icon_contentDescription">&fxaccount_icon_contentDescription2;</string>
<string name="fxaccount_intro_contentDescription">&fxaccount_intro_contentDescription2;</string>
<string name="fxaccount_mail_contentDescription">&fxaccount_mail_contentDescription2;</string>
<string name="fxaccount_email_hint">&fxaccount_email_hint;</string>
<string name="fxaccount_password_hint">&fxaccount_password_hint;</string>
<string name="fxaccount_password_hide">&fxaccount_password_hide;</string>
<string name="fxaccount_password_show">&fxaccount_password_show;</string>
<string name="fxaccount_back_to_browsing">&fxaccount_back_to_browsing;</string>
<string name="fxaccount_policy_linktos">&fxaccount_policy_linktos;</string>
<string name="fxaccount_policy_linkprivacy">&fxaccount_policy_linkprivacy;</string>
@ -128,7 +128,7 @@
<string name="fxaccount_getting_started_get_started">&fxaccount_getting_started_get_started;</string>
<string name="fxaccount_getting_started_old_firefox">&fxaccount_getting_started_old_firefox;</string>
<string name="fxaccount_create_account_sub_header">&fxaccount_create_account_sub_header;</string>
<string name="fxaccount_create_account_header">&fxaccount_create_account_header;</string>
<string name="fxaccount_create_account_password_length_restriction">&fxaccount_create_account_password_length_restriction;</string>
<string name="fxaccount_create_account_year_of_birth">&fxaccount_create_account_year_of_birth;</string>
@ -136,7 +136,7 @@
<string name="fxaccount_create_account_button">&fxaccount_create_account_button;</string>
<string name="fxaccount_create_account_choose_what_to_sync">&fxaccount_create_account_choose_what_to_sync;</string>
<string name="fxaccount_create_account_sign_in_instead">&fxaccount_create_account_sign_in_instead;</string>
<string name="fxaccount_create_account_1950_or_earlier">&fxaccount_create_account_1950_or_earlier;</string>
<string name="fxaccount_create_account_1990_or_earlier">&fxaccount_create_account_1990_or_earlier;</string>
<string name="fxaccount_create_account_unknown_error">&fxaccount_create_account_unknown_error;</string>
<string name="fxaccount_account_create_not_allowed">&fxaccount_account_create_not_allowed;</string>
@ -146,8 +146,8 @@
<string name="fxaccount_confirm_account_header">&fxaccount_confirm_account_header;</string>
<string name="fxaccount_confirm_account_verification_link">&fxaccount_confirm_account_verification_link;</string>
<string name="fxaccount_confirm_account_resend_email">&fxaccount_confirm_account_resend_email;</string>
<string name="fxaccount_confirm_account_verification_link_sent">&fxaccount_confirm_account_verification_link_sent;</string>
<string name="fxaccount_confirm_account_verification_link_not_sent">&fxaccount_confirm_account_verification_link_not_sent;</string>
<string name="fxaccount_confirm_account_verification_link_sent">&fxaccount_confirm_account_verification_link_sent2;</string>
<string name="fxaccount_confirm_account_verification_link_not_sent">&fxaccount_confirm_account_verification_link_not_sent2;</string>
<string name="fxaccount_sign_in_sub_header">&fxaccount_sign_in_sub_header;</string>
<string name="fxaccount_sign_in_button_label">&fxaccount_sign_in_button_label;</string>
@ -156,15 +156,16 @@
<string name="fxaccount_sign_in_unknown_error">&fxaccount_sign_in_unknown_error;</string>
<string name="fxaccount_account_verified_sub_header">&fxaccount_account_verified_sub_header;</string>
<string name="fxaccount_account_verified_description">&fxaccount_account_verified_description;</string>
<string name="fxaccount_account_verified_description">&fxaccount_account_verified_description2;</string>
<string name="fxaccount_update_credentials_sub_header">&fxaccount_update_credentials_sub_header;</string>
<string name="fxaccount_update_credentials_header">&fxaccount_update_credentials_header;</string>
<string name="fxaccount_update_credentials_button_label">&fxaccount_update_credentials_button_label;</string>
<string name="fxaccount_update_credentials_unknown_error">&fxaccount_update_credentials_unknown_error;</string>
<string name="fxaccount_status_header">&fxaccount_status_header;</string>
<string name="fxaccount_status_sync">&fxaccount_status_sync;</string>
<string name="fxaccount_status_sync_enabled">&fxaccount_status_sync_enabled;</string>
<string name="fxaccount_status_needs_verification">&fxaccount_status_needs_verification;</string>
<string name="fxaccount_status_needs_verification">&fxaccount_status_needs_verification2;</string>
<string name="fxaccount_status_needs_credentials">&fxaccount_status_needs_credentials;</string>
<string name="fxaccount_status_needs_upgrade">&fxaccount_status_needs_upgrade;</string>
<string name="fxaccount_status_bookmarks">&fxaccount_status_bookmarks;</string>
@ -173,7 +174,7 @@
<string name="fxaccount_status_tabs">&fxaccount_status_tabs;</string>
<string name="fxaccount_status_legal">&fxaccount_status_legal;</string>
<string name="fxaccount_label">&fxaccount_label;</string>
<string name="fxaccount_label">&fxaccount_account_type_label;</string>
<string name="fxaccount_options_title">&fxaccount_options_title;</string>
<string name="fxaccount_options_configure_title">&fxaccount_options_configure_title;</string>
@ -188,5 +189,5 @@
<string name="fxaccount_remote_error_UNKNOWN_ERROR">&fxaccount_remote_error_UNKNOWN_ERROR;</string>
<string name="fxaccount_remote_error_COULD_NOT_CONNECT">&fxaccount_remote_error_COULD_NOT_CONNECT;</string>
<string name="fxaccount_sync_sign_in_error_notification_title">&fxaccount_sync_sign_in_error_notification_title;</string>
<string name="fxaccount_sync_sign_in_error_notification_text">&fxaccount_sync_sign_in_error_notification_text;</string>
<string name="fxaccount_sync_sign_in_error_notification_title">&fxaccount_sync_sign_in_error_notification_title2;</string>
<string name="fxaccount_sync_sign_in_error_notification_text">&fxaccount_sync_sign_in_error_notification_text2;</string>