From 47b13384a8278be90ea8ba5bb062505fa15464cf Mon Sep 17 00:00:00 2001 From: FineFindus Date: Wed, 1 Nov 2023 20:44:24 +0100 Subject: [PATCH] feat(status/translation): support translating spoiler --- .../org/joinmastodon/android/model/Translation.java | 1 + .../ui/displayitems/SpoilerStatusDisplayItem.java | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/model/Translation.java b/mastodon/src/main/java/org/joinmastodon/android/model/Translation.java index fc4d97105..0bbe596ce 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/model/Translation.java +++ b/mastodon/src/main/java/org/joinmastodon/android/model/Translation.java @@ -10,6 +10,7 @@ public class Translation extends BaseModel{ public String detectedSourceLanguage; @RequiredField public String provider; + public String spoilerText; public MediaAttachment[] mediaAttachments; public PollTranslation poll; diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/SpoilerStatusDisplayItem.java b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/SpoilerStatusDisplayItem.java index 3516df08d..bda5501b5 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/SpoilerStatusDisplayItem.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/displayitems/SpoilerStatusDisplayItem.java @@ -26,6 +26,7 @@ public class SpoilerStatusDisplayItem extends StatusDisplayItem{ public final Status status; public final ArrayList contentItems=new ArrayList<>(); private final CharSequence parsedTitle; + private CharSequence translatedTitle; private final CustomEmojiHelper emojiHelper; private final Type type; @@ -85,7 +86,14 @@ public class SpoilerStatusDisplayItem extends StatusDisplayItem{ @Override public void onBind(SpoilerStatusDisplayItem item){ - title.setText(item.parsedTitle); + if(item.status.translationState==Status.TranslationState.SHOWN){ + if(item.translatedTitle==null){ + item.translatedTitle=item.status.translation.spoilerText; + } + title.setText(item.translatedTitle); + }else{ + title.setText(item.parsedTitle); + } action.setText(item.status.spoilerRevealed ? R.string.spoiler_hide : R.string.spoiler_show); }