jenkins-bot has submitted this change and it was merged.

Change subject: Update license description handling
......................................................................


Update license description handling

-Added a showMessageAsPlainText function to FeedbackUtil to strip HTML
 markup from string before displaying to the user

-Show license description in a Snackbar instead of a Toast

-Invert the behavior so that a regular click shows the license description
 summary in a snackbar, and a long click fires a chooser to visit the
 license info page in an external browser

Bug: T110946
Change-Id: Ic81704892e677af03ef01fd9dabdfd6fa54c329b
---
M app/src/main/java/org/wikipedia/page/gallery/GalleryActivity.java
M app/src/main/java/org/wikipedia/util/FeedbackUtil.java
2 files changed, 29 insertions(+), 24 deletions(-)

Approvals:
  Sniedzielski: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/app/src/main/java/org/wikipedia/page/gallery/GalleryActivity.java 
b/app/src/main/java/org/wikipedia/page/gallery/GalleryActivity.java
index 5cba842..24ae392 100644
--- a/app/src/main/java/org/wikipedia/page/gallery/GalleryActivity.java
+++ b/app/src/main/java/org/wikipedia/page/gallery/GalleryActivity.java
@@ -40,7 +40,6 @@
 import android.widget.ImageView;
 import android.widget.ProgressBar;
 import android.widget.TextView;
-import android.widget.Toast;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -95,6 +94,27 @@
     private TextView creditText;
     private boolean controlsShowing = true;
 
+    private View.OnClickListener licenseShortClickListener = new 
View.OnClickListener() {
+        @Override
+        public void onClick(View v) {
+            if (v.getContentDescription() == null) {
+                return;
+            }
+            FeedbackUtil.showMessageAsPlainText((Activity) v.getContext(), 
v.getContentDescription());
+        }
+    };
+
+    private View.OnLongClickListener licenseLongClickListener = new 
View.OnLongClickListener() {
+        @Override
+        public boolean onLongClick(View v) {
+            String licenseUrl = (String) v.getTag();
+            if (!TextUtils.isEmpty(licenseUrl)) {
+                Utils.handleExternalLink(GalleryActivity.this, 
Uri.parse(resolveProtocolRelativeUrl(licenseUrl)));
+            }
+            return true;
+        }
+    };
+
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         // force the theme to dark...
@@ -127,29 +147,8 @@
         descriptionText.setMovementMethod(linkMovementMethod);
 
         licenseIcon = (ImageView) findViewById(R.id.gallery_license_icon);
-        licenseIcon.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                String licenseUrl = (String) v.getTag();
-                if (!TextUtils.isEmpty(licenseUrl)) {
-                    Utils.handleExternalLink(GalleryActivity.this, 
Uri.parse(resolveProtocolRelativeUrl(licenseUrl)));
-                }
-            }
-        });
-        licenseIcon.setOnLongClickListener(new View.OnLongClickListener() {
-            @Override
-            public boolean onLongClick(View v) {
-                if (v.getContentDescription() == null) {
-                    return false;
-                }
-                int[] pos = new int[2];
-                v.getLocationInWindow(pos);
-                Toast t = Toast.makeText(GalleryActivity.this, 
v.getContentDescription(), Toast.LENGTH_SHORT);
-                t.setGravity(Gravity.TOP | Gravity.START, pos[0], pos[1]);
-                t.show();
-                return true;
-            }
-        });
+        licenseIcon.setOnClickListener(licenseShortClickListener);
+        licenseIcon.setOnLongClickListener(licenseLongClickListener);
 
         creditText = (TextView) findViewById(R.id.gallery_credit_text);
         creditText.setShadowLayer(2, 1, 1, 
getResources().getColor(R.color.lead_text_shadow));
diff --git a/app/src/main/java/org/wikipedia/util/FeedbackUtil.java 
b/app/src/main/java/org/wikipedia/util/FeedbackUtil.java
index 613cad1..0e9063b 100644
--- a/app/src/main/java/org/wikipedia/util/FeedbackUtil.java
+++ b/app/src/main/java/org/wikipedia/util/FeedbackUtil.java
@@ -2,6 +2,7 @@
 
 import android.app.Activity;
 import android.support.design.widget.Snackbar;
+import android.text.Html;
 import android.view.View;
 import android.widget.TextView;
 
@@ -26,6 +27,11 @@
         makeSnackbar(containerView, error.getError(), LENGTH_DEFAULT).show();
     }
 
+    public static void showMessageAsPlainText(Activity activity, CharSequence 
possibleHtml) {
+        CharSequence richText = Html.fromHtml(possibleHtml.toString());
+        showMessage(activity, richText.toString());
+    }
+
     private static void showMessage(View containerView, CharSequence text, int 
duration) {
         makeSnackbar(containerView, text, duration).show();
     }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic81704892e677af03ef01fd9dabdfd6fa54c329b
Gerrit-PatchSet: 3
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <mhollo...@wikimedia.org>
Gerrit-Reviewer: BearND <bsitzm...@wikimedia.org>
Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org>
Gerrit-Reviewer: Dbrant <dbr...@wikimedia.org>
Gerrit-Reviewer: Mholloway <mhollo...@wikimedia.org>
Gerrit-Reviewer: Niedzielski <sniedziel...@wikimedia.org>
Gerrit-Reviewer: Sniedzielski <sniedziel...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to