diff --git a/mobile/android/base/fxa/activities/FxAccountStatusFragment.java b/mobile/android/base/fxa/activities/FxAccountStatusFragment.java
index 4182cbb9f1b..abd4335c87c 100644
--- a/mobile/android/base/fxa/activities/FxAccountStatusFragment.java
+++ b/mobile/android/base/fxa/activities/FxAccountStatusFragment.java
@@ -41,6 +41,7 @@ import org.mozilla.gecko.fxa.tasks.FxAccountCodeResender;
import org.mozilla.gecko.sync.ExtendedJSONObject;
import org.mozilla.gecko.sync.SharedPreferencesClientsDataDelegate;
import org.mozilla.gecko.sync.SyncConfiguration;
+import org.mozilla.gecko.sync.setup.activities.ActivityUtils;
import org.mozilla.gecko.util.HardwareUtils;
import org.mozilla.gecko.util.ThreadUtils;
@@ -94,6 +95,7 @@ public class FxAccountStatusFragment
protected PreferenceCategory accountCategory;
protected Preference profilePreference;
protected Preference emailPreference;
+ protected Preference manageAccountPreference;
protected Preference authServerPreference;
protected Preference needsPasswordPreference;
@@ -169,6 +171,10 @@ public class FxAccountStatusFragment
} else {
accountCategory.removePreference(profilePreference);
}
+ manageAccountPreference = ensureFindPreference("manage_account");
+ if (AppConstants.MOZ_ANDROID_NATIVE_ACCOUNT_UI) {
+ accountCategory.removePreference(manageAccountPreference);
+ }
authServerPreference = ensureFindPreference("auth_server");
needsPasswordPreference = ensureFindPreference("needs_credentials");
@@ -197,6 +203,7 @@ public class FxAccountStatusFragment
} else {
emailPreference.setOnPreferenceClickListener(this);
}
+ manageAccountPreference.setOnPreferenceClickListener(this);
needsPasswordPreference.setOnPreferenceClickListener(this);
needsVerificationPreference.setOnPreferenceClickListener(this);
@@ -234,6 +241,12 @@ public class FxAccountStatusFragment
@Override
public boolean onPreferenceClick(Preference preference) {
+ if (preference == manageAccountPreference) {
+ // There's no native equivalent, so no need to re-direct through an Intent filter.
+ ActivityUtils.openURLInFennec(getActivity().getApplicationContext(), "about:accounts?action=manage");
+ return true;
+ }
+
if (preference == needsPasswordPreference) {
final Intent intent = new Intent(FxAccountConstants.ACTION_FXA_UPDATE_CREDENTIALS);
final Bundle extras = getExtrasForAccount();
diff --git a/mobile/android/base/locales/en-US/sync_strings.dtd b/mobile/android/base/locales/en-US/sync_strings.dtd
index 0d9d9df04f2..f2406e41a77 100644
--- a/mobile/android/base/locales/en-US/sync_strings.dtd
+++ b/mobile/android/base/locales/en-US/sync_strings.dtd
@@ -197,6 +197,7 @@
+
diff --git a/mobile/android/base/resources/xml/fxaccount_status_prefscreen.xml b/mobile/android/base/resources/xml/fxaccount_status_prefscreen.xml
index 237783b912d..ee64b74ddd2 100644
--- a/mobile/android/base/resources/xml/fxaccount_status_prefscreen.xml
+++ b/mobile/android/base/resources/xml/fxaccount_status_prefscreen.xml
@@ -16,6 +16,11 @@
android:key="email"
android:persistent="false"
android:title="@string/fxaccount_email_hint" />
+
&syncBrand.shortName.label;
&fxaccount_status_header2;
&fxaccount_status_signed_in_as;
+&fxaccount_status_manage_account;
&fxaccount_status_auth_server;
&fxaccount_status_sync_now;
&fxaccount_status_syncing2;
@@ -240,4 +241,4 @@
&fxaccount_sync_finish_migrating_notification_text;
-&fxaccount_enable_debug_mode;
\ No newline at end of file
+&fxaccount_enable_debug_mode;