Move text styles to core UI.

This commit is contained in:
Alex Hart
2026-02-04 13:13:49 -04:00
committed by GitHub
parent c274805eb0
commit a74651d915
22 changed files with 41 additions and 36 deletions

View File

@@ -19,8 +19,8 @@ import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.activityViewModel
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.thoughtcrime.securesms.util.navigation.safeNavigate
import org.thoughtcrime.securesms.util.viewModel
import java.util.concurrent.TimeUnit
import org.signal.core.ui.R as CoreUiR
/**
* Landing fragment for sending gifts.
@@ -72,7 +72,7 @@ class GiftFlowStartFragment : DSLSettingsFragment(
title = DSLSettingsText.from(
R.string.GiftFlowStartFragment__donate_for_a_friend,
DSLSettingsText.CenterModifier,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_Headline)
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_Headline)
)
)

View File

@@ -46,7 +46,7 @@ class BecomeASustainerFragment : DSLSettingsBottomSheetFragment() {
title = DSLSettingsText.from(
R.string.BecomeASustainerFragment__signal_is_a_non_profit,
DSLSettingsText.CenterModifier,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)
)

View File

@@ -255,7 +255,7 @@ class CallLogAdapter(
binding.callRecipientName.text = SearchUtil.getHighlightedSpan(
Locale.getDefault(),
{ arrayOf(TextAppearanceSpan(context, R.style.Signal_Text_TitleSmall)) },
{ arrayOf(TextAppearanceSpan(context, CoreUiR.style.Signal_Text_TitleSmall)) },
callLinkName,
model.callLink.searchQuery,
SearchUtil.MATCH_ALL
@@ -335,7 +335,7 @@ class CallLogAdapter(
binding.callRecipientName.text = if (searchQuery != null) {
SearchUtil.getHighlightedSpan(
Locale.getDefault(),
{ arrayOf(TextAppearanceSpan(context, R.style.Signal_Text_TitleSmall)) },
{ arrayOf(TextAppearanceSpan(context, CoreUiR.style.Signal_Text_TitleSmall)) },
recipient.getDisplayName(context),
searchQuery,
SearchUtil.MATCH_ALL

View File

@@ -5,8 +5,8 @@ import android.text.SpannableStringBuilder
import androidx.annotation.ColorInt
import androidx.annotation.StringRes
import androidx.annotation.StyleRes
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.util.SpanUtil
import org.signal.core.ui.R as CoreUiR
sealed class DSLSettingsText {
@@ -62,9 +62,9 @@ sealed class DSLSettingsText {
}
}
object TitleLargeModifier : TextAppearanceModifier(R.style.Signal_Text_TitleLarge)
object TitleMediumModifier : TextAppearanceModifier(R.style.Signal_Text_TitleMedium)
object BodyLargeModifier : TextAppearanceModifier(R.style.Signal_Text_BodyLarge)
object TitleLargeModifier : TextAppearanceModifier(CoreUiR.style.Signal_Text_TitleLarge)
object TitleMediumModifier : TextAppearanceModifier(CoreUiR.style.Signal_Text_TitleMedium)
object BodyLargeModifier : TextAppearanceModifier(CoreUiR.style.Signal_Text_BodyLarge)
open class TextAppearanceModifier(@StyleRes private val textAppearance: Int) : Modifier {
override fun modify(context: Context, charSequence: CharSequence): CharSequence {

View File

@@ -7,6 +7,7 @@ import org.thoughtcrime.securesms.components.settings.DSLSettingsAdapter
import org.thoughtcrime.securesms.components.settings.DSLSettingsBottomSheetFragment
import org.thoughtcrime.securesms.components.settings.DSLSettingsText
import org.thoughtcrime.securesms.components.settings.configure
import org.signal.core.ui.R as CoreUiR
/**
* Displays information about how Signal keeps card details private and how
@@ -25,7 +26,7 @@ class YourInformationIsPrivateBottomSheet : DSLSettingsBottomSheetFragment() {
title = DSLSettingsText.from(
R.string.YourInformationIsPrivateBottomSheet__your_information_is_private,
DSLSettingsText.CenterModifier,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_HeadlineMedium)
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_HeadlineMedium)
)
)

View File

@@ -17,6 +17,7 @@ import org.thoughtcrime.securesms.payments.FiatMoneyUtil
import org.thoughtcrime.securesms.util.DateUtils
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import java.util.Locale
import org.signal.core.ui.R as CoreUiR
class DonationReceiptDetailFragment : DSLSettingsFragment(layoutId = R.layout.donation_receipt_detail_fragment) {
@@ -76,7 +77,7 @@ class DonationReceiptDetailFragment : DSLSettingsFragment(layoutId = R.layout.do
textPref(
title = DSLSettingsText.from(
charSequence = FiatMoneyUtil.format(resources, record.amount),
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_Giant),
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_Giant),
DSLSettingsText.CenterModifier
)
)

View File

@@ -16,6 +16,7 @@ import org.thoughtcrime.securesms.util.StickyHeaderDecoration
import org.thoughtcrime.securesms.util.livedata.LiveDataUtil
import org.thoughtcrime.securesms.util.navigation.safeNavigate
import org.thoughtcrime.securesms.util.visible
import org.signal.core.ui.R as CoreUiR
class DonationReceiptListPageFragment : Fragment(R.layout.donation_receipt_list_page_fragment) {
@@ -61,7 +62,7 @@ class DonationReceiptListPageFragment : Fragment(R.layout.donation_receipt_list_
title = null,
summary = DSLSettingsText.from(
R.string.DonationReceiptListFragment__if_you_have,
DSLSettingsText.TextAppearanceModifier(R.style.TextAppearance_Signal_Subtitle)
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.TextAppearance_Signal_Subtitle)
)
)
)

View File

@@ -165,8 +165,8 @@ class MediaPreviewV2Fragment :
requireActivity().onBackPressedDispatcher.onBackPressed()
}
toolbar.setTitleTextAppearance(requireContext(), R.style.Signal_Text_TitleMedium)
toolbar.setSubtitleTextAppearance(requireContext(), R.style.Signal_Text_BodyMedium)
toolbar.setTitleTextAppearance(requireContext(), CoreUiR.style.Signal_Text_TitleMedium)
toolbar.setSubtitleTextAppearance(requireContext(), CoreUiR.style.Signal_Text_BodyMedium)
(binding.toolbar.menu as? MenuBuilder)?.setOptionalIconsVisible(true)
binding.toolbar.inflateMenu(R.menu.media_preview)
}

View File

@@ -17,6 +17,7 @@ import org.thoughtcrime.securesms.mms.PartAuthority
import org.thoughtcrime.securesms.util.MediaUtil
import java.io.IOException
import java.util.Optional
import org.signal.core.ui.R as CoreUiR
/**
* Fragment to show full screen document attachments
@@ -60,10 +61,10 @@ class MediaSendDocumentFragment : Fragment(R.layout.mediasend_document_fragment)
val extensionText: String = MediaUtil.getFileType(requireContext(), Optional.ofNullable(fileInfo.first), media.uri).orElse("")
if (extensionText.length <= 3) {
extension.text = extensionText
extension.setTextAppearance(requireContext(), R.style.Signal_Text_BodySmall)
extension.setTextAppearance(requireContext(), CoreUiR.style.Signal_Text_BodySmall)
} else if (extensionText.length == 4) {
extension.text = extensionText
extension.setTextAppearance(requireContext(), R.style.Signal_Text_Caption)
extension.setTextAppearance(requireContext(), CoreUiR.style.Signal_Text_Caption)
}
} else {
Toast.makeText(requireContext(), R.string.ConversationActivity_sorry_there_was_an_error_setting_your_attachment, Toast.LENGTH_SHORT).show()

View File

@@ -152,7 +152,7 @@ private fun ViewNoteBottomSheetContent(
factory = { context ->
val view = EmojiTextView(context)
view.setTextAppearance(context, R.style.Signal_Text_BodyLarge)
view.setTextAppearance(context, CoreUiR.style.Signal_Text_BodyLarge)
view.movementMethod = LinkMovementMethodCompat.getInstance()
view

View File

@@ -207,7 +207,7 @@ public class ConfirmPaymentFragment extends BottomSheetDialogFragment {
private static CharSequence mono(Context context, CharSequence address) {
SpannableString spannable = new SpannableString(address);
spannable.setSpan(new TextAppearanceSpan(context, R.style.TextAppearance_Signal_Mono),
spannable.setSpan(new TextAppearanceSpan(context, org.signal.core.ui.R.style.TextAppearance_Signal_Mono),
0,
address.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

View File

@@ -192,7 +192,7 @@ public final class PaymentDetailsFragment extends LoggingFragment {
private static @NonNull CharSequence mono(@NonNull Context context, @NonNull CharSequence address) {
SpannableString spannable = new SpannableString(address);
spannable.setSpan(new TextAppearanceSpan(context, R.style.TextAppearance_Signal_Mono),
spannable.setSpan(new TextAppearanceSpan(context, org.signal.core.ui.R.style.TextAppearance_Signal_Mono),
0,
address.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

View File

@@ -78,7 +78,7 @@ class WhoCanFindMeByPhoneNumberFragment : DSLSettingsFragment(
WhoCanFindMeByPhoneNumberState.EVERYONE -> R.string.WhoCanSeeMyPhoneNumberFragment__anyone_who_has_your
WhoCanFindMeByPhoneNumberState.NOBODY -> R.string.WhoCanSeeMyPhoneNumberFragment__nobody_will_be_able
},
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)
)

View File

@@ -52,7 +52,7 @@ class UsernameShareBottomSheet : DSLSettingsBottomSheetFragment() {
noPadTextPref(
title = DSLSettingsText.from(
R.string.UsernameShareBottomSheet__copy_or_share_a_username_link,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_BodyMedium),
DSLSettingsText.CenterModifier,
DSLSettingsText.ColorModifier(
ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant)

View File

@@ -58,6 +58,7 @@ import org.thoughtcrime.securesms.recipients.RecipientId
import org.thoughtcrime.securesms.stories.settings.my.SignalConnectionsBottomSheetDialogFragment
import org.thoughtcrime.securesms.util.SignalE164Util
import org.thoughtcrime.securesms.util.viewModel
import org.signal.core.ui.R as CoreUiR
/**
* Displays all relevant context you know for a given user on the sheet.
@@ -227,7 +228,7 @@ private fun Content(
AndroidView(factory = ::EmojiTextView) {
it.text = model.about
TextViewCompat.setTextAppearance(it, R.style.Signal_Text_BodyLarge)
TextViewCompat.setTextAppearance(it, CoreUiR.style.Signal_Text_BodyLarge)
it.setTextColor(textColor.toArgb())
}

View File

@@ -120,7 +120,7 @@ class SafetyNumberBottomSheetFragment : DSLSettingsBottomSheetFragment(layoutId
state.hasLargeNumberOfUntrustedRecipients -> R.string.SafetyNumberBottomSheetFragment__safety_number_checkup
else -> R.string.SafetyNumberBottomSheetFragment__safety_number_changes
},
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_TitleLarge),
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_TitleLarge),
DSLSettingsText.CenterModifier
)
)
@@ -132,7 +132,7 @@ class SafetyNumberBottomSheetFragment : DSLSettingsBottomSheetFragment(layoutId
state.hasLargeNumberOfUntrustedRecipients -> resources.getQuantityString(R.plurals.SafetyNumberBottomSheetFragment__you_have_d_connections_plural, args.untrustedRecipients.size, args.untrustedRecipients.size)
else -> getString(R.string.SafetyNumberBottomSheetFragment__the_following_people)
},
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyLarge),
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_BodyLarge),
DSLSettingsText.CenterModifier
)
)
@@ -143,7 +143,7 @@ class SafetyNumberBottomSheetFragment : DSLSettingsBottomSheetFragment(layoutId
noPadTextPref(
title = DSLSettingsText.from(
R.string.SafetyNumberBottomSheetFragment__no_more_recipients_to_show,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyLarge),
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_BodyLarge),
DSLSettingsText.CenterModifier,
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)

View File

@@ -60,7 +60,7 @@ class SafetyNumberReviewConnectionsFragment : DSLSettingsFragment(
textPref(
title = DSLSettingsText.from(
resources.getQuantityString(R.plurals.SafetyNumberReviewConnectionsFragment__d_recipients_may_have, recipientCount, recipientCount),
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)
)

View File

@@ -86,7 +86,7 @@ class GroupStorySettingsFragment : DSLSettingsFragment(menuId = R.menu.story_gro
textPref(
title = DSLSettingsText.from(
getString(R.string.GroupStorySettingsFragment__members_of_the_group_s, state.name),
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)
)

View File

@@ -111,7 +111,7 @@ class StoriesPrivacySettingsFragment :
noPadTextPref(
title = DSLSettingsText.from(
R.string.StoriesPrivacySettingsFragment__story_updates_automatically_disappear,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)
)
@@ -173,7 +173,7 @@ class StoriesPrivacySettingsFragment :
title = DSLSettingsText.from(R.string.StoriesPrivacySettingsFragment__turn_off_stories),
summary = DSLSettingsText.from(
R.string.StoriesPrivacySettingsFragment__if_you_opt_out,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.TextAppearanceModifier(CoreUiR.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
),
onClick = {

View File

@@ -1,70 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Signal.Text.HeadlineLarge" parent="TextAppearance.Material3.HeadlineLarge">
<item name="android:lineSpacingExtra">8sp</item>
<item name="android:letterSpacing">0</item>
</style>
<style name="Signal.Text.HeadlineMedium" parent="TextAppearance.Material3.HeadlineMedium">
<item name="android:lineSpacingExtra">6sp</item>
<item name="android:letterSpacing">0</item>
</style>
<style name="Signal.Text.TitleLarge" parent="TextAppearance.Material3.TitleLarge">
<item name="android:lineSpacingExtra">6sp</item>
<item name="android:letterSpacing">0</item>
</style>
<style name="Signal.Text.TitleMedium" parent="TextAppearance.Material3.TitleMedium">
<item name="fontFamily">sans-serif</item>
<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">normal</item>
<item name="android:textSize">18sp</item>
<item name="android:lineSpacingExtra">6sp</item>
<item name="android:letterSpacing">0.0125</item>
</style>
<style name="Signal.Text.TitleSmall" parent="TextAppearance.Material3.TitleSmall">
<item name="android:textSize">16sp</item>
<item name="android:lineSpacingExtra">6sp</item>
<item name="android:letterSpacing">0.0125</item>
</style>
<style name="Signal.Text.BodyLarge" parent="TextAppearance.Material3.BodyLarge">
<item name="android:lineSpacingExtra">6sp</item>
<item name="android:letterSpacing">0.0125</item>
</style>
<style name="Signal.Text.BodyMedium" parent="TextAppearance.Material3.BodyMedium">
<item name="android:lineSpacingExtra">6sp</item>
<item name="android:letterSpacing">0.0107</item>
</style>
<style name="Signal.Text.BodySmall" parent="TextAppearance.Material3.BodySmall">
<item name="android:textSize">13sp</item>
<item name="android:lineSpacingExtra">3sp</item>
<item name="android:letterSpacing">0.0192</item>
</style>
<style name="Signal.Text.MaterialCaption" parent="Signal.Text.BodySmall">
<item name="android:textSize">12sp</item>
<item name="android:lineSpacingExtra">4sp</item>
<item name="android:letterSpacing">0.025</item>
</style>
<style name="Signal.Text.LabelLarge" parent="TextAppearance.Material3.LabelLarge">
<item name="android:lineSpacingExtra">6sp</item>
<item name="android:letterSpacing">0.0107</item>
</style>
<style name="Signal.Text.LabelMedium" parent="TextAppearance.Material3.LabelMedium">
<item name="android:textSize">13sp</item>
<item name="android:lineSpacingExtra">3sp</item>
<item name="android:letterSpacing">0.0192</item>
</style>
<style name="Signal.Text.LabelSmall" parent="TextAppearance.Material3.LabelSmall">
<item name="android:lineSpacingExtra">4sp</item>
<item name="android:letterSpacing">0.025</item>
</style>
</resources>

View File

@@ -1,71 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Signal.Text.HeadlineLarge" parent="TextAppearance.Material3.HeadlineLarge">
<item name="android:lineHeight">40sp</item>
<item name="android:letterSpacing">0</item>
</style>
<style name="Signal.Text.HeadlineMedium" parent="TextAppearance.Material3.HeadlineMedium">
<item name="android:lineHeight">36sp</item>
<item name="android:letterSpacing">0</item>
</style>
<style name="Signal.Text.TitleLarge" parent="TextAppearance.Material3.TitleLarge">
<item name="android:lineHeight">28sp</item>
<item name="android:letterSpacing">0</item>
</style>
<style name="Signal.Text.TitleMedium" parent="TextAppearance.Material3.TitleMedium">
<item name="fontFamily">sans-serif</item>
<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">normal</item>
<item name="android:textSize">18sp</item>
<item name="android:lineHeight">24sp</item>
<item name="android:letterSpacing">0.0125</item>
</style>
<style name="Signal.Text.TitleSmall" parent="TextAppearance.Material3.TitleSmall">
<item name="android:textSize">16sp</item>
<item name="android:lineHeight">22sp</item>
<item name="android:letterSpacing">0.0125</item>
</style>
<style name="Signal.Text.BodyLarge" parent="TextAppearance.Material3.BodyLarge">
<item name="android:lineSpacingExtra">6sp</item>
<item name="android:lineHeight">22sp</item>
<item name="android:letterSpacing">0.0125</item>
</style>
<style name="Signal.Text.BodyMedium" parent="TextAppearance.Material3.BodyMedium">
<item name="android:lineHeight">20sp</item>
<item name="android:letterSpacing">0.0107</item>
</style>
<style name="Signal.Text.BodySmall" parent="TextAppearance.Material3.BodySmall">
<item name="android:textSize">13sp</item>
<item name="android:lineHeight">16sp</item>
<item name="android:letterSpacing">0.0192</item>
</style>
<style name="Signal.Text.MaterialCaption" parent="Signal.Text.BodySmall">
<item name="android:textSize">12sp</item>
<item name="android:lineHeight">16sp</item>
<item name="android:letterSpacing">0.025</item>
</style>
<style name="Signal.Text.LabelLarge" parent="TextAppearance.Material3.LabelLarge">
<item name="android:lineHeight">20sp</item>
<item name="android:letterSpacing">0.0107</item>
</style>
<style name="Signal.Text.LabelMedium" parent="TextAppearance.Material3.LabelMedium">
<item name="android:textSize">13sp</item>
<item name="android:lineHeight">16sp</item>
<item name="android:letterSpacing">0.0192</item>
</style>
<style name="Signal.Text.LabelSmall" parent="TextAppearance.Material3.LabelSmall">
<item name="android:lineHeight">16sp</item>
<item name="android:letterSpacing">0.025</item>
</style>
</resources>

View File

@@ -1,203 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools">
<style name="Signal.Text.Zero" parent="">
<item name="android:textSize">0sp</item>
</style>
<!-- region Material3 Styles -->
<style name="Signal.Text.HeadlineLarge" parent="TextAppearance.Material3.HeadlineLarge">
<item name="android:lineSpacingExtra">8sp</item>
</style>
<style name="Signal.Text.HeadlineMedium" parent="TextAppearance.Material3.HeadlineMedium">
<item name="android:lineSpacingExtra">6sp</item>
</style>
<style name="Signal.Text.HeadlineSmall" parent="TextAppearance.Material3.HeadlineSmall">
</style>
<style name="Signal.Text.TitleLarge" parent="TextAppearance.Material3.TitleLarge">
<item name="android:lineSpacingExtra">6sp</item>
</style>
<style name="Signal.Text.TitleMedium" parent="TextAppearance.Material3.TitleMedium">
<item name="fontFamily">sans-serif</item>
<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">normal</item>
<item name="android:textSize">18sp</item>
<item name="android:lineSpacingExtra">6sp</item>
</style>
<style name="Signal.Text.TitleSmall" parent="TextAppearance.Material3.TitleSmall">
<item name="android:textSize">16sp</item>
<item name="android:lineSpacingExtra">6sp</item>
</style>
<style name="Signal.Text.BodyLarge" parent="TextAppearance.Material3.BodyLarge">
<item name="android:lineSpacingExtra">6sp</item>
</style>
<style name="Signal.Text.BodyMedium" parent="TextAppearance.Material3.BodyMedium">
<item name="android:lineSpacingExtra">6sp</item>
</style>
<style name="Signal.Text.BodySmall" parent="TextAppearance.Material3.BodySmall">
<item name="android:textSize">13sp</item>
<item name="android:lineSpacingExtra">3sp</item>
</style>
<style name="Signal.Text.MaterialCaption" parent="Signal.Text.BodySmall">
<item name="android:textSize">12sp</item>
<item name="android:lineSpacingExtra">4sp</item>
</style>
<style name="Signal.Text.LabelLarge" parent="TextAppearance.Material3.LabelLarge">
<item name="android:lineSpacingExtra">6sp</item>
</style>
<style name="Signal.Text.LabelMedium" parent="TextAppearance.Material3.LabelMedium">
<item name="android:textSize">13sp</item>
<item name="android:lineSpacingExtra">3sp</item>
</style>
<style name="Signal.Text.LabelSmall" parent="TextAppearance.Material3.LabelSmall">
<item name="android:lineSpacingExtra">4sp</item>
</style>
<!-- endregion -->
<!-- region Material2 and Older -->
<style name="Signal.Text.Headline" parent="Base.TextAppearance.AppCompat.Headline">
<item name="android:textSize">28sp</item>
<item name="android:lineSpacingExtra">3sp</item>
<item name="android:fontFamily">sans-serif</item>
<item name="android:letterSpacing" tools:ignore="NewApi">0</item>
</style>
<style name="Signal.Text.Headline.Medium">
<item name="android:lineSpacingExtra">5sp</item>
<item name="android:fontFamily">sans-serif-medium</item>
</style>
<style name="Signal.Text.Body" parent="Base.TextAppearance.AppCompat.Body1">
<item name="android:textSize">16sp</item>
<item name="android:lineSpacingExtra">2sp</item>
<item name="android:fontFamily">sans-serif</item>
<item name="android:letterSpacing" tools:ignore="NewApi">0.01</item>
</style>
<style name="Signal.Text.Preview" parent="Base.TextAppearance.AppCompat.Body2">
<item name="android:textSize">14sp</item>
<item name="android:lineSpacingExtra">3sp</item>
<item name="android:fontFamily">sans-serif</item>
<item name="android:letterSpacing" tools:ignore="NewApi">0.01</item>
</style>
<style name="Signal.Text.Preview.Secondary">
<item name="android:textColor">@color/signal_text_secondary</item>
</style>
<style name="Signal.Text.Caption" parent="Base.TextAppearance.AppCompat.Caption">
<item name="android:textSize">12sp</item>
<item name="android:lineSpacingExtra">2sp</item>
<item name="android:fontFamily">sans-serif</item>
<item name="android:letterSpacing" tools:ignore="NewApi">0.03</item>
</style>
<style name="Signal.Text.Caption.MessageSent">
<item name="android:textColor">@color/signal_text_secondary</item>
<item name="android:shadowRadius">0</item>
</style>
<style name="Signal.Text.Giant" parent="@style/TextAppearance.AppCompat.Display1">
<item name="android:textSize">48sp</item>
<item name="android:textColor">@color/signal_text_primary</item>
<item name="android:fontFamily">sans-serif-medium</item>
</style>
<style name="TextAppearance.Signal.Title1" parent="@style/TextAppearance.AppCompat.Title">
<item name="android:textStyle">bold</item>
<item name="android:textSize">28sp</item>
<item name="android:color">@color/signal_text_primary</item>
</style>
<style name="TextAppearance.Signal.Title2" parent="@style/TextAppearance.AppCompat.Title" />
<style name="TextAppearance.Signal.Title2.Bold">
<item name="android:textStyle">bold</item>
</style>
<style name="TextAppearance.Signal.Title2.MaterialDialog">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">match_parent</item>
</style>
<style name="TextAppearance.Signal.Title.InfoCard" parent="">
<item name="android:textStyle">bold</item>
<item name="android:textSize">18sp</item>
</style>
<style name="TextAppearance.Signal.Body1" parent="@style/TextAppearance.AppCompat.Body1">
<item name="android:textSize">16sp</item>
</style>
<style name="TextAppearance.Signal.Body2" parent="@style/TextAppearance.AppCompat.Body2">
<item name="android:textSize">14sp</item>
<item name="android:textStyle">normal</item>
<item name="fontFamily">sans-serif</item>
</style>
<style name="TextAppearance.Signal.Body2.Bold">
<item name="fontFamily">sans-serif-medium</item>
</style>
<style name="TextAppearance.Signal.Body1.Bold">
<item name="fontFamily">sans-serif-medium</item>
</style>
<style name="TextAppearance.Signal.Mono" parent="@style/TextAppearance.AppCompat.Caption">
<item name="android:textSize">14sp</item>
<item name="android:fontFamily">monospace</item>
</style>
<style name="TextAppearance.Signal.Caption" parent="@style/TextAppearance.AppCompat.Caption">
</style>
<style name="TextAppearance.Signal.Subtitle" parent="TextAppearance.Signal.Caption">
<item name="android:textSize">13sp</item>
</style>
<style name="TextAppearance.Signal.Subtitle.Bold">
<item name="android:textStyle">bold</item>
</style>
<style name="TextAppearance.Signal.Subtitle2" parent="@style/TextAppearance.MaterialComponents.Subtitle2">
</style>
<style name="Signal.Text.MessageRequest.Title" parent="Base.TextAppearance.AppCompat.Title">
<item name="android:textSize">20sp</item>
<item name="android:textColor">@color/signal_text_primary</item>
</style>
<style name="Signal.Text.MessageRequest.Subtitle" parent="Base.TextAppearance.AppCompat.Caption">
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/signal_text_secondary</item>
</style>
<style name="Signal.Text.MessageRequest.Description" parent="Base.TextAppearance.AppCompat.Subhead">
<item name="android:textSize">14sp</item>
<item name="android:textColor">@color/signal_text_secondary</item>
</style>
<style name="Signal.Text.Title" parent="Base.TextAppearance.AppCompat.Title">
</style>
<style name="Signal.Text.Title.Large">
<item name="android:textSize">22sp</item>
<item name="android:fontFamily">sans-serif</item>
</style>
<!-- endregion -->
</resources>