Bug 1414992 - Add link to the supported QR reader in developer preferences. r?
Only the ZXing Barcode Reader app is supported, so link to it directly.
MozReview-Commit-ID: JGVeTnxpOEX
--- a/mobile/android/app/src/main/res/xml/preferences_advanced.xml
+++ b/mobile/android/app/src/main/res/xml/preferences_advanced.xml
@@ -63,16 +63,21 @@
<PreferenceCategory android:title="@string/pref_category_developer_tools">
<SwitchPreference android:key="devtools.remote.usb.enabled"
android:title="@string/pref_developer_remotedebugging_usb" />
<SwitchPreference android:key="devtools.remote.wifi.enabled"
android:title="@string/pref_developer_remotedebugging_wifi" />
+ <org.mozilla.gecko.preferences.AlignRightLinkPreference android:key="android.not_a_preference.remote_debugging.qrreader.link"
+ android:title="@string/pref_developer_remotedebugging_wifi_install_reader"
+ android:persistent="false"
+ url="https://play.google.com/store/apps/details?id=com.google.zxing.client.android" />
+
<org.mozilla.gecko.preferences.AlignRightLinkPreference android:key="android.not_a_preference.remote_debugging.link"
android:title="@string/pref_learn_more"
android:persistent="false"
url="https://developer.mozilla.org/docs/Tools/Remote_Debugging/Debugging_Firefox_for_Android_with_WebIDE" />
</PreferenceCategory>
<PreferenceCategory
android:key="android.not_a_preference.category_experimental"
--- a/mobile/android/base/java/org/mozilla/gecko/preferences/GeckoPreferences.java
+++ b/mobile/android/base/java/org/mozilla/gecko/preferences/GeckoPreferences.java
@@ -127,16 +127,17 @@ public class GeckoPreferences
private static final String PREFS_MP_ENABLED = "privacy.masterpassword.enabled";
private static final String PREFS_UPDATER_AUTODOWNLOAD = "app.update.autodownload";
private static final String PREFS_UPDATER_URL = "app.update.url.android";
private static final String PREFS_GEO_REPORTING = NON_PREF_PREFIX + "app.geo.reportdata";
private static final String PREFS_GEO_LEARN_MORE = NON_PREF_PREFIX + "geo.learn_more";
private static final String PREFS_HEALTHREPORT_LINK = NON_PREF_PREFIX + "healthreport.link";
public static final String PREFS_DEVTOOLS_REMOTE_USB_ENABLED = "devtools.remote.usb.enabled";
public static final String PREFS_DEVTOOLS_REMOTE_WIFI_ENABLED = "devtools.remote.wifi.enabled";
+ private static final String PREFS_DEVTOOLS_REMOTE_INSTALL_READER = NON_PREF_PREFIX + "remote_debugging.qrreader.link";
private static final String PREFS_DEVTOOLS_REMOTE_LINK = NON_PREF_PREFIX + "remote_debugging.link";
public static final String PREFS_VOICE_INPUT_ENABLED = NON_PREF_PREFIX + "voice_input_enabled";
public static final String PREFS_QRCODE_ENABLED = NON_PREF_PREFIX + "qrcode_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";
@@ -707,16 +708,20 @@ public class GeckoPreferences
i--;
continue;
}
if (!InputOptionsUtils.supportsQrCodeReader(getApplicationContext())) {
// WiFi debugging requires a QR code reader
pref.setEnabled(false);
pref.setSummary(getString(R.string.pref_developer_remotedebugging_wifi_disabled_summary));
continue;
+ } else {
+ final Preference installLink = preferences.findPreference(PREFS_DEVTOOLS_REMOTE_INSTALL_READER);
+ preferences.removePreference(installLink);
+ continue;
}
} else if (PREFS_DEVTOOLS_REMOTE_LINK.equals(key)) {
// Remove the "Learn more" link if remote debugging is disabled
if (!Restrictions.isAllowed(this, Restrictable.REMOTE_DEBUGGING)) {
preferences.removePreference(pref);
i--;
continue;
}
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -205,16 +205,17 @@
context means consuming less data, e.g. by not loading images, not
“storing data”. -->
<!ENTITY pref_category_advanced_summary3 "Restore tabs, data saver, developer tools">
<!ENTITY pref_category_notifications "Notifications">
<!ENTITY pref_category_notifications_summary "New features, website updates">
<!ENTITY pref_developer_remotedebugging_usb "Remote debugging via USB">
<!ENTITY pref_developer_remotedebugging_wifi "Remote debugging via Wi-Fi">
<!ENTITY pref_developer_remotedebugging_wifi_disabled_summary "Wi-Fi debugging requires your device to have a QR code reader app installed.">
+<!ENTITY pref_developer_remotedebugging_wifi_install_reader "Install QR code reader">
<!ENTITY pref_remember_signons2 "Remember logins">
<!ENTITY pref_manage_logins "Manage logins">
<!ENTITY pref_category_home "Home">
<!ENTITY pref_category_home_summary "Customize your homepage">
<!ENTITY pref_category_home_panels "Panels">
<!ENTITY pref_category_home_add_ons "Add-ons">
<!ENTITY pref_home_updates2 "Content updates">
@@ -865,9 +866,9 @@ is simply hidden from the Activity Strea
<!-- LOCALIZATION NOTE (pwa_add_to_launcher_confirm): The plus sign here is part of UI design -->
<!ENTITY pwa_add_to_launcher_confirm "+ Add to Home Screen">
<!-- LOCALIZATION NOTE (pwa_add_to_launcher_badge2): Used as label in the page actions dropdown list,
displayed when there are more than 3 actions available for a page.
See also https://bug1409261.bmoattachments.org/attachment.cgi?id=8919897 -->
<!ENTITY pwa_add_to_launcher_badge2 "Add to Home Screen">
<!ENTITY pwa_continue_to_website "Continue to Website">
-<!ENTITY pwa_onboarding_sumo "You can easily add this website to your Home screen to have instant access and browse faster with an app-like experience.">
\ No newline at end of file
+<!ENTITY pwa_onboarding_sumo "You can easily add this website to your Home screen to have instant access and browse faster with an app-like experience.">
--- a/mobile/android/base/strings.xml.in
+++ b/mobile/android/base/strings.xml.in
@@ -159,16 +159,17 @@
<string name="pref_browser_locale">&pref_browser_locale;</string>
<string name="locale_system_default">&locale_system_default;</string>
<string name="pref_category_advanced">&pref_category_advanced;</string>
<string name="pref_category_advanced_summary">&pref_category_advanced_summary3;</string>
<string name="pref_developer_remotedebugging_usb">&pref_developer_remotedebugging_usb;</string>
<string name="pref_developer_remotedebugging_wifi">&pref_developer_remotedebugging_wifi;</string>
<string name="pref_developer_remotedebugging_wifi_disabled_summary">&pref_developer_remotedebugging_wifi_disabled_summary;</string>
+ <string name="pref_developer_remotedebugging_wifi_install_reader">&pref_developer_remotedebugging_wifi_install_reader;</string>
<string name="pref_category_notifications">&pref_category_notifications;</string>
<string name="pref_category_notifications_summary">&pref_category_notifications_summary;</string>
<string name="pref_category_home">&pref_category_home;</string>
<string name="pref_category_home_summary">&pref_category_home_summary;</string>
<string name="pref_category_home_panels">&pref_category_home_panels;</string>
<string name="pref_home_updates_wifi">&pref_home_updates_wifi;</string>