diff options
Diffstat (limited to 'app/src/main/java/app/fedilab/android/client/entities/api/Status.java')
-rw-r--r-- | app/src/main/java/app/fedilab/android/client/entities/api/Status.java | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/app/src/main/java/app/fedilab/android/client/entities/api/Status.java b/app/src/main/java/app/fedilab/android/client/entities/api/Status.java index e3c753055..7c39f4874 100644 --- a/app/src/main/java/app/fedilab/android/client/entities/api/Status.java +++ b/app/src/main/java/app/fedilab/android/client/entities/api/Status.java @@ -115,6 +115,10 @@ public class Status implements Serializable, Cloneable { public transient boolean submitted = false; public transient boolean spoilerChecked = false; public Filter filteredByApp; + public transient Spannable contentSpan; + public transient Spannable contentSpoilerSpan; + public transient Spannable contentTranslateSpan; + @Override public boolean equals(@Nullable Object obj) { boolean same = false; @@ -124,17 +128,29 @@ public class Status implements Serializable, Cloneable { return same; } - public synchronized Spannable getSpanContent(Context context, WeakReference<View> viewWeakReference) { - return SpannableHelper.convert(context, content, this, null, null, true, viewWeakReference); + public synchronized Spannable getSpanContent(Context context, WeakReference<View> viewWeakReference, Callback callback) { + if (contentSpan == null) { + contentSpan = SpannableHelper.convert(context, content, this, null, null, true, false, viewWeakReference, callback); + } + return contentSpan; } + public synchronized Spannable getSpanSpoiler(Context context, WeakReference<View> viewWeakReference, Callback callback) { + if (contentSpoilerSpan == null) { + contentSpoilerSpan = SpannableHelper.convert(context, spoiler_text, this, null, null, true, false, viewWeakReference, callback); + } + return contentSpoilerSpan; + } - public synchronized Spannable getSpanSpoiler(Context context, WeakReference<View> viewWeakReference) { - return SpannableHelper.convert(context, spoiler_text, this, null, null, true, viewWeakReference); + public synchronized Spannable getSpanTranslate(Context context, WeakReference<View> viewWeakReference, Callback callback) { + if (contentTranslateSpan == null) { + contentTranslateSpan = SpannableHelper.convert(context, translationContent, this, null, null, true, false, viewWeakReference, callback); + } + return contentTranslateSpan; } - public synchronized Spannable getSpanTranslate(Context context, WeakReference<View> viewWeakReference) { - return SpannableHelper.convert(context, translationContent, this, null, null, true, viewWeakReference); + public interface Callback { + void emojiFetched(); } @NonNull |