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
--- 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>