Fix chevron placement for rtl languages.

This commit is contained in:
Michelle Tang
2025-03-21 11:42:10 -04:00
committed by Cody Henthorne
parent cef839d300
commit a681d06de5
6 changed files with 53 additions and 19 deletions

View File

@@ -14,6 +14,7 @@ import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.util.ContextUtil
import org.thoughtcrime.securesms.util.ServiceUtil
import org.thoughtcrime.securesms.util.SpanUtil
import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder
@@ -70,18 +71,24 @@ object BioTextPreference {
}
if (recipient.isIndividual && !recipient.isSelf) {
val isLtr = ViewUtil.isLtr(context)
val chevronGlyph = SignalSymbols.getSpannedString(
context,
SignalSymbols.Weight.BOLD,
SignalSymbols.Glyph.CHEVRON_RIGHT
if (isLtr) SignalSymbols.Glyph.CHEVRON_RIGHT else SignalSymbols.Glyph.CHEVRON_LEFT
).let {
SpanUtil.ofSize(it, 24)
}.let {
SpanUtil.color(ContextCompat.getColor(context, R.color.signal_colorOutline), it)
}
append(" ")
append(chevronGlyph)
if (isLtr) {
append(" ")
append(chevronGlyph)
} else {
insert(0, " ")
insert(0, chevronGlyph)
}
}
}
}

View File

@@ -20,6 +20,7 @@ import org.thoughtcrime.securesms.fonts.SignalSymbols
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.service.webrtc.PendingParticipantCollection
import org.thoughtcrime.securesms.util.SpanUtil
import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.visible
/**
@@ -59,14 +60,26 @@ class PendingParticipantsView @JvmOverloads constructor(
avatar.setAvatar(firstRecipient)
avatar.setOnClickListener { listener?.onLaunchRecipientSheet(firstRecipient) }
name.text = SpannableStringBuilder(firstRecipient.getShortDisplayName(context))
.append(" ")
.append(
SpanUtil.ofSize(
SignalSymbols.getSpannedString(context, SignalSymbols.Weight.REGULAR, SignalSymbols.Glyph.CHEVRON_RIGHT),
16
name.text = if (ViewUtil.isLtr(this)) {
SpannableStringBuilder(firstRecipient.getShortDisplayName(context))
.append(" ")
.append(
SpanUtil.ofSize(
SignalSymbols.getSpannedString(context, SignalSymbols.Weight.REGULAR, SignalSymbols.Glyph.CHEVRON_RIGHT),
16
)
)
)
} else {
SpannableStringBuilder(firstRecipient.getShortDisplayName(context))
.insert(0, " ")
.insert(
0,
SpanUtil.ofSize(
SignalSymbols.getSpannedString(context, SignalSymbols.Weight.REGULAR, SignalSymbols.Glyph.CHEVRON_LEFT),
16
)
)
}
name.setOnClickListener { listener?.onLaunchRecipientSheet(firstRecipient) }
allow.setOnClickListener { listener?.onAllowPendingRecipient(firstRecipient) }