Don't interpret html inside poll options. (#1527)
* Don't interpret html inside poll options. Closes #1362 * Update translations * Mark poll_percent_format as untranslatable
This commit is contained in:
parent
a5cccb2056
commit
a308b4c139
29 changed files with 28 additions and 54 deletions
|
@ -69,6 +69,8 @@ import java.util.concurrent.ExecutionException;
|
|||
import io.reactivex.Single;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
import static com.keylesspalace.tusky.viewdata.PollViewDataKt.buildDescription;
|
||||
|
||||
public class NotificationHelper {
|
||||
|
||||
private static int notificationId = 0;
|
||||
|
@ -627,9 +629,9 @@ public class NotificationHelper {
|
|||
builder.append('\n');
|
||||
Poll poll = notification.getStatus().getPoll();
|
||||
for(PollOption option: poll.getOptions()) {
|
||||
int percent = PollViewDataKt.calculatePercent(option.getVotesCount(), poll.getVotesCount());
|
||||
CharSequence optionText = HtmlUtils.fromHtml(context.getString(R.string.poll_option_format, percent, option.getTitle()));
|
||||
builder.append(optionText);
|
||||
builder.append(buildDescription(option.getTitle(),
|
||||
PollViewDataKt.calculatePercent(option.getVotesCount(), poll.getVotesCount()),
|
||||
context));
|
||||
builder.append('\n');
|
||||
}
|
||||
return builder.toString();
|
||||
|
|
|
@ -30,6 +30,7 @@ import com.keylesspalace.tusky.entity.Emoji
|
|||
import com.keylesspalace.tusky.entity.Status
|
||||
import com.keylesspalace.tusky.view.MediaPreviewImageView
|
||||
import com.keylesspalace.tusky.viewdata.PollViewData
|
||||
import com.keylesspalace.tusky.viewdata.buildDescription
|
||||
import com.keylesspalace.tusky.viewdata.calculatePercent
|
||||
import java.text.NumberFormat
|
||||
import java.text.SimpleDateFormat
|
||||
|
@ -283,8 +284,8 @@ class StatusViewHelper(private val itemView: View) {
|
|||
if (i < options.size) {
|
||||
val percent = calculatePercent(options[i].votesCount, poll.votesCount)
|
||||
|
||||
val pollOptionText = pollResults[i].context.getString(R.string.poll_option_format, percent, options[i].title)
|
||||
pollResults[i].text = CustomEmojiHelper.emojifyText(HtmlUtils.fromHtml(pollOptionText), emojis, pollResults[i])
|
||||
val pollOptionText = buildDescription(options[i].title, percent, pollResults[i].context)
|
||||
pollResults[i].text = CustomEmojiHelper.emojifyText(pollOptionText, emojis, pollResults[i])
|
||||
pollResults[i].visibility = View.VISIBLE
|
||||
|
||||
val level = percent * 100
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue