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