Bug 1210386 - Link "Make Firefox Default Browser" to Settings page. r=sebastian
MozReview-Commit-ID: 9nrVnUaqO7K
--- a/mobile/android/base/java/org/mozilla/gecko/preferences/GeckoPreferences.java
+++ b/mobile/android/base/java/org/mozilla/gecko/preferences/GeckoPreferences.java
@@ -147,16 +147,17 @@ OnSharedPreferenceChangeListener
public static final String PREFS_QRCODE_ENABLED = NON_PREF_PREFIX + "qrcode_enabled";
private static final String PREFS_TRACKING_PROTECTION_PRIVATE_BROWSING = "privacy.trackingprotection.pbmode.enabled";
private static final String PREFS_TRACKING_PROTECTION_LEARN_MORE = NON_PREF_PREFIX + "trackingprotection.learn_more";
private static final String PREFS_CLEAR_PRIVATE_DATA = NON_PREF_PREFIX + "privacy.clear";
private static final String PREFS_CLEAR_PRIVATE_DATA_EXIT = NON_PREF_PREFIX + "history.clear_on_exit";
private static final String PREFS_SCREEN_ADVANCED = NON_PREF_PREFIX + "advanced_screen";
public static final String PREFS_HOMEPAGE = NON_PREF_PREFIX + "homepage";
public static final String PREFS_HISTORY_SAVED_SEARCH = NON_PREF_PREFIX + "search.search_history.enabled";
+ private static final String PREFS_DEFAULT_BROWSER_LINK = NON_PREF_PREFIX + "default_browser.link";
private static final String PREFS_FAQ_LINK = NON_PREF_PREFIX + "faq.link";
private static final String PREFS_FEEDBACK_LINK = NON_PREF_PREFIX + "feedback.link";
public static final String PREFS_NOTIFICATIONS_CONTENT = NON_PREF_PREFIX + "notifications.content";
public static final String PREFS_NOTIFICATIONS_WHATS_NEW = NON_PREF_PREFIX + "notifications.whats_new";
private static final String ACTION_STUMBLER_UPLOAD_PREF = AppConstants.ANDROID_PACKAGE_NAME + ".STUMBLER_PREF";
@@ -843,19 +844,22 @@ OnSharedPreferenceChangeListener
}
} else if (PREFS_CLEAR_PRIVATE_DATA.equals(key) || PREFS_CLEAR_PRIVATE_DATA_EXIT.equals(key)) {
if (!Restrictions.isAllowed(this, Restrictable.CLEAR_HISTORY)) {
preferences.removePreference(pref);
i--;
continue;
}
} else if (PREFS_HOMEPAGE.equals(key)) {
- String setUrl = GeckoSharedPrefs.forProfile(getBaseContext()).getString(PREFS_HOMEPAGE, AboutPages.HOME);
- setHomePageSummary(pref, setUrl);
- pref.setOnPreferenceChangeListener(this);
+ String setUrl = GeckoSharedPrefs.forProfile(getBaseContext()).getString(PREFS_HOMEPAGE, AboutPages.HOME);
+ setHomePageSummary(pref, setUrl);
+ pref.setOnPreferenceChangeListener(this);
+ } else if (PREFS_DEFAULT_BROWSER_LINK.equals(key)) {
+ final String url = getResources().getString(R.string.default_browser_link);
+ ((LinkPreference) pref).setUrl(url);
} else if (PREFS_FAQ_LINK.equals(key)) {
// Format the FAQ link
final String VERSION = AppConstants.MOZ_APP_VERSION;
final String OS = AppConstants.OS_TARGET;
final String LOCALE = Locales.getLanguageTag(Locale.getDefault());
final String url = getResources().getString(R.string.faq_link, VERSION, OS, LOCALE);
((LinkPreference) pref).setUrl(url);
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -336,17 +336,17 @@ size. -->
<!ENTITY pref_private_data_cookies2 "Cookies & active logins">
<!ENTITY pref_private_data_passwords2 "Saved logins">
<!ENTITY pref_private_data_cache "Cache">
<!ENTITY pref_private_data_offlineApps "Offline website data">
<!ENTITY pref_private_data_siteSettings2 "Site settings">
<!ENTITY pref_private_data_downloadFiles2 "Downloads">
<!ENTITY pref_private_data_syncedTabs "Synced tabs">
-
+<!ENTITY pref_default_browser "Make Default Browser">
<!ENTITY pref_about_firefox "About &brandShortName;">
<!ENTITY pref_vendor_faqs "FAQs">
<!ENTITY pref_vendor_feedback "Give feedback">
<!ENTITY pref_dialog_set_default "Set as default">
<!ENTITY pref_dialog_default "Default">
<!ENTITY pref_dialog_remove "Remove">
--- a/mobile/android/base/resources/xml/preferences.xml
+++ b/mobile/android/base/resources/xml/preferences.xml
@@ -65,16 +65,20 @@
android:title="@string/pref_clear_private_data_now"
android:persistent="true"
android:positiveButtonText="@string/button_clear_data"
gecko:entries="@array/pref_private_data_entries"
gecko:entryValues="@array/pref_private_data_values"
gecko:entryKeys="@array/pref_private_data_keys"
gecko:initialValues="@array/pref_private_data_defaults" />
+ <org.mozilla.gecko.preferences.LinkPreference android:key="android.not_a_preference.default_browser.link"
+ android:title="@string/pref_default_browser"
+ android:persistent="false"/>
+
<PreferenceScreen android:title="@string/pref_category_vendor"
android:summary="@string/pref_category_vendor_summary"
android:fragment="org.mozilla.gecko.preferences.GeckoPreferenceFragment" >
<extra android:name="resource"
android:value="preferences_vendor"/>
</PreferenceScreen>
</PreferenceScreen>
--- a/mobile/android/base/strings.xml.in
+++ b/mobile/android/base/strings.xml.in
@@ -68,23 +68,16 @@
<string name="crash_email">&crash_email;</string>
<string name="crash_closing_alert">&crash_closing_alert;</string>
<string name="sending_crash_report">&sending_crash_report;</string>
<string name="crash_close_label">&crash_close_label;</string>
<string name="crash_restart_label">&crash_restart_label;</string>
<string name="url_bar_default_text">&url_bar_default_text2;</string>
- <!-- https://input.mozilla.org/feedback/android/%VERSION%/%CHANNEL%/?utm_source=feedback-settings
- This should be kept in sync with the "app.feedbackURL" pref defined in mobile.js -->
- <string name="feedback_link">https://input.mozilla.org/feedback/android/&formatS1;/&formatS2;/?utm_source=feedback-settings</string>
-
- <!-- https://support.mozilla.org/1/mobile/%VERSION%/%OS%/%LOCALE%/faq -->
- <string name="faq_link">https://support.mozilla.org/1/mobile/&formatS1;/&formatS2;/&formatS3;/faq</string>
-
<!-- https://support.mozilla.org/1/mobile/%VERSION%/%OS%/%LOCALE%/ -->
<string name="help_link">https://support.mozilla.org/1/mobile/&formatS1;/&formatS2;/&formatS3;/</string>
<string name="help_menu">&help_menu;</string>
<string name="quit">&quit;</string>
<string name="bookmark">&bookmark;</string>
<string name="bookmark_remove">&bookmark_remove;</string>
<string name="bookmark_added">&bookmark_added;</string>
@@ -295,19 +288,29 @@
<string name="tab_queue_notification_title">&tab_queue_notification_title;</string>
<string name="tab_queue_notification_settings">&tab_queue_notification_settings;</string>
<string name="content_notification_summary">&content_notification_summary;</string>
<string name="content_notification_title_plural">&content_notification_title_plural;</string>
<string name="content_notification_action_settings">&content_notification_action_settings;</string>
<string name="content_notification_updated_on">&content_notification_updated_on;</string>
+ <string name="pref_default_browser">&pref_default_browser;</string>
+ <string name="default_browser_link">https://support.mozilla.org/kb/make-firefox-default-browser-android?utm_source=inproduct&utm_medium=settings&utm_campaign=mobileandroid</string>
+
<string name="pref_about_firefox">&pref_about_firefox;</string>
+
<string name="pref_vendor_faqs">&pref_vendor_faqs;</string>
+ <!-- https://support.mozilla.org/1/mobile/%VERSION%/%OS%/%LOCALE%/faq -->
+ <string name="faq_link">https://support.mozilla.org/1/mobile/&formatS1;/&formatS2;/&formatS3;/faq</string>
+
<string name="pref_vendor_feedback">&pref_vendor_feedback;</string>
+ <!-- https://input.mozilla.org/feedback/android/%VERSION%/%CHANNEL%/?utm_source=feedback-settings
+ This should be kept in sync with the "app.feedbackURL" pref defined in mobile.js -->
+ <string name="feedback_link">https://input.mozilla.org/feedback/android/&formatS1;/&formatS2;/?utm_source=feedback-settings</string>
<string name="pref_dialog_set_default">&pref_dialog_set_default;</string>
<string name="pref_default">&pref_dialog_default;</string>
<string name="pref_dialog_remove">&pref_dialog_remove;</string>
<string name="pref_search_last_toast">&pref_search_last_toast;</string>
<string name="pref_panels_show">&pref_panels_show;</string>