Dbrant has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/245914

Change subject: Add preference to show link previews.
......................................................................

Add preference to show link previews.

- Added a preference.
- Updated the schema to have an additional "action" that represents
  clicking links in a disabled state.
  https://meta.wikimedia.org/wiki/Schema:MobileWikiAppLinkPreview

Bug: T114495
Change-Id: I625ea7155b2fa0245ded762046219ed9d9e9e40f
---
M app/src/main/java/org/wikipedia/WikipediaApp.java
M app/src/main/java/org/wikipedia/analytics/LinkPreviewFunnel.java
M app/src/main/java/org/wikipedia/page/PageFragment.java
M app/src/main/java/org/wikipedia/settings/Prefs.java
M app/src/main/res/values-qq/strings.xml
M app/src/main/res/values/preference_keys.xml
M app/src/main/res/values/strings.xml
M app/src/main/res/xml/preferences.xml
8 files changed, 23 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/14/245914/1

diff --git a/app/src/main/java/org/wikipedia/WikipediaApp.java 
b/app/src/main/java/org/wikipedia/WikipediaApp.java
index 937c433..fe133b5 100644
--- a/app/src/main/java/org/wikipedia/WikipediaApp.java
+++ b/app/src/main/java/org/wikipedia/WikipediaApp.java
@@ -545,6 +545,10 @@
         return Prefs.isImageDownloadEnabled();
     }
 
+    public boolean isLinkPreviewEnabled() {
+        return Prefs.isLinkPreviewEnabled();
+    }
+
     public void resetSite() {
         primarySite = null;
     }
diff --git a/app/src/main/java/org/wikipedia/analytics/LinkPreviewFunnel.java 
b/app/src/main/java/org/wikipedia/analytics/LinkPreviewFunnel.java
index adcff40..9b69a19 100644
--- a/app/src/main/java/org/wikipedia/analytics/LinkPreviewFunnel.java
+++ b/app/src/main/java/org/wikipedia/analytics/LinkPreviewFunnel.java
@@ -4,10 +4,11 @@
 
 import org.json.JSONObject;
 import org.wikipedia.WikipediaApp;
+import org.wikipedia.settings.Prefs;
 
 public class LinkPreviewFunnel extends TimedFunnel {
     private static final String SCHEMA_NAME = "MobileWikiAppLinkPreview";
-    private static final int REV_ID = 12143205;
+    private static final int REV_ID = 14095177;
     private static final int PROD_LINK_PREVIEW_VERSION = 3;
 
     public LinkPreviewFunnel(WikipediaApp app) {
@@ -34,7 +35,7 @@
 
     public void logNavigate() {
         log(
-                "action", "navigate"
+                "action", Prefs.isLinkPreviewEnabled() ? "navigate" : 
"disabled"
         );
     }
 
diff --git a/app/src/main/java/org/wikipedia/page/PageFragment.java 
b/app/src/main/java/org/wikipedia/page/PageFragment.java
index 99013b5..6d1c0c7 100755
--- a/app/src/main/java/org/wikipedia/page/PageFragment.java
+++ b/app/src/main/java/org/wikipedia/page/PageFragment.java
@@ -406,7 +406,7 @@
         if (referenceDialog != null && referenceDialog.isShowing()) {
             referenceDialog.dismiss();
         }
-        if (!TextUtils.isEmpty(title.getNamespace())) {
+        if (!TextUtils.isEmpty(title.getNamespace()) || 
!app.isLinkPreviewEnabled()) {
             HistoryEntry historyEntry = new HistoryEntry(title, 
HistoryEntry.SOURCE_INTERNAL_LINK);
             getPageActivity().displayNewPage(title, historyEntry);
             new LinkPreviewFunnel(app).logNavigate();
diff --git a/app/src/main/java/org/wikipedia/settings/Prefs.java 
b/app/src/main/java/org/wikipedia/settings/Prefs.java
index c2e0582..af7e3ac 100644
--- a/app/src/main/java/org/wikipedia/settings/Prefs.java
+++ b/app/src/main/java/org/wikipedia/settings/Prefs.java
@@ -334,5 +334,9 @@
         return getKey(R.string.preference_key_edittoken_for_wiki_format, wiki);
     }
 
+    public static boolean isLinkPreviewEnabled() {
+        return getBoolean(R.string.preference_key_show_link_previews, true);
+    }
+
     private Prefs() { }
 }
diff --git a/app/src/main/res/values-qq/strings.xml 
b/app/src/main/res/values-qq/strings.xml
index 315c16f..f60f160 100644
--- a/app/src/main/res/values-qq/strings.xml
+++ b/app/src/main/res/values-qq/strings.xml
@@ -357,4 +357,6 @@
   <string name="format_error_server_code">Message displayed to the user that 
shows the actual error code received from the server. The \"%s\" symbol is 
replaced with the API error code.</string>
   <string name="address_copied">Message shown after copying a link to the 
clipboard</string>
   <string name="button_continue_to_article">Button to continue to the full 
article from the current link preview.</string>
+  <string name="preference_title_show_link_previews">Title of the preference 
for enabling or disabling link previews.</string>
+  <string name="preference_summary_show_link_previews">Description of the 
preference for enabling or disabling link previews.</string>
 </resources>
diff --git a/app/src/main/res/values/preference_keys.xml 
b/app/src/main/res/values/preference_keys.xml
index ac73025..82a23e4 100644
--- a/app/src/main/res/values/preference_keys.xml
+++ b/app/src/main/res/values/preference_keys.xml
@@ -32,4 +32,5 @@
     <string 
name="preference_key_show_developer_settings">showDeveloperSettings</string>
     <string name="preference_key_last_run_time_format">%s-lastrun</string>
     <string name="preference_key_tabs">tabs</string>
+    <string name="preference_key_show_link_previews">showLinkPreviews</string>
 </resources>
diff --git a/app/src/main/res/values/strings.xml 
b/app/src/main/res/values/strings.xml
index faadcd3..08df63f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -282,4 +282,6 @@
     <string name="format_error_server_code">Code: \"%s\"</string>
     <string name="address_copied">Address copied to clipboard.</string>
     <string name="button_continue_to_article">Continue to article</string>
+    <string name="preference_title_show_link_previews">Show link 
previews</string>
+    <string name="preference_summary_show_link_previews">Show a quick preview 
of articles when tapping on links.</string>
 </resources>
diff --git a/app/src/main/res/xml/preferences.xml 
b/app/src/main/res/xml/preferences.xml
index 2dedbb8..c5392f0 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -18,6 +18,12 @@
             android:title="@string/preference_title_show_images"
             android:summary="@string/preference_summary_show_images"
             />
+        <org.wikipedia.settings.CheckBoxPreferenceMultiLine
+            android:key="@string/preference_key_show_link_previews"
+            android:defaultValue="true"
+            android:title="@string/preference_title_show_link_previews"
+            android:summary="@string/preference_summary_show_link_previews"
+            />
     </PreferenceCategory>
     <PreferenceCategory android:title="@string/zero_wikipedia_zero_heading">
         <org.wikipedia.settings.CheckBoxPreferenceMultiLine

-- 
To view, visit https://gerrit.wikimedia.org/r/245914
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I625ea7155b2fa0245ded762046219ed9d9e9e40f
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to