Bug 1247637 - Remove browser_intent_*; use ActivityUtils to open FxA links. r?sebastian draft
authorNick Alexander <nalexander@mozilla.com>
Thu, 11 Feb 2016 10:07:20 -0800
changeset 330435 51cfb3e9d537b06a5303d74eeb4823723e4a7c0a
parent 330434 18809f87ae6827551b860e45ddc46788fe9f2c8e
child 514168 3d0308b78ad15dde50ae6e80ee46af992c2b4a26
push id10751
push usernalexander@mozilla.com
push dateThu, 11 Feb 2016 18:13:14 +0000
reviewerssebastian
bugs1247637, 1242213
milestone47.0a1
Bug 1247637 - Remove browser_intent_*; use ActivityUtils to open FxA links. r?sebastian This fixes a crash, since Bug 1242213 removed the .App <activity-alias> that browser_intent_class references. I debated just updating the strings, and decided that it was best to remove a pattern that is used only once in our codebase, even though it moves more functionality to code. MozReview-Commit-ID: 4Wgw0oITgue
mobile/android/services/src/main/java/org/mozilla/gecko/fxa/activities/FxAccountStatusFragment.java
mobile/android/services/src/main/res/xml/fxaccount_status_prefscreen.xml
mobile/android/services/strings.xml.in
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/fxa/activities/FxAccountStatusFragment.java
+++ b/mobile/android/services/src/main/java/org/mozilla/gecko/fxa/activities/FxAccountStatusFragment.java
@@ -208,16 +208,19 @@ public class FxAccountStatusFragment
 
     syncServerPreference = ensureFindPreference("sync_server");
     morePreference = ensureFindPreference("more");
     morePreference.setOnPreferenceClickListener(this);
 
     syncNowPreference = ensureFindPreference("sync_now");
     syncNowPreference.setEnabled(true);
     syncNowPreference.setOnPreferenceClickListener(this);
+
+    ensureFindPreference("linktos").setOnPreferenceClickListener(this);
+    ensureFindPreference("linkprivacy").setOnPreferenceClickListener(this);
   }
 
   /**
    * We intentionally don't refresh here. Our owning activity is responsible for
    * providing an AndroidFxAccount to our refresh method in its onResume method.
    */
   @Override
   public void onResume() {
@@ -289,16 +292,26 @@ public class FxAccountStatusFragment
 
     if (preference == syncNowPreference) {
       if (fxAccount != null) {
         fxAccount.requestImmediateSync(null, null);
       }
       return true;
     }
 
+    if (TextUtils.equals("linktos", preference.getKey())) {
+      ActivityUtils.openURLInFennec(getActivity().getApplicationContext(), getResources().getString(R.string.fxaccount_link_tos));
+      return true;
+    }
+
+    if (TextUtils.equals("linkprivacy", preference.getKey())) {
+      ActivityUtils.openURLInFennec(getActivity().getApplicationContext(), getResources().getString(R.string.fxaccount_link_pn));
+      return true;
+    }
+
     return false;
   }
 
   protected void setCheckboxesEnabled(boolean enabled) {
     bookmarksPreference.setEnabled(enabled);
     historyPreference.setEnabled(enabled);
     tabsPreference.setEnabled(enabled);
     passwordsPreference.setEnabled(enabled);
--- a/mobile/android/services/src/main/res/xml/fxaccount_status_prefscreen.xml
+++ b/mobile/android/services/src/main/res/xml/fxaccount_status_prefscreen.xml
@@ -109,30 +109,26 @@
             android:key="more"
             android:persistent="false"
             android:title="@string/fxaccount_status_more" />
 
     </PreferenceCategory>
     <PreferenceCategory
         android:key="legal_category"
         android:title="@string/fxaccount_status_legal" >
-        <Preference android:title="@string/fxaccount_status_linktos" >
-            <intent
-                android:action="android.intent.action.VIEW"
-                android:data="@string/fxaccount_link_tos"
-                android:targetClass="@string/browser_intent_class"
-                android:targetPackage="@string/browser_intent_package" />
-        </Preference>
-        <Preference android:title="@string/fxaccount_status_linkprivacy" >
-            <intent
-                android:action="android.intent.action.VIEW"
-                android:data="@string/fxaccount_link_pn"
-                android:targetClass="@string/browser_intent_class"
-                android:targetPackage="@string/browser_intent_package" />
-        </Preference>
+        <Preference
+            android:editable="false"
+            android:key="linktos"
+            android:persistent="false"
+            android:title="@string/fxaccount_status_linktos" />
+        <Preference
+            android:editable="false"
+            android:key="linkprivacy"
+            android:persistent="false"
+            android:title="@string/fxaccount_status_linkprivacy" />
     </PreferenceCategory>
     <PreferenceCategory
         android:key="debug_category" >
         <Preference android:key="debug_refresh" />
         <Preference android:key="debug_dump" />
         <Preference android:key="debug_force_sync" />
         <Preference android:key="debug_invalidate_certificate" />
         <Preference android:key="debug_forget_certificate" />
--- a/mobile/android/services/strings.xml.in
+++ b/mobile/android/services/strings.xml.in
@@ -23,19 +23,16 @@
 
 <!-- Send tab to device. -->
 <string name="sync_title_redirect_to_set_up_sync">&sync.title.redirect.to.set.up.sync.label;</string>
 <string name="sync_text_redirect_to_set_up_sync">&sync.text.redirect.to.set.up.sync.label;</string>
 <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>
 <string name="sync_default_client_name">&sync.default.client.name;</string>
 
-<string name="browser_intent_package">@ANDROID_PACKAGE_NAME@</string>
-<string name="browser_intent_class">@ANDROID_PACKAGE_NAME@.App</string>
-
 <!-- Firefox Account strings. -->
 
 <string name="fxaccount_full_label">&fxaccount_full_label;</string>
 
 <!-- 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>