Move theme colors to core-ui.

This commit is contained in:
Greyson Parrelli
2026-01-29 16:44:11 -05:00
parent d0d32c8f33
commit 5c50372021
91 changed files with 268 additions and 211 deletions

View File

@@ -37,13 +37,13 @@ public class AlertView extends AppCompatImageView {
public void setFailed() {
setVisibility(View.VISIBLE);
setColorFilter(ContextCompat.getColor(getContext(), R.color.signal_colorError));
setColorFilter(ContextCompat.getColor(getContext(), org.signal.core.ui.R.color.signal_colorError));
setContentDescription(getContext().getString(R.string.conversation_item_sent__send_failed_indicator_description));
}
public void setRateLimited() {
setVisibility(View.VISIBLE);
setColorFilter(ContextCompat.getColor(getContext(), R.color.signal_colorOnSurfaceVariant));
setColorFilter(ContextCompat.getColor(getContext(), org.signal.core.ui.R.color.signal_colorOnSurfaceVariant));
setContentDescription(getContext().getString(R.string.conversation_item_sent__pending_approval_description));
}
}

View File

@@ -90,7 +90,7 @@ public class FromTextView extends SimpleEmojiTextView {
}
private Drawable getPinned() {
return getDrawable(R.drawable.symbol_pin_16, R.color.signal_colorOnSurface);
return getDrawable(R.drawable.symbol_pin_16, org.signal.core.ui.R.color.signal_colorOnSurface);
}
private Drawable getDrawable(@DrawableRes int drawable, int colorRes) {

View File

@@ -386,20 +386,20 @@ public class InputPanel extends ConstraintLayout
final int textHintColor;
if (enabled) {
iconTint = getContext().getResources().getColor(R.color.signal_colorOnSurface);
textColor = getContext().getResources().getColor(R.color.signal_colorOnSurface);
textHintColor = getContext().getResources().getColor(R.color.signal_colorOnSurfaceVariant);
iconTint = getContext().getResources().getColor(org.signal.core.ui.R.color.signal_colorOnSurface);
textColor = getContext().getResources().getColor(org.signal.core.ui.R.color.signal_colorOnSurface);
textHintColor = getContext().getResources().getColor(org.signal.core.ui.R.color.signal_colorOnSurfaceVariant);
setBackground(null);
composeContainer.setBackground(Objects.requireNonNull(ContextCompat.getDrawable(getContext(), R.drawable.compose_background_wallpaper)));
quickAudioToggle.setColorFilter(iconTint);
quickCameraToggle.setColorFilter(iconTint);
} else {
iconTint = getContext().getResources().getColor(R.color.signal_colorOnSurface);
textColor = getContext().getResources().getColor(R.color.signal_colorOnSurface);
textHintColor = getContext().getResources().getColor(R.color.signal_colorOnSurfaceVariant);
iconTint = getContext().getResources().getColor(org.signal.core.ui.R.color.signal_colorOnSurface);
textColor = getContext().getResources().getColor(org.signal.core.ui.R.color.signal_colorOnSurface);
textHintColor = getContext().getResources().getColor(org.signal.core.ui.R.color.signal_colorOnSurfaceVariant);
setBackground(new ColorDrawable(getContext().getResources().getColor(R.color.signal_colorSurface)));
setBackground(new ColorDrawable(getContext().getResources().getColor(org.signal.core.ui.R.color.signal_colorSurface)));
composeContainer.setBackground(Objects.requireNonNull(ContextCompat.getDrawable(getContext(), R.drawable.compose_background)));
}

View File

@@ -21,6 +21,7 @@ import org.thoughtcrime.securesms.notifications.DeviceSpecificNotificationConfig
import org.thoughtcrime.securesms.util.BottomSheetUtil
import org.thoughtcrime.securesms.util.LocalMetrics
import org.thoughtcrime.securesms.util.PowerManagerCompat
import org.signal.core.ui.R as CoreUiR
class PromptBatterySaverDialogFragment : FixedRoundedCornerBottomSheetDialogFragment() {
@@ -58,7 +59,7 @@ class PromptBatterySaverDialogFragment : FixedRoundedCornerBottomSheetDialogFrag
val learnMoreLink = arguments?.getString(ARG_LEARN_MORE_LINK) ?: getString(R.string.PromptBatterySaverBottomSheet__learn_more_url)
binding.message.setLearnMoreVisible(true)
binding.message.setLinkColor(ContextCompat.getColor(requireContext(), R.color.signal_colorPrimary))
binding.message.setLinkColor(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorPrimary))
binding.message.setLink(learnMoreLink)
binding.continueButton.setOnClickListener {

View File

@@ -2,7 +2,7 @@ package org.thoughtcrime.securesms.components.menu
import androidx.annotation.ColorRes
import androidx.annotation.DrawableRes
import org.thoughtcrime.securesms.R
import org.signal.core.ui.R as CoreUiR
/**
* Represents an action to be rendered via [SignalContextMenu] or [SignalBottomActionBar]
@@ -10,6 +10,6 @@ import org.thoughtcrime.securesms.R
data class ActionItem @JvmOverloads constructor(
@DrawableRes val iconRes: Int,
val title: CharSequence,
@ColorRes val tintRes: Int = R.color.signal_colorOnSurface,
@ColorRes val tintRes: Int = CoreUiR.color.signal_colorOnSurface,
val action: Runnable
)

View File

@@ -1153,7 +1153,7 @@ private fun CallToActionButton(
enabled = enabled,
colors = ButtonDefaults.filledTonalButtonColors().copy(
containerColor = SignalTheme.colors.colorTransparent5,
contentColor = colorResource(R.color.signal_light_colorOnSurface)
contentColor = colorResource(CoreUiR.color.signal_light_colorOnSurface)
),
modifier = Modifier.padding(top = 12.dp)
) {
@@ -1210,7 +1210,7 @@ private fun RedemptionErrorAlert(
.padding(top = 8.dp, bottom = 4.dp)
.border(
width = 1.dp,
color = colorResource(R.color.signal_colorOutline_38),
color = colorResource(CoreUiR.color.signal_colorOutline_38),
shape = RoundedCornerShape(12.dp)
)
.padding(vertical = 16.dp)
@@ -1366,7 +1366,7 @@ private fun SubscriptionNotFoundCard(
onClick = onRenewClick,
colors = ButtonDefaults.filledTonalButtonColors().copy(
containerColor = SignalTheme.colors.colorTransparent5,
contentColor = colorResource(R.color.signal_light_colorOnSurface)
contentColor = colorResource(CoreUiR.color.signal_light_colorOnSurface)
),
modifier = Modifier
.padding(top = 24.dp)
@@ -1382,7 +1382,7 @@ private fun SubscriptionNotFoundCard(
enabled = isRenewEnabled,
colors = ButtonDefaults.filledTonalButtonColors().copy(
containerColor = SignalTheme.colors.colorTransparent5,
contentColor = colorResource(R.color.signal_light_colorOnSurface)
contentColor = colorResource(CoreUiR.color.signal_light_colorOnSurface)
),
modifier = Modifier
.padding(top = 24.dp)

View File

@@ -52,6 +52,7 @@ import org.thoughtcrime.securesms.util.navigation.safeNavigate
import org.whispersystems.signalservice.api.subscriptions.ActiveSubscription
import java.math.BigDecimal
import java.util.Currency
import org.signal.core.ui.R as CoreUiR
/**
* Unified donation fragment which allows users to choose between monthly or one-time donations.
@@ -97,10 +98,10 @@ class DonateToSignalFragment :
private val binding by ViewBinderDelegate(DonateToSignalFragmentBinding::bind)
private val supportTechSummary: CharSequence by lazy {
SpannableStringBuilder(SpanUtil.color(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant), requireContext().getString(R.string.DonateToSignalFragment__private_messaging)))
SpannableStringBuilder(SpanUtil.color(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant), requireContext().getString(R.string.DonateToSignalFragment__private_messaging)))
.append("\n")
.append(
SpanUtil.readMore(requireContext(), ContextCompat.getColor(requireContext(), R.color.signal_colorPrimary)) {
SpanUtil.readMore(requireContext(), ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorPrimary)) {
findNavController().safeNavigate(DonateToSignalFragmentDirections.actionDonateToSignalFragmentToSubscribeLearnMoreBottomSheetDialog())
}
)
@@ -112,8 +113,8 @@ class DonateToSignalFragment :
override fun getMaterial3OnScrollHelper(toolbar: Toolbar?): Material3OnScrollHelper {
return object : Material3OnScrollHelper(activity = requireActivity(), views = listOf(toolbar!!), lifecycleOwner = viewLifecycleOwner) {
override val activeColorSet: ColorSet = ColorSet(R.color.transparent, R.color.signal_colorBackground)
override val inactiveColorSet: ColorSet = ColorSet(R.color.transparent, R.color.signal_colorBackground)
override val activeColorSet: ColorSet = ColorSet(R.color.transparent, CoreUiR.color.signal_colorBackground)
override val inactiveColorSet: ColorSet = ColorSet(R.color.transparent, CoreUiR.color.signal_colorBackground)
}
}

View File

@@ -35,6 +35,7 @@ import org.thoughtcrime.securesms.payments.FiatMoneyUtil
import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.navigation.safeNavigate
import org.thoughtcrime.securesms.util.viewModel
import org.signal.core.ui.R as CoreUiR
class CreditCardFragment : Fragment(R.layout.credit_card_fragment) {
@@ -85,7 +86,7 @@ class CreditCardFragment : Fragment(R.layout.credit_card_fragment) {
}
}
binding.description.setLinkColor(ContextCompat.getColor(requireContext(), R.color.signal_colorPrimary))
binding.description.setLinkColor(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorPrimary))
binding.description.setLearnMoreVisible(true)
binding.description.setOnLinkClickListener {
findNavController().safeNavigate(CreditCardFragmentDirections.actionCreditCardFragmentToYourInformationIsPrivateBottomSheet())

View File

@@ -31,6 +31,7 @@ import org.thoughtcrime.securesms.payments.FiatMoneyUtil
import org.thoughtcrime.securesms.payments.currency.CurrencyUtil
import org.thoughtcrime.securesms.util.fragments.requireListener
import org.thoughtcrime.securesms.util.viewModel
import org.signal.core.ui.R as CoreUiR
/**
* Entry point to capturing the necessary payment token to pay for a donation
@@ -144,7 +145,7 @@ class GatewaySelectorBottomSheet : DSLSettingsBottomSheetFragment() {
primaryButton(
text = DSLSettingsText.from(R.string.GatewaySelectorBottomSheet__credit_or_debit_card),
icon = DSLSettingsIcon.from(R.drawable.credit_card, R.color.signal_colorOnCustom),
icon = DSLSettingsIcon.from(R.drawable.credit_card, CoreUiR.color.signal_colorOnCustom),
disableOnClick = true,
onClick = {
lifecycleDisposable += viewModel.updateInAppPaymentMethod(InAppPaymentData.PaymentMethodType.CARD)
@@ -233,7 +234,7 @@ class GatewaySelectorBottomSheet : DSLSettingsBottomSheetFragment() {
context.getString(R.string.GatewaySelectorBottomSheet__get_a_s_badge, inAppPayment.data.badge!!.name),
DSLSettingsText.CenterModifier,
DSLSettingsText.BodyLargeModifier,
DSLSettingsText.ColorModifier(ContextCompat.getColor(context, R.color.signal_colorOnSurfaceVariant))
DSLSettingsText.ColorModifier(ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurfaceVariant))
)
)
}
@@ -252,7 +253,7 @@ class GatewaySelectorBottomSheet : DSLSettingsBottomSheetFragment() {
context.resources.getQuantityString(R.plurals.GatewaySelectorBottomSheet__get_a_s_badge_for_d_days, 30, inAppPayment.data.badge!!.name, 30),
DSLSettingsText.CenterModifier,
DSLSettingsText.BodyLargeModifier,
DSLSettingsText.ColorModifier(ContextCompat.getColor(context, R.color.signal_colorOnSurfaceVariant))
DSLSettingsText.ColorModifier(ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurfaceVariant))
)
)
}
@@ -271,7 +272,7 @@ class GatewaySelectorBottomSheet : DSLSettingsBottomSheetFragment() {
R.string.GatewaySelectorBottomSheet__donate_for_a_friend,
DSLSettingsText.CenterModifier,
DSLSettingsText.BodyLargeModifier,
DSLSettingsText.ColorModifier(ContextCompat.getColor(context, R.color.signal_colorOnSurfaceVariant))
DSLSettingsText.ColorModifier(ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurfaceVariant))
)
)
}

View File

@@ -47,6 +47,7 @@ import org.thoughtcrime.securesms.util.navigation.safeNavigate
import org.whispersystems.signalservice.api.subscriptions.ActiveSubscription
import java.util.Currency
import java.util.concurrent.TimeUnit
import org.signal.core.ui.R as CoreUiR
/**
* Fragment displayed when a user enters "Subscriptions" via app settings but is already
@@ -67,10 +68,10 @@ class ManageDonationsFragment :
private lateinit var launcher: ActivityResultLauncher<InAppPaymentType>
private val supportTechSummary: CharSequence by lazy {
SpannableStringBuilder(SpanUtil.color(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant), requireContext().getString(R.string.DonateToSignalFragment__private_messaging)))
SpannableStringBuilder(SpanUtil.color(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant), requireContext().getString(R.string.DonateToSignalFragment__private_messaging)))
.append("\n")
.append(
SpanUtil.readMore(requireContext(), ContextCompat.getColor(requireContext(), R.color.signal_colorPrimary)) {
SpanUtil.readMore(requireContext(), ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorPrimary)) {
findNavController().safeNavigate(ManageDonationsFragmentDirections.actionManageDonationsFragmentToSubscribeLearnMoreBottomSheetDialog())
}
)
@@ -150,8 +151,8 @@ class ManageDonationsFragment :
override fun getMaterial3OnScrollHelper(toolbar: Toolbar?): Material3OnScrollHelper {
return object : Material3OnScrollHelper(activity = requireActivity(), views = listOf(toolbar!!), lifecycleOwner = viewLifecycleOwner) {
override val activeColorSet: ColorSet = ColorSet(R.color.transparent, R.color.signal_colorBackground)
override val inactiveColorSet: ColorSet = ColorSet(R.color.transparent, R.color.signal_colorBackground)
override val activeColorSet: ColorSet = ColorSet(R.color.transparent, CoreUiR.color.signal_colorBackground)
override val inactiveColorSet: ColorSet = ColorSet(R.color.transparent, CoreUiR.color.signal_colorBackground)
}
}

View File

@@ -13,6 +13,7 @@ import org.thoughtcrime.securesms.util.StickyHeaderDecoration
import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.thoughtcrime.securesms.util.toLocalDateTime
import org.signal.core.ui.R as CoreUiR
class DonationReceiptListAdapter(onModelClick: (DonationReceiptListItem.Model) -> Unit) : MappingAdapter(), StickyHeaderDecoration.StickyHeaderAdapter<SectionHeaderPreferenceViewHolder> {
@@ -34,7 +35,7 @@ class DonationReceiptListAdapter(onModelClick: (DonationReceiptListItem.Model) -
override fun onBindHeaderViewHolder(viewHolder: SectionHeaderPreferenceViewHolder?, position: Int, type: Int) {
viewHolder?.itemView?.run {
val color = ContextCompat.getColor(context, R.color.signal_colorBackground)
val color = ContextCompat.getColor(context, CoreUiR.color.signal_colorBackground)
setBackgroundColor(color)
}

View File

@@ -222,8 +222,8 @@ class ConversationSettingsFragment : DSLSettingsFragment(
override fun getMaterial3OnScrollHelper(toolbar: Toolbar?): Material3OnScrollHelper {
return object : Material3OnScrollHelper(activity = requireActivity(), views = listOf(toolbar!!), lifecycleOwner = viewLifecycleOwner) {
override val inactiveColorSet = ColorSet(
toolbarColorRes = R.color.signal_colorBackground_0,
statusBarColorRes = R.color.signal_colorBackground
toolbarColorRes = CoreUiR.color.signal_colorBackground_0,
statusBarColorRes = CoreUiR.color.signal_colorBackground
)
}
}

View File

@@ -18,6 +18,7 @@ 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
import org.signal.core.ui.R as CoreUiR
/**
* Renders name, description, about, etc. for a given group or recipient.
@@ -79,7 +80,7 @@ object BioTextPreference {
).let {
SpanUtil.ofSize(it, 24)
}.let {
SpanUtil.color(ContextCompat.getColor(context, R.color.signal_colorOutline), it)
SpanUtil.color(ContextCompat.getColor(context, CoreUiR.color.signal_colorOutline), it)
}
if (isLtr) {

View File

@@ -17,6 +17,7 @@ import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder
import org.thoughtcrime.securesms.util.visible
import org.signal.core.ui.R as CoreUiR
/**
* Renders a Recipient as a row item with an icon, avatar, status, and admin state
@@ -88,7 +89,7 @@ object RecipientPreference {
if (recipient.isSystemContact) {
SpannableStringBuilder(recipient.getDisplayName(context)).apply {
val drawable = ContextUtil.requireDrawable(context, R.drawable.symbol_person_circle_24).apply {
setTint(ContextCompat.getColor(context, R.color.signal_colorOnSurface))
setTint(ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurface))
}
SpanUtil.appendCenteredImageSpan(this, drawable, 16, 16)
}

View File

@@ -23,12 +23,12 @@ import androidx.compose.ui.unit.dp
import org.signal.core.ui.compose.DayNightPreviews
import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.horizontalGutters
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.databinding.DslBannerBinding
import org.thoughtcrime.securesms.util.adapter.mapping.BindingFactory
import org.thoughtcrime.securesms.util.adapter.mapping.BindingViewHolder
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel
import org.signal.core.ui.R as CoreUiR
/**
* Displays a banner to notify the user of certain state or action that needs to be taken.
@@ -72,7 +72,7 @@ fun Banner(
) {
OutlinedCard(
shape = RoundedCornerShape(18.dp),
border = BorderStroke(width = 1.dp, color = colorResource(R.color.signal_colorOutline_38)),
border = BorderStroke(width = 1.dp, color = colorResource(CoreUiR.color.signal_colorOutline_38)),
modifier = Modifier
.horizontalGutters()
.fillMaxWidth()

View File

@@ -12,10 +12,10 @@ import androidx.core.content.ContextCompat
import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.LifecycleOwner
import org.signal.core.util.dp
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.spoiler.SpoilerAnnotation.SpoilerClickableSpan
import org.thoughtcrime.securesms.util.AccessibilityUtil
import org.thoughtcrime.securesms.util.getLifecycle
import org.signal.core.ui.R as CoreUiR
/**
* Performs initial calculation on how to render spoilers and then delegates to actually drawing the spoiler sparkles.
@@ -50,7 +50,7 @@ class SpoilerRendererDelegate @JvmOverloads constructor(
spoilerDrawable = spoilerDrawable,
renderForComposing = renderForComposing,
padding = 2.dp,
composeBackgroundColor = ContextCompat.getColor(view.context, R.color.signal_colorOnSurfaceVariant1)
composeBackgroundColor = ContextCompat.getColor(view.context, CoreUiR.color.signal_colorOnSurfaceVariant1)
)
view.addOnAttachStateChangeListener(object : OnAttachStateChangeListener {

View File

@@ -21,6 +21,7 @@ import androidx.core.graphics.withTranslation
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.R
import kotlin.math.roundToInt
import org.signal.core.ui.R as CoreUiR
/**
* This displays a circular progress around an icon. The icon is either an upload arrow, a download arrow, or a rectangular stop button.
@@ -65,8 +66,8 @@ class TransferProgressView @JvmOverloads constructor(
init {
val displayDensity = Resources.getSystem().displayMetrics.density
val typedArray = context.theme.obtainStyledAttributes(attrs, R.styleable.TransferProgressView, 0, 0)
val signalCustomColor = ContextCompat.getColor(context, R.color.signal_colorOnCustom)
val signalTransparent2 = ContextCompat.getColor(context, R.color.signal_colorTransparent2)
val signalCustomColor = ContextCompat.getColor(context, CoreUiR.color.signal_colorOnCustom)
val signalTransparent2 = ContextCompat.getColor(context, CoreUiR.color.signal_colorTransparent2)
iconColor = typedArray.getColor(R.styleable.TransferProgressView_transferIconColor, signalCustomColor)
progressColor = typedArray.getColor(R.styleable.TransferProgressView_progressColor, signalCustomColor)

View File

@@ -38,6 +38,7 @@ import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.visible
import java.nio.charset.Charset
import java.util.Locale
import org.signal.core.ui.R as CoreUiR
class SafetyNumberQrView : ConstraintLayout {
@@ -109,10 +110,10 @@ class SafetyNumberQrView : ConstraintLayout {
clipToOutline = true
ImageViewCompat.setImageTintList(shareButton, ColorStateList.valueOf(ContextCompat.getColor(context, R.color.signal_dark_colorOnSurface)))
ImageViewCompat.setImageTintList(shareButton, ColorStateList.valueOf(ContextCompat.getColor(context, CoreUiR.color.signal_dark_colorOnSurface)))
setBackgroundColor(ContextCompat.getColor(context, R.color.safety_number_card_blue))
codes.forEach {
it.setTextColor(ContextCompat.getColor(context, R.color.signal_light_colorOnPrimary))
it.setTextColor(ContextCompat.getColor(context, CoreUiR.color.signal_light_colorOnPrimary))
}
}

View File

@@ -22,6 +22,7 @@ import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.PlaybackSpeedToggleTextView
import org.thoughtcrime.securesms.recipients.RecipientId
import java.util.concurrent.TimeUnit
import org.signal.core.ui.R as CoreUiR
private const val ANIMATE_DURATION: Long = 150L
private const val TO_PAUSE = 1
@@ -109,7 +110,7 @@ class VoiceNotePlayerView @JvmOverloads constructor(
playPauseToggleView.addValueCallback(
KeyPath("**"),
LottieProperty.COLOR_FILTER,
LottieValueCallback(SimpleColorFilter(ContextCompat.getColor(context, R.color.signal_colorOnSurface)))
LottieValueCallback(SimpleColorFilter(ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurface)))
)
}

View File

@@ -66,13 +66,13 @@ fun CallAudioToggleButton(
val containerColor = if (currentOutput == WebRtcAudioOutput.HANDSET || allOutputs.size >= SHOW_PICKER_THRESHOLD) {
MaterialTheme.colorScheme.secondaryContainer
} else {
colorResource(id = R.color.signal_light_colorSecondaryContainer)
colorResource(id = CoreUiR.color.signal_light_colorSecondaryContainer)
}
val contentColor = if (currentOutput == WebRtcAudioOutput.HANDSET || allOutputs.size >= SHOW_PICKER_THRESHOLD) {
colorResource(id = R.color.signal_light_colorOnPrimary)
colorResource(id = CoreUiR.color.signal_light_colorOnPrimary)
} else {
colorResource(id = R.color.signal_light_colorOnSecondaryContainer)
colorResource(id = CoreUiR.color.signal_light_colorOnSecondaryContainer)
}
IconButtons.IconButton(

View File

@@ -28,6 +28,7 @@ import org.signal.core.ui.compose.IconButtons
import org.signal.core.ui.compose.NightPreview
import org.signal.core.ui.compose.Previews
import org.thoughtcrime.securesms.R
import org.signal.core.ui.R as CoreUiR
private val defaultCallButtonIconSize: Dp = 24.dp
@@ -49,9 +50,9 @@ private fun ToggleCallButton(
colors = IconButtons.run {
iconToggleButtonColors(
checkedContainerColor = MaterialTheme.colorScheme.secondaryContainer,
checkedContentColor = colorResource(id = R.color.signal_light_colorOnPrimary),
containerColor = colorResource(id = R.color.signal_light_colorSecondaryContainer),
contentColor = colorResource(id = R.color.signal_light_colorOnSecondaryContainer)
checkedContentColor = colorResource(id = CoreUiR.color.signal_light_colorOnPrimary),
containerColor = colorResource(id = CoreUiR.color.signal_light_colorSecondaryContainer),
contentColor = colorResource(id = CoreUiR.color.signal_light_colorOnSecondaryContainer)
)
}
) {
@@ -70,7 +71,7 @@ private fun CallButton(
contentDescription: String?,
modifier: Modifier = Modifier,
containerColor: Color = MaterialTheme.colorScheme.secondaryContainer,
contentColor: Color = colorResource(id = R.color.signal_light_colorOnPrimary),
contentColor: Color = colorResource(id = CoreUiR.color.signal_light_colorOnPrimary),
iconSize: Dp = defaultCallButtonIconSize
) {
val buttonSize = dimensionResource(id = R.dimen.webrtc_button_size)
@@ -216,8 +217,8 @@ fun StartCallButton(
onClick = onClick,
modifier = modifier.height(56.dp),
colors = ButtonDefaults.buttonColors(
containerColor = colorResource(id = R.color.signal_light_colorPrimary),
contentColor = colorResource(id = R.color.signal_light_colorOnPrimary)
containerColor = colorResource(id = CoreUiR.color.signal_light_colorPrimary),
contentColor = colorResource(id = CoreUiR.color.signal_light_colorOnPrimary)
),
contentPadding = PaddingValues(horizontal = 48.dp, vertical = 18.dp)
) {

View File

@@ -27,6 +27,7 @@ import androidx.compose.ui.unit.dp
import org.signal.core.ui.compose.NightPreview
import org.signal.core.ui.compose.Previews
import org.thoughtcrime.securesms.R
import org.signal.core.ui.R as CoreUiR
/**
* Enumeration of the different call states we can display in the CallStateUpdate component.
@@ -58,7 +59,7 @@ fun CallStateUpdatePopup(
verticalAlignment = Alignment.CenterVertically,
modifier = modifier
.background(
color = colorResource(id = R.color.signal_light_colorSecondaryContainer),
color = colorResource(id = CoreUiR.color.signal_light_colorSecondaryContainer),
shape = RoundedCornerShape(50)
)
.padding(horizontal = 16.dp, vertical = 8.dp)
@@ -67,7 +68,7 @@ fun CallStateUpdatePopup(
Icon(
painter = painterResource(id = callControlsChange.iconRes),
contentDescription = null,
tint = colorResource(id = R.color.signal_light_colorOnSecondaryContainer),
tint = colorResource(id = CoreUiR.color.signal_light_colorOnSecondaryContainer),
modifier = Modifier.size(16.dp)
)
}
@@ -75,7 +76,7 @@ fun CallStateUpdatePopup(
Text(
text = stringResource(id = callControlsChange.stringRes),
style = MaterialTheme.typography.bodyMedium,
color = colorResource(id = R.color.signal_light_colorOnSecondaryContainer)
color = colorResource(id = CoreUiR.color.signal_light_colorOnSecondaryContainer)
)
}
}

View File

@@ -41,6 +41,7 @@ import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
import kotlin.time.Duration
import kotlin.time.Duration.Companion.seconds
import org.signal.core.ui.R as CoreUiR
/**
* Popup which displays at the top of the screen as people enter and leave the call. Only displayed in group calls.
@@ -134,7 +135,7 @@ private fun PopupContent(
Text(
text = description,
color = colorResource(R.color.signal_light_colorOnSecondaryContainer),
color = colorResource(CoreUiR.color.signal_light_colorOnSecondaryContainer),
modifier = Modifier
.padding(vertical = 14.dp)
.padding(start = 10.dp, end = 24.dp)

View File

@@ -65,6 +65,7 @@ import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.rememberRecipientField
import org.thoughtcrime.securesms.ringrtc.CameraState
import org.webrtc.RendererCommon
import org.signal.core.ui.R as CoreUiR
/**
* Displays a remote participant (or local participant in pre-join screen).
@@ -599,7 +600,7 @@ private fun RaiseHandIndicator(
Row(
modifier = modifier
.background(
color = colorResource(R.color.signal_light_colorSurface),
color = colorResource(CoreUiR.color.signal_light_colorSurface),
shape = RoundedCornerShape(percent = 50)
),
verticalAlignment = Alignment.CenterVertically
@@ -614,7 +615,7 @@ private fun RaiseHandIndicator(
if (name.isNotBlank()) {
Text(
text = name,
color = colorResource(R.color.signal_light_colorOnSurface),
color = colorResource(CoreUiR.color.signal_light_colorOnSurface),
style = MaterialTheme.typography.bodyMedium,
modifier = Modifier.padding(end = 12.dp)
)

View File

@@ -29,9 +29,9 @@ import androidx.compose.ui.res.colorResource
import androidx.compose.ui.semantics.Role
import androidx.compose.ui.unit.dp
import kotlinx.coroutines.delay
import org.thoughtcrime.securesms.R
import kotlin.time.Duration
import kotlin.time.Duration.Companion.seconds
import org.signal.core.ui.R as CoreUiR
/**
* Common popup container for call screen notifications that slide in from the top.
@@ -83,7 +83,7 @@ fun CallScreenPopup(
.wrapContentSize()
.padding(start = 12.dp, top = 30.dp, end = 12.dp)
.background(
color = colorResource(R.color.signal_light_colorSecondaryContainer),
color = colorResource(CoreUiR.color.signal_light_colorSecondaryContainer),
shape = RoundedCornerShape(percent = 50)
)
.clickable(

View File

@@ -23,7 +23,7 @@ import androidx.compose.ui.res.colorResource
import kotlinx.coroutines.flow.drop
import org.signal.core.ui.compose.NightPreview
import org.signal.core.ui.compose.Previews
import org.thoughtcrime.securesms.R
import org.signal.core.ui.R as CoreUiR
/**
* Tooltip box appropriately styled for the call screen.
@@ -45,8 +45,8 @@ fun CallScreenTooltipBox(
PlainTooltip(
caretShape = DefaultTooltipCaretShape(),
shape = TooltipDefaults.plainTooltipContainerShape,
containerColor = colorResource(R.color.signal_light_colorPrimary),
contentColor = colorResource(R.color.signal_light_colorOnPrimary)
containerColor = colorResource(CoreUiR.color.signal_light_colorPrimary),
contentColor = colorResource(CoreUiR.color.signal_light_colorOnPrimary)
) {
Text(text = text)
}

View File

@@ -41,6 +41,7 @@ import org.thoughtcrime.securesms.events.CallParticipant
import org.thoughtcrime.securesms.events.CallParticipantId
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
import org.signal.core.ui.R as CoreUiR
private val PIP_METRICS_SELF_PORTRAIT_WIDTH = 48.dp
private val PIP_METRICS_SELF_PORTRAIT_HEIGHT = 86.dp
@@ -159,7 +160,7 @@ private fun InfoPill(
horizontalArrangement = spacedBy(4.dp),
verticalAlignment = Alignment.CenterVertically,
modifier = modifier
.background(color = colorResource(R.color.signal_dark_colorSurface3), shape = RoundedCornerShape(percent = 50))
.background(color = colorResource(CoreUiR.color.signal_dark_colorSurface3), shape = RoundedCornerShape(percent = 50))
.padding(horizontal = 12.dp, vertical = 6.dp)
) {
Icon(

View File

@@ -21,6 +21,7 @@ import org.signal.core.ui.compose.NightPreview
import org.signal.core.ui.compose.Previews
import org.thoughtcrime.securesms.R
import kotlin.time.Duration.Companion.seconds
import org.signal.core.ui.R as CoreUiR
/**
* Popup shown when a user is remotely muted during a call.
@@ -44,13 +45,13 @@ fun RemoteMuteToastPopup(
Icon(
imageVector = ImageVector.vectorResource(id = R.drawable.ic_mic_off_solid_18),
contentDescription = null,
tint = colorResource(R.color.signal_light_colorOnSecondaryContainer),
tint = colorResource(CoreUiR.color.signal_light_colorOnSecondaryContainer),
modifier = Modifier.size(18.dp)
)
Text(
text = message ?: "",
color = colorResource(R.color.signal_light_colorOnSecondaryContainer),
color = colorResource(CoreUiR.color.signal_light_colorOnSecondaryContainer),
modifier = Modifier.padding(start = 8.dp)
)
}

View File

@@ -22,6 +22,7 @@ import org.signal.core.ui.compose.NightPreview
import org.signal.core.ui.compose.Previews
import org.thoughtcrime.securesms.R
import kotlin.time.Duration.Companion.seconds
import org.signal.core.ui.R as CoreUiR
/**
* Popup shown to hint the user that they can swipe to view screen share.
@@ -45,13 +46,13 @@ fun SwipeToSpeakerHintPopup(
Icon(
imageVector = ImageVector.vectorResource(id = R.drawable.symbol_arrow_down_24),
contentDescription = null,
tint = colorResource(R.color.signal_light_colorOnSecondaryContainer),
tint = colorResource(CoreUiR.color.signal_light_colorOnSecondaryContainer),
modifier = Modifier.size(24.dp)
)
Text(
text = stringResource(R.string.CallToastPopupWindow__swipe_to_view_screen_share),
color = colorResource(R.color.signal_light_colorOnSecondaryContainer),
color = colorResource(CoreUiR.color.signal_light_colorOnSecondaryContainer),
modifier = Modifier.padding(start = 8.dp)
)
}

View File

@@ -19,6 +19,7 @@ import org.signal.core.ui.compose.Previews
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.util.VibrateUtil
import kotlin.time.Duration.Companion.seconds
import org.signal.core.ui.R as CoreUiR
private const val VIBRATE_DURATION_MS = 50
@@ -48,7 +49,7 @@ fun WifiToCellularPopup(
) {
Text(
text = stringResource(R.string.WifiToCellularPopupWindow__weak_wifi_switched_to_cellular),
color = colorResource(R.color.signal_light_colorOnSecondaryContainer),
color = colorResource(CoreUiR.color.signal_light_colorOnSecondaryContainer),
modifier = Modifier.padding(horizontal = 24.dp, vertical = 14.dp)
)
}