From c2e6280a18ea2783f0e627b8b0fad91dae1c6585 Mon Sep 17 00:00:00 2001 From: FineFindus Date: Sat, 31 Aug 2024 10:42:09 +0200 Subject: [PATCH 1/2] feat(ErrorStatusDisplayItem): disable clicking on error item Disable clicking on the ErrorStatusDisplayItem, since there is no valid content that can be displayed. --- .../ui/displayitems/ErrorStatusDisplayItem.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ErrorStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ErrorStatusDisplayItem.java index 20ca27d6e..a271c2325 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ErrorStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/ErrorStatusDisplayItem.java @@ -39,6 +39,16 @@ public class ErrorStatusDisplayItem extends StatusDisplayItem{ findViewById(R.id.button_copy_error_details).setOnClickListener(this::copyErrorDetails); } + @Override + public void onClick(){ + // explicitly do nothing when clicked + } + + @Override + public boolean isEnabled(){ + return false; + } + @Override public void onBind(ErrorStatusDisplayItem item) { openInBrowserButton.setEnabled(item.status!=null && item.status.url!=null); From 7fa079e362653b6c84f906635264e7597b47b5cd Mon Sep 17 00:00:00 2001 From: FineFindus Date: Sat, 31 Aug 2024 10:44:53 +0200 Subject: [PATCH 2/2] fix(HtmlParser): check if hashtag has text Fixes a crash, where the text of an hashtag was empty, leading to an oob string access. --- .../main/java/org/joinmastodon/android/ui/text/HtmlParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/text/HtmlParser.java b/mastodon/src/main/java/org/joinmastodon/android/ui/text/HtmlParser.java index 9d679db33..9698d911d 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/text/HtmlParser.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/text/HtmlParser.java @@ -140,7 +140,7 @@ public class HtmlParser{ String href=el.attr("href"); LinkSpan.Type linkType; String text=el.text(); - if(el.hasClass("hashtag") || text.startsWith("#")){ + if(!TextUtils.isEmpty(text) && (el.hasClass("hashtag") || text.startsWith("#"))){ // MOSHIDON: we have slightly refactored this so that the hashtags properly work in akkoma // TODO: upstream this linkType=LinkSpan.Type.HASHTAG;