From 561d4cc284e376de6d6d4083aab6540d7f0c989b Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Fri, 10 May 2019 20:08:22 +0200 Subject: [PATCH] support custom emoji fonts in poll options (#1250) --- .../tusky/adapter/StatusBaseViewHolder.java | 9 +++++++-- app/src/main/res/layout/item_conversation.xml | 8 ++++---- app/src/main/res/layout/item_status.xml | 8 ++++---- app/src/main/res/layout/item_status_detailed.xml | 8 ++++---- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java index f2d8087d3..490b97eaa 100644 --- a/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java +++ b/app/src/main/java/com/keylesspalace/tusky/adapter/StatusBaseViewHolder.java @@ -47,6 +47,7 @@ import androidx.annotation.DrawableRes; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.content.res.AppCompatResources; +import androidx.emoji.text.EmojiCompat; import androidx.recyclerview.widget.RecyclerView; import at.connyduck.sparkbutton.SparkButton; import at.connyduck.sparkbutton.SparkEventListener; @@ -883,7 +884,9 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder { for(int i = 0; i < Status.MAX_POLL_OPTIONS; i++) { if(i < options.size()) { - pollCheckboxOptions[i].setText(CustomEmojiHelper.emojifyString(options.get(i).getTitle(), emojis, pollCheckboxOptions[i])); + CharSequence emojifiedPollOptionText = CustomEmojiHelper.emojifyString(options.get(i).getTitle(), emojis, pollCheckboxOptions[i]); + emojifiedPollOptionText = EmojiCompat.get().process(emojifiedPollOptionText); + pollCheckboxOptions[i].setText(emojifiedPollOptionText); pollCheckboxOptions[i].setVisibility(View.VISIBLE); pollCheckboxOptions[i].setChecked(false); } else { @@ -922,7 +925,9 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder { for(int i = 0; i < Status.MAX_POLL_OPTIONS; i++) { if(i < options.size()) { - pollRadioOptions[i].setText(CustomEmojiHelper.emojifyString(options.get(i).getTitle(), emojis, pollRadioOptions[i])); + CharSequence emojifiedPollOptionText = CustomEmojiHelper.emojifyString(options.get(i).getTitle(), emojis, pollRadioOptions[i]); + emojifiedPollOptionText = EmojiCompat.get().process(emojifiedPollOptionText); + pollRadioOptions[i].setText(emojifiedPollOptionText); pollRadioOptions[i].setVisibility(View.VISIBLE); } else { pollRadioOptions[i].setVisibility(View.GONE); diff --git a/app/src/main/res/layout/item_conversation.xml b/app/src/main/res/layout/item_conversation.xml index c7d33225a..bfdf23abc 100644 --- a/app/src/main/res/layout/item_conversation.xml +++ b/app/src/main/res/layout/item_conversation.xml @@ -341,7 +341,7 @@ - - - - - - - - - - - -