Skip to content
This repository was archived by the owner on May 23, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,17 @@
import static com.keylesspalace.tusky.viewdata.PollViewDataKt.buildDescription;

import android.content.Context;
import android.graphics.Typeface;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.format.DateUtils;
import android.text.style.StyleSpan;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
Expand All @@ -22,10 +26,10 @@
import androidx.annotation.DrawableRes;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.PluralsRes;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.appcompat.widget.TooltipCompat;
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.core.text.HtmlCompat;
import androidx.recyclerview.widget.DefaultItemAnimator;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
Expand Down Expand Up @@ -980,14 +984,21 @@ private CharSequence getPollDescription(@NonNull StatusViewData.Concrete status,

@NonNull
protected CharSequence getFavsText(@NonNull Context context, int count) {
String countString = numberFormat.format(count);
return HtmlCompat.fromHtml(context.getResources().getQuantityString(R.plurals.favs, count, countString), HtmlCompat.FROM_HTML_MODE_LEGACY);
return getMetaDataText(context, R.plurals.favs, count);
}

@NonNull
protected CharSequence getReblogsText(@NonNull Context context, int count) {
return getMetaDataText(context, R.plurals.reblogs, count);
}

private CharSequence getMetaDataText(@NonNull Context context, @PluralsRes int text, int count) {
String countString = numberFormat.format(count);
return HtmlCompat.fromHtml(context.getResources().getQuantityString(R.plurals.reblogs, count, countString), HtmlCompat.FROM_HTML_MODE_LEGACY);
String textString = context.getResources().getQuantityString(text, count, countString);
SpannableStringBuilder sb = new SpannableStringBuilder(textString);
int countIndex = textString.indexOf(countString);
sb.setSpan(new StyleSpan(Typeface.BOLD), countIndex, countIndex + countString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return sb;
}

private void setupPoll(PollViewData poll, List<Emoji> emojis,
Expand Down
10 changes: 4 additions & 6 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -556,15 +556,13 @@
<string name="failed_to_unpin">Failed to Unpin</string>

<plurals name="favs">
<item quantity="zero"><b>%1$s</b> Favorites</item>
<item quantity="one">&lt;b>%1$s&lt;/b> Favorite</item>
<item quantity="other">&lt;b>%1$s&lt;/b> Favorites</item>
<item quantity="one">%1$s Favorite</item>
<item quantity="other">%1$s Favorites</item>
</plurals>

<plurals name="reblogs">
<item quantity="zero"><b>%1$s</b> Boosts</item>
<item quantity="one">&lt;b>%1$s&lt;/b> Boost</item>
<item quantity="other">&lt;b>%1$s&lt;/b> Boosts</item>
<item quantity="one">%1$s Boost</item>
<item quantity="other">%1$s Boosts</item>
</plurals>

<string name="label_translating">Translating…</string>
Expand Down