support custom emoji fonts in poll options (#1250)
This commit is contained in:
parent
126aefacbf
commit
561d4cc284
4 changed files with 19 additions and 14 deletions
|
@ -47,6 +47,7 @@ import androidx.annotation.DrawableRes;
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.content.res.AppCompatResources;
|
import androidx.appcompat.content.res.AppCompatResources;
|
||||||
|
import androidx.emoji.text.EmojiCompat;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import at.connyduck.sparkbutton.SparkButton;
|
import at.connyduck.sparkbutton.SparkButton;
|
||||||
import at.connyduck.sparkbutton.SparkEventListener;
|
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++) {
|
for(int i = 0; i < Status.MAX_POLL_OPTIONS; i++) {
|
||||||
if(i < options.size()) {
|
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].setVisibility(View.VISIBLE);
|
||||||
pollCheckboxOptions[i].setChecked(false);
|
pollCheckboxOptions[i].setChecked(false);
|
||||||
} else {
|
} else {
|
||||||
|
@ -922,7 +925,9 @@ public abstract class StatusBaseViewHolder extends RecyclerView.ViewHolder {
|
||||||
|
|
||||||
for(int i = 0; i < Status.MAX_POLL_OPTIONS; i++) {
|
for(int i = 0; i < Status.MAX_POLL_OPTIONS; i++) {
|
||||||
if(i < options.size()) {
|
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);
|
pollRadioOptions[i].setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
pollRadioOptions[i].setVisibility(View.GONE);
|
pollRadioOptions[i].setVisibility(View.GONE);
|
||||||
|
|
|
@ -341,7 +341,7 @@
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_0"
|
android:id="@+id/status_poll_option_result_0"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -360,7 +360,7 @@
|
||||||
app:layout_constraintTop_toBottomOf="@id/status_media_preview_container"
|
app:layout_constraintTop_toBottomOf="@id/status_media_preview_container"
|
||||||
tools:text="40%" />
|
tools:text="40%" />
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_1"
|
android:id="@+id/status_poll_option_result_1"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -379,7 +379,7 @@
|
||||||
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_0"
|
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_0"
|
||||||
tools:text="10%" />
|
tools:text="10%" />
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_2"
|
android:id="@+id/status_poll_option_result_2"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -398,7 +398,7 @@
|
||||||
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_1"
|
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_1"
|
||||||
tools:text="20%" />
|
tools:text="20%" />
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_3"
|
android:id="@+id/status_poll_option_result_3"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
|
@ -327,7 +327,7 @@
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_0"
|
android:id="@+id/status_poll_option_result_0"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -346,7 +346,7 @@
|
||||||
app:layout_constraintTop_toBottomOf="@id/status_media_preview_container"
|
app:layout_constraintTop_toBottomOf="@id/status_media_preview_container"
|
||||||
tools:text="40%" />
|
tools:text="40%" />
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_1"
|
android:id="@+id/status_poll_option_result_1"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -365,7 +365,7 @@
|
||||||
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_0"
|
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_0"
|
||||||
tools:text="10%" />
|
tools:text="10%" />
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_2"
|
android:id="@+id/status_poll_option_result_2"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -384,7 +384,7 @@
|
||||||
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_1"
|
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_1"
|
||||||
tools:text="20%" />
|
tools:text="20%" />
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_3"
|
android:id="@+id/status_poll_option_result_3"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
|
@ -336,7 +336,7 @@
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_0"
|
android:id="@+id/status_poll_option_result_0"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -355,7 +355,7 @@
|
||||||
app:layout_constraintTop_toBottomOf="@id/status_media_preview_container"
|
app:layout_constraintTop_toBottomOf="@id/status_media_preview_container"
|
||||||
tools:text="40%" />
|
tools:text="40%" />
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_1"
|
android:id="@+id/status_poll_option_result_1"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -374,7 +374,7 @@
|
||||||
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_0"
|
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_0"
|
||||||
tools:text="10%" />
|
tools:text="10%" />
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_2"
|
android:id="@+id/status_poll_option_result_2"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -393,7 +393,7 @@
|
||||||
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_1"
|
app:layout_constraintTop_toBottomOf="@id/status_poll_option_result_1"
|
||||||
tools:text="20%" />
|
tools:text="20%" />
|
||||||
|
|
||||||
<TextView
|
<androidx.emoji.widget.EmojiTextView
|
||||||
android:id="@+id/status_poll_option_result_3"
|
android:id="@+id/status_poll_option_result_3"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
|
Loading…
Reference in a new issue