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

@@ -358,7 +358,7 @@ public class PassphrasePromptActivity extends PassphraseActivity {
learnMoreText.setVisibility(View.VISIBLE);
learnMoreText.setLearnMoreVisible(true);
learnMoreText.setLinkColor(ContextCompat.getColor(PassphrasePromptActivity.this, R.color.signal_colorPrimary));
learnMoreText.setLinkColor(ContextCompat.getColor(PassphrasePromptActivity.this, org.signal.core.ui.R.color.signal_colorPrimary));
learnMoreText.setOnClickListener(v ->
new MaterialAlertDialogBuilder(PassphrasePromptActivity.this)

View File

@@ -50,6 +50,7 @@ import org.thoughtcrime.securesms.jobs.BackupMessagesJob
import org.thoughtcrime.securesms.keyvalue.protos.BackupDownloadNotifierState
import org.thoughtcrime.securesms.util.CommunicationActions
import org.thoughtcrime.securesms.util.PlayStoreUtil
import org.signal.core.ui.R as CoreUiR
/**
* Notifies the user of an issue with their backup.
@@ -161,7 +162,7 @@ class BackupAlertBottomSheet : ComposeBottomSheetDialogFragment() {
.create()
.apply {
setOnShowListener {
getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(ContextCompat.getColor(requireContext(), R.color.signal_colorError))
getButton(AlertDialog.BUTTON_POSITIVE).setTextColor(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorError))
}
}
.show()

View File

@@ -14,6 +14,7 @@ import org.thoughtcrime.securesms.components.settings.DSLSettingsText
import org.thoughtcrime.securesms.components.settings.app.AppSettingsActivity
import org.thoughtcrime.securesms.components.settings.configure
import org.thoughtcrime.securesms.util.BottomSheetUtil
import org.signal.core.ui.R as CoreUiR
class BecomeASustainerFragment : DSLSettingsBottomSheetFragment() {
@@ -46,7 +47,7 @@ class BecomeASustainerFragment : DSLSettingsBottomSheetFragment() {
R.string.BecomeASustainerFragment__signal_is_a_non_profit,
DSLSettingsText.CenterModifier,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant))
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)
)

View File

@@ -37,6 +37,7 @@ import org.signal.core.ui.compose.Previews
import org.signal.core.ui.compose.SignalIcons
import org.signal.core.util.isNotNullOrBlank
import org.thoughtcrime.securesms.R
import org.signal.core.ui.R as CoreUiR
/**
* A layout intended to display an in-app notification at the top of their screen,
@@ -67,7 +68,7 @@ fun DefaultBanner(
)
.border(
width = 1.dp,
color = colorResource(id = R.color.signal_colorOutline_38),
color = colorResource(id = CoreUiR.color.signal_colorOutline_38),
shape = RoundedCornerShape(12.dp)
)
) {
@@ -88,7 +89,7 @@ fun DefaultBanner(
text = title,
color = when (importance) {
Importance.NORMAL -> MaterialTheme.colorScheme.onSurface
Importance.ERROR -> colorResource(id = R.color.signal_light_colorOnSurface)
Importance.ERROR -> colorResource(id = CoreUiR.color.signal_light_colorOnSurface)
},
style = MaterialTheme.typography.bodyLarge
)
@@ -98,7 +99,7 @@ fun DefaultBanner(
text = body,
color = when (importance) {
Importance.NORMAL -> MaterialTheme.colorScheme.onSurfaceVariant
Importance.ERROR -> colorResource(id = R.color.signal_light_colorOnSurface)
Importance.ERROR -> colorResource(id = CoreUiR.color.signal_light_colorOnSurface)
},
style = MaterialTheme.typography.bodyMedium
)
@@ -109,7 +110,7 @@ fun DefaultBanner(
progress = { progressPercent / 100f },
color = when (importance) {
Importance.NORMAL -> MaterialTheme.colorScheme.primary
Importance.ERROR -> colorResource(id = R.color.signal_light_colorPrimary)
Importance.ERROR -> colorResource(id = CoreUiR.color.signal_light_colorPrimary)
},
trackColor = MaterialTheme.colorScheme.primaryContainer,
modifier = Modifier
@@ -120,7 +121,7 @@ fun DefaultBanner(
LinearProgressIndicator(
color = when (importance) {
Importance.NORMAL -> MaterialTheme.colorScheme.primary
Importance.ERROR -> colorResource(id = R.color.signal_light_colorPrimary)
Importance.ERROR -> colorResource(id = CoreUiR.color.signal_light_colorPrimary)
},
trackColor = MaterialTheme.colorScheme.primaryContainer,
modifier = Modifier.padding(vertical = 12.dp)
@@ -132,7 +133,7 @@ fun DefaultBanner(
style = MaterialTheme.typography.bodySmall,
color = when (importance) {
Importance.NORMAL -> MaterialTheme.colorScheme.onSurfaceVariant
Importance.ERROR -> colorResource(id = R.color.signal_light_colorOnSurface)
Importance.ERROR -> colorResource(id = CoreUiR.color.signal_light_colorOnSurface)
}
)
}
@@ -151,7 +152,7 @@ fun DefaultBanner(
contentDescription = stringResource(id = R.string.InviteActivity_cancel),
tint = when (importance) {
Importance.NORMAL -> MaterialTheme.colorScheme.onSurfaceVariant
Importance.ERROR -> colorResource(id = R.color.signal_light_colorOnSurface)
Importance.ERROR -> colorResource(id = CoreUiR.color.signal_light_colorOnSurface)
}
)
}
@@ -169,7 +170,7 @@ fun DefaultBanner(
onClick = action.onClick,
colors = when (importance) {
Importance.NORMAL -> ButtonDefaults.textButtonColors()
Importance.ERROR -> ButtonDefaults.textButtonColors(contentColor = colorResource(R.color.signal_light_colorPrimary))
Importance.ERROR -> ButtonDefaults.textButtonColors(contentColor = colorResource(CoreUiR.color.signal_light_colorPrimary))
}
) {
Text(

View File

@@ -267,7 +267,7 @@ class CallLogAdapter(
TextViewCompat.setCompoundDrawableTintList(
binding.callInfo,
ColorStateList.valueOf(
ContextCompat.getColor(context, R.color.signal_colorOnSurfaceVariant)
ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurfaceVariant)
)
)
@@ -374,9 +374,9 @@ class CallLogAdapter(
val color = ContextCompat.getColor(
context,
if (call.record.isDisplayedAsMissedCallInUi) {
R.color.signal_colorError
CoreUiR.color.signal_colorError
} else {
R.color.signal_colorOnSurfaceVariant
CoreUiR.color.signal_colorOnSurfaceVariant
}
)

View File

@@ -6,7 +6,7 @@ import androidx.annotation.ColorInt
import androidx.annotation.ColorRes
import androidx.core.content.ContextCompat
import kotlinx.parcelize.Parcelize
import org.thoughtcrime.securesms.R
import org.signal.core.ui.R as CoreUiR
/**
* Represents a set of colors to be applied to the foreground and background of a view.
@@ -20,13 +20,13 @@ data class ViewColorSet(
) : Parcelable {
companion object {
val PRIMARY = ViewColorSet(
foreground = ViewColor.ColorResource(R.color.signal_colorOnPrimary),
background = ViewColor.ColorResource(R.color.signal_colorPrimary)
foreground = ViewColor.ColorResource(CoreUiR.color.signal_colorOnPrimary),
background = ViewColor.ColorResource(CoreUiR.color.signal_colorPrimary)
)
fun forCustomColor(@ColorInt customColor: Int): ViewColorSet {
return ViewColorSet(
foreground = ViewColor.ColorResource(R.color.signal_colorOnCustom),
foreground = ViewColor.ColorResource(CoreUiR.color.signal_colorOnCustom),
background = ViewColor.ColorValue(customColor)
)
}

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)
)
}

View File

@@ -4,8 +4,8 @@ import android.animation.ValueAnimator
import android.app.Activity
import androidx.core.content.ContextCompat
import com.google.android.material.animation.ArgbEvaluatorCompat
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.util.WindowUtil
import org.signal.core.ui.R as CoreUiR
/**
* Controls status-bar color based off ability to scroll up
@@ -16,8 +16,8 @@ class StatusBarColorAnimator(
private var animator: ValueAnimator? = null
private var previousCanScrollUp: Boolean = false
private val normalColor = ContextCompat.getColor(activity, R.color.signal_colorBackground)
private val scrollColor = ContextCompat.getColor(activity, R.color.signal_colorSurface2)
private val normalColor = ContextCompat.getColor(activity, CoreUiR.color.signal_colorBackground)
private val scrollColor = ContextCompat.getColor(activity, CoreUiR.color.signal_colorSurface2)
fun setCanScrollUp(canScrollUp: Boolean) {
if (previousCanScrollUp == canScrollUp) {

View File

@@ -14,9 +14,9 @@ import androidx.compose.ui.input.nestedscroll.nestedScroll
import androidx.compose.ui.unit.Velocity
import androidx.core.content.ContextCompat
import com.google.android.material.animation.ArgbEvaluatorCompat
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.util.WindowUtil
import kotlin.math.abs
import org.signal.core.ui.R as CoreUiR
/**
* Controls status-bar color based off a nested scroll
@@ -30,8 +30,8 @@ class StatusBarColorNestedScrollConnection(
private var animator: ValueAnimator? = null
private val normalColor = ContextCompat.getColor(activity, R.color.signal_colorBackground)
private val scrollColor = ContextCompat.getColor(activity, R.color.signal_colorSurface2)
private val normalColor = ContextCompat.getColor(activity, CoreUiR.color.signal_colorBackground)
private val scrollColor = ContextCompat.getColor(activity, CoreUiR.color.signal_colorSurface2)
private var contentOffset = 0f

View File

@@ -12,6 +12,7 @@ import org.thoughtcrime.securesms.util.adapter.mapping.LayoutFactory
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.thoughtcrime.securesms.util.adapter.mapping.MappingModel
import org.thoughtcrime.securesms.util.adapter.mapping.MappingViewHolder
import org.signal.core.ui.R as CoreUiR
object SelectedContacts {
@JvmStatic
@@ -65,11 +66,11 @@ object SelectedContacts {
if (model.selectedContact.chatType == ChatType.INDIVIDUAL) {
chip.text = context.getString(R.string.ChatFoldersFragment__one_on_one_chats)
chip.chipIcon = AppCompatResources.getDrawable(context, R.drawable.symbol_person_light_24)
chip.chipIconTint = ColorStateList.valueOf(ContextCompat.getColor(context, R.color.signal_colorOnSurface))
chip.chipIconTint = ColorStateList.valueOf(ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurface))
} else {
chip.text = context.getString(R.string.ChatFoldersFragment__groups)
chip.chipIcon = AppCompatResources.getDrawable(context, R.drawable.symbol_group_light_20)
chip.chipIconTint = ColorStateList.valueOf(ContextCompat.getColor(context, R.color.signal_colorOnSurface))
chip.chipIconTint = ColorStateList.valueOf(ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurface))
}
chip.setContact(model.selectedContact)
chip.isCloseIconVisible = true

View File

@@ -305,7 +305,7 @@ open class ContactSearchAdapter(
ActionItem(CoreUiR.drawable.symbol_settings_android_24, context.getString(R.string.ContactSearchItems__story_settings)) {
callbacks.onOpenStorySettings(model.story)
},
ActionItem(CoreUiR.drawable.symbol_trash_24, context.getString(R.string.ContactSearchItems__delete_story), R.color.signal_colorError) {
ActionItem(CoreUiR.drawable.symbol_trash_24, context.getString(R.string.ContactSearchItems__delete_story), CoreUiR.color.signal_colorError) {
callbacks.onDeletePrivateStory(model.story, model.isSelected)
}
)
@@ -544,7 +544,7 @@ open class ContactSearchAdapter(
val suffix: CharSequence? = if (recipient.isSystemContact && !recipient.showVerified) {
SpannableStringBuilder().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,6 +23,7 @@ import org.thoughtcrime.securesms.util.SpanUtil
import org.thoughtcrime.securesms.util.adapter.mapping.PagingMappingAdapter
import org.thoughtcrime.securesms.util.livedata.LiveDataUtil
import java.util.concurrent.TimeUnit
import org.signal.core.ui.R as CoreUiR
/**
* This mediator serves as the delegate for interacting with the ContactSearch* framework.
@@ -225,7 +226,7 @@ class ContactSearchMediator(
MaterialAlertDialogBuilder(fragment.requireContext())
.setTitle(R.string.ContactSearchMediator__delete_story)
.setMessage(fragment.getString(R.string.ContactSearchMediator__delete_the_custom, story.recipient.getDisplayName(fragment.requireContext())))
.setPositiveButton(SpanUtil.color(ContextCompat.getColor(fragment.requireContext(), R.color.signal_colorError), fragment.getString(R.string.ContactSearchMediator__delete))) { _, _ -> viewModel.deletePrivateStory(story) }
.setPositiveButton(SpanUtil.color(ContextCompat.getColor(fragment.requireContext(), CoreUiR.color.signal_colorError), fragment.getString(R.string.ContactSearchMediator__delete))) { _, _ -> viewModel.deletePrivateStory(story) }
.setNegativeButton(android.R.string.cancel) { _, _ -> }
.show()
}

View File

@@ -369,9 +369,9 @@ public class ConversationAdapter
}
if (hasWallpaper && ThemeUtil.isDarkTheme(context)) {
viewHolder.setTextColor(ContextCompat.getColor(context, R.color.signal_colorNeutralInverse));
viewHolder.setTextColor(ContextCompat.getColor(context, org.signal.core.ui.R.color.signal_colorNeutralInverse));
} else {
viewHolder.setTextColor(ContextCompat.getColor(context, R.color.signal_colorOnSurfaceVariant));
viewHolder.setTextColor(ContextCompat.getColor(context, org.signal.core.ui.R.color.signal_colorOnSurfaceVariant));
}
}

View File

@@ -137,7 +137,7 @@ public class ConversationHeaderView extends ConstraintLayout {
if (recipient.isIndividual() && !recipient.isSelf()) {
boolean isLtr = ViewUtil.isLtr(this);
CharSequence chevron = SignalSymbols.getSpannedString(getContext(), SignalSymbols.Weight.BOLD, isLtr ? SignalSymbols.Glyph.CHEVRON_RIGHT : SignalSymbols.Glyph.CHEVRON_LEFT, R.color.signal_colorOutline);
CharSequence chevron = SignalSymbols.getSpannedString(getContext(), SignalSymbols.Weight.BOLD, isLtr ? SignalSymbols.Glyph.CHEVRON_RIGHT : SignalSymbols.Glyph.CHEVRON_LEFT, org.signal.core.ui.R.color.signal_colorOutline);
if (isLtr) {
title.append(" ");
@@ -181,7 +181,7 @@ public class ConversationHeaderView extends ConstraintLayout {
subtitle,
substring,
listener -> onClick.run(),
ContextCompat.getColor(getContext(), R.color.signal_colorOnSurface),
ContextCompat.getColor(getContext(), org.signal.core.ui.R.color.signal_colorOnSurface),
true
);
binding.messageRequestSubtitle.setText(prependIcon(builder, iconRes));
@@ -334,7 +334,7 @@ public class ConversationHeaderView extends ConstraintLayout {
Preconditions.checkNotNull(drawable);
int width = useIntrinsicWidth ? drawable.getIntrinsicWidth() : (int) DimensionUnit.SP.toPixels(16);
drawable.setBounds(0, 0, width, (int) DimensionUnit.SP.toPixels(16));
drawable.setColorFilter(ContextCompat.getColor(getContext(), R.color.signal_colorOnSurface), PorterDuff.Mode.SRC_ATOP);
drawable.setColorFilter(ContextCompat.getColor(getContext(), org.signal.core.ui.R.color.signal_colorOnSurface), PorterDuff.Mode.SRC_ATOP);
return new SpannableStringBuilder()
.append(SpanUtil.buildCenteredImageSpan(drawable))

View File

@@ -947,7 +947,7 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
}
} else {
audioViewStub.get().setTint(getContext().getResources().getColor(R.color.conversation_item_outgoing_audio_foreground_tint));
audioViewStub.get().setProgressAndPlayBackgroundTint(getContext().getResources().getColor(R.color.signal_colorTransparent2));
audioViewStub.get().setProgressAndPlayBackgroundTint(getContext().getResources().getColor(org.signal.core.ui.R.color.signal_colorTransparent2));
}
}
}
@@ -1235,8 +1235,8 @@ public final class ConversationItem extends RelativeLayout implements BindableCo
CallLinks.CallLinkParseResult callLinkParseResult = CallLinks.isCallLink(linkPreview.getUrl()) ? CallLinks.parseUrl(linkPreview.getUrl()) : null;
if (callLinkParseResult != null) {
joinCallLinkStub.setVisibility(View.VISIBLE);
joinCallLinkStub.get().setTextColor(ContextCompat.getColor(context, messageRecord.isOutgoing() ? R.color.signal_light_colorOnPrimary : R.color.signal_colorOnPrimaryContainer));
joinCallLinkStub.get().setBackgroundColor(ContextCompat.getColor(context, messageRecord.isOutgoing() ? R.color.signal_light_colorTransparent2 : R.color.signal_colorOnPrimary));
joinCallLinkStub.get().setTextColor(ContextCompat.getColor(context, messageRecord.isOutgoing() ? org.signal.core.ui.R.color.signal_light_colorOnPrimary : org.signal.core.ui.R.color.signal_colorOnPrimaryContainer));
joinCallLinkStub.get().setBackgroundColor(ContextCompat.getColor(context, messageRecord.isOutgoing() ? org.signal.core.ui.R.color.signal_light_colorTransparent2 : org.signal.core.ui.R.color.signal_colorOnPrimary));
joinCallLinkStub.get().setOnClickListener(v -> {
if (eventListener != null) {
eventListener.onJoinCallLink(callLinkParseResult.getRootKey(), callLinkParseResult.getEpoch());

View File

@@ -796,8 +796,8 @@ public final class ConversationUpdateItem extends FrameLayout
private void presentActionButton(boolean hasWallpaper, boolean isBoostRequest) {
if (isBoostRequest) {
actionButton.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(getContext(), R.color.signal_colorSecondaryContainer)));
actionButton.setTextColor(ColorStateList.valueOf(ContextCompat.getColor(getContext(), R.color.signal_colorOnSecondaryContainer)));
actionButton.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(getContext(), org.signal.core.ui.R.color.signal_colorSecondaryContainer)));
actionButton.setTextColor(ColorStateList.valueOf(ContextCompat.getColor(getContext(), org.signal.core.ui.R.color.signal_colorOnSecondaryContainer)));
} else if (hasWallpaper) {
actionButton.setBackgroundTintList(AppCompatResources.getColorStateList(getContext(), R.color.conversation_update_item_button_background_wallpaper));
actionButton.setTextColor(AppCompatResources.getColorStateList(getContext(), R.color.conversation_update_item_button_text_color_wallpaper));

View File

@@ -3,8 +3,8 @@ package org.thoughtcrime.securesms.conversation.colors
import android.content.Context
import androidx.annotation.ColorInt
import androidx.core.content.ContextCompat
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.avatar.Avatars
import org.signal.core.ui.R as CoreUiR
class AvatarColorPair private constructor(
@ColorInt val foregroundColor: Int,
@@ -15,12 +15,12 @@ class AvatarColorPair private constructor(
fun create(context: Context, avatarColor: AvatarColor): AvatarColorPair {
return when (avatarColor) {
AvatarColor.UNKNOWN -> AvatarColorPair(
foregroundColor = ContextCompat.getColor(context, R.color.signal_colorOnSurface),
backgroundColor = ContextCompat.getColor(context, R.color.signal_colorSurfaceVariant)
foregroundColor = ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurface),
backgroundColor = ContextCompat.getColor(context, CoreUiR.color.signal_colorSurfaceVariant)
)
AvatarColor.ON_SURFACE_VARIANT -> AvatarColorPair(
foregroundColor = ContextCompat.getColor(context, R.color.signal_colorOnSurfaceVariant),
backgroundColor = ContextCompat.getColor(context, R.color.signal_colorSurfaceVariant)
foregroundColor = ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurfaceVariant),
backgroundColor = ContextCompat.getColor(context, CoreUiR.color.signal_colorSurfaceVariant)
)
else -> AvatarColorPair(
foregroundColor = Avatars.getForegroundColor(avatarColor).colorInt,

View File

@@ -7,6 +7,7 @@ import org.signal.core.models.ServiceId
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.recipients.RecipientId
import org.signal.core.ui.R as CoreUiR
/**
* Helper class for all things ChatColors.
@@ -42,27 +43,27 @@ class Colorizer {
@ColorInt
fun getIncomingBodyTextColor(context: Context, hasWallpaper: Boolean): Int {
return if (hasWallpaper) {
ContextCompat.getColor(context, R.color.signal_colorNeutralInverse)
ContextCompat.getColor(context, CoreUiR.color.signal_colorNeutralInverse)
} else {
ContextCompat.getColor(context, R.color.signal_colorOnSurface)
ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurface)
}
}
@ColorInt
fun getIncomingFooterTextColor(context: Context, hasWallpaper: Boolean): Int {
return if (hasWallpaper) {
ContextCompat.getColor(context, R.color.signal_colorNeutralVariantInverse)
ContextCompat.getColor(context, CoreUiR.color.signal_colorNeutralVariantInverse)
} else {
ContextCompat.getColor(context, R.color.signal_colorOnSurfaceVariant)
ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurfaceVariant)
}
}
@ColorInt
fun getIncomingFooterIconColor(context: Context, hasWallpaper: Boolean): Int {
return if (hasWallpaper) {
ContextCompat.getColor(context, R.color.signal_colorNeutralVariantInverse)
ContextCompat.getColor(context, CoreUiR.color.signal_colorNeutralVariantInverse)
} else {
ContextCompat.getColor(context, R.color.signal_colorOnSurfaceVariant)
ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurfaceVariant)
}
}

View File

@@ -16,6 +16,7 @@ import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.FragmentWrapperActivity
import org.thoughtcrime.securesms.contacts.paged.ContactSearchKey
import org.thoughtcrime.securesms.conversation.mutiselect.forward.MultiselectForwardFragment.Companion.RESULT_SELECTION
import org.signal.core.ui.R as CoreUiR
open class MultiselectForwardActivity : FragmentWrapperActivity(), MultiselectForwardFragment.Callback, SearchConfigurationProvider {
@@ -61,7 +62,7 @@ open class MultiselectForwardActivity : FragmentWrapperActivity(), MultiselectFo
}
override fun getDialogBackgroundColor(): Int {
return ContextCompat.getColor(this, R.color.signal_colorBackground)
return ContextCompat.getColor(this, CoreUiR.color.signal_colorBackground)
}
class SelectionContract : ActivityResultContract<MultiselectForwardFragmentArgs, List<ContactSearchKey.RecipientSearchKey>>() {

View File

@@ -14,6 +14,7 @@ import androidx.core.view.marginLeft
import androidx.recyclerview.widget.RecyclerView
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.util.ViewUtil
import org.signal.core.ui.R as CoreUiR
/**
* Serves as the separator between the original message and other messages. Used in [MessageQuotesBottomSheet] and [EditMessageHistoryDialog]
@@ -29,7 +30,7 @@ class OriginalMessageSeparatorDecoration(
private val dividerRect = Rect()
private val dividerPaint: Paint = Paint().apply {
style = Paint.Style.FILL
color = ContextCompat.getColor(context, R.color.signal_colorSurfaceVariant)
color = ContextCompat.getColor(context, CoreUiR.color.signal_colorSurfaceVariant)
}
private var cachedHeader: View? = null

View File

@@ -1549,6 +1549,12 @@ class ConversationFragment :
private fun updateNavigationIconForNormal(isFullScreenPane: Boolean) {
if (!resources.getWindowSizeClass().isSplitPane() || isFullScreenPane) {
binding.toolbar.setNavigationIcon(CoreUiR.drawable.symbol_arrow_start_24)
binding.toolbar.navigationIcon?.setTint(
ContextCompat.getColor(
requireContext(),
if (viewModel.wallpaperSnapshot != null) CoreUiR.color.signal_colorNeutralInverse else CoreUiR.color.signal_colorOnSurface
)
)
binding.toolbar.setNavigationContentDescription(R.string.ConversationFragment__content_description_back_button)
binding.toolbar.setNavigationOnClickListener {
binding.root.hideKeyboard(composeText)
@@ -1631,14 +1637,15 @@ class ConversationFragment :
val toolbarTint = ContextCompat.getColor(
requireContext(),
if (chatWallpaper != null) {
R.color.signal_colorNeutralInverse
CoreUiR.color.signal_colorNeutralInverse
} else {
R.color.signal_colorOnSurface
CoreUiR.color.signal_colorOnSurface
}
)
binding.toolbar.setTitleTextColor(toolbarTint)
binding.toolbar.setActionItemTint(toolbarTint)
binding.toolbar.navigationIcon?.setTint(toolbarTint)
val wallpaperEnabled = chatWallpaper != null
binding.conversationWallpaper.visible = wallpaperEnabled
@@ -1660,7 +1667,7 @@ class ConversationFragment :
binding.scrollDateHeader.setTextColor(
ContextCompat.getColor(
requireContext(),
if (wallpaperEnabled) R.color.sticky_header_foreground_wallpaper else R.color.signal_colorOnSurfaceVariant
if (wallpaperEnabled) R.color.sticky_header_foreground_wallpaper else CoreUiR.color.signal_colorOnSurfaceVariant
)
)
@@ -1673,7 +1680,7 @@ class ConversationFragment :
val navColor = if (chatWallpaper != null) {
R.color.conversation_navigation_wallpaper
} else {
R.color.signal_colorBackground
CoreUiR.color.signal_colorBackground
}
binding.navBar.setBackgroundColor(ContextCompat.getColor(requireContext(), navColor))
@@ -3854,9 +3861,9 @@ class ConversationFragment :
val toolbarTextAndIconColor = ContextCompat.getColor(
requireContext(),
if (viewModel.wallpaperSnapshot != null) {
R.color.signal_colorNeutralInverse
CoreUiR.color.signal_colorNeutralInverse
} else {
R.color.signal_colorOnSurface
CoreUiR.color.signal_colorOnSurface
}
)

View File

@@ -24,6 +24,7 @@ import org.thoughtcrime.securesms.util.layoutIn
import org.thoughtcrime.securesms.util.toLocalDate
import java.util.Locale
import kotlin.math.max
import org.signal.core.ui.R as CoreUiR
private typealias ConversationElement = MappingModel<*>
@@ -308,10 +309,10 @@ class ConversationItemDecorations(hasWallpaper: Boolean = false, private val sch
fun updateForWallpaper() {
if (hasWallpaper) {
date.setBackgroundResource(R.drawable.wallpaper_bubble_background_18)
date.setTextColor(ContextCompat.getColor(itemView.context, R.color.signal_colorNeutralInverse))
date.setTextColor(ContextCompat.getColor(itemView.context, CoreUiR.color.signal_colorNeutralInverse))
} else {
date.background = null
date.setTextColor(ContextCompat.getColor(itemView.context, R.color.signal_colorOnSurfaceVariant))
date.setTextColor(ContextCompat.getColor(itemView.context, CoreUiR.color.signal_colorOnSurfaceVariant))
}
}
}

View File

@@ -7,6 +7,7 @@ import androidx.lifecycle.LifecycleOwner
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.util.Material3OnScrollHelper
import org.thoughtcrime.securesms.wallpaper.ChatWallpaper
import org.signal.core.ui.R as CoreUiR
/**
* Scroll helper to manage the color state of the top bar and status bar.
@@ -30,11 +31,11 @@ class ConversationToolbarOnScrollHelper(
@ColorRes
private fun getActiveToolbarColor(hasWallpaper: Boolean): Int {
return if (hasWallpaper) R.color.conversation_toolbar_color_wallpaper_scrolled else R.color.signal_colorSurface2
return if (hasWallpaper) R.color.conversation_toolbar_color_wallpaper_scrolled else CoreUiR.color.signal_colorSurface2
}
@ColorRes
private fun getInactiveToolbarColor(hasWallpaper: Boolean): Int {
return if (hasWallpaper) R.color.conversation_toolbar_color_wallpaper else R.color.signal_colorBackground
return if (hasWallpaper) R.color.conversation_toolbar_color_wallpaper else CoreUiR.color.signal_colorBackground
}
}

View File

@@ -22,6 +22,7 @@ import org.thoughtcrime.securesms.messagerequests.MessageRequestsBottomView
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.util.SpanUtil
import org.thoughtcrime.securesms.util.visible
import org.signal.core.ui.R as CoreUiR
/**
* A one-stop-view for all your conversation input disabled needs.
@@ -184,7 +185,7 @@ class DisabledInputView @JvmOverloads constructor(
}
fun setWallpaperEnabled(wallpaperEnabled: Boolean) {
color = ContextCompat.getColor(context, if (wallpaperEnabled) R.color.wallpaper_bubble_color else R.color.signal_colorBackground)
color = ContextCompat.getColor(context, if (wallpaperEnabled) R.color.wallpaper_bubble_color else CoreUiR.color.signal_colorBackground)
setBackgroundColor(color)
}

View File

@@ -13,6 +13,7 @@ import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.conversation.ConversationMessage
import org.thoughtcrime.securesms.conversation.v2.items.V2ConversationItemUtils.isThumbnailAtBottomOfBubble
import org.thoughtcrime.securesms.util.hasNoBubble
import org.signal.core.ui.R as CoreUiR
/**
* Color information for conversation items.
@@ -25,7 +26,7 @@ class V2ConversationItemTheme(
@ColorInt
fun getReplyIconBackgroundColor(): Int {
return if (conversationContext.hasWallpaper()) {
ContextCompat.getColor(context, R.color.signal_colorSurface1)
ContextCompat.getColor(context, CoreUiR.color.signal_colorSurface1)
} else {
Color.TRANSPARENT
}
@@ -36,7 +37,7 @@ class V2ConversationItemTheme(
conversationMessage: ConversationMessage
): Int {
if (conversationMessage.messageRecord.isThumbnailAtBottomOfBubble(context)) {
return ContextCompat.getColor(context, R.color.signal_colorOnCustom)
return ContextCompat.getColor(context, CoreUiR.color.signal_colorOnCustom)
}
if (conversationMessage.messageRecord.isOutgoing && conversationMessage.messageRecord.hasNoBubble(context) && !conversationContext.hasWallpaper()) {

View File

@@ -12,6 +12,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
/**
* RecyclerView adapter for the chat folders displayed on conversation list
@@ -55,14 +56,14 @@ class ChatFolderAdapter(val callbacks: Callbacks) : MappingAdapter() {
}
if (model.isSelected) {
itemView.backgroundTintList = if (callbacks.isScrolled()) {
ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.signal_colorBackground))
ColorStateList.valueOf(ContextCompat.getColor(itemView.context, CoreUiR.color.signal_colorBackground))
} else {
ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.signal_colorSurface2))
ColorStateList.valueOf(ContextCompat.getColor(itemView.context, CoreUiR.color.signal_colorSurface2))
}
name.setTextColor(ContextCompat.getColor(itemView.context, R.color.signal_colorOnSurface))
name.setTextColor(ContextCompat.getColor(itemView.context, CoreUiR.color.signal_colorOnSurface))
} else {
itemView.backgroundTintList = ColorStateList.valueOf(ContextCompat.getColor(itemView.context, R.color.transparent))
name.setTextColor(ContextCompat.getColor(itemView.context, R.color.signal_colorOnSurfaceVariant))
name.setTextColor(ContextCompat.getColor(itemView.context, CoreUiR.color.signal_colorOnSurfaceVariant))
}
}

View File

@@ -1740,7 +1740,7 @@ public class ConversationListFragment extends MainFragment implements Conversati
if (absoluteDx > 0) {
if (archiveDrawable == null) {
archiveDrawable = Objects.requireNonNull(AppCompatResources.getDrawable(requireContext(), getArchiveIconRes()));
archiveDrawable.setColorFilter(new SimpleColorFilter(ContextCompat.getColor(requireContext(), R.color.signal_colorOnPrimary)));
archiveDrawable.setColorFilter(new SimpleColorFilter(ContextCompat.getColor(requireContext(), org.signal.core.ui.R.color.signal_colorOnPrimary)));
archiveDrawable.setBounds(0, 0, archiveDrawable.getIntrinsicWidth(), archiveDrawable.getIntrinsicHeight());
}

View File

@@ -174,7 +174,7 @@ public final class ConversationListItem extends ConstraintLayout implements Bind
this.unreadMentions = findViewById(R.id.conversation_list_item_unread_mentions_indicator);
this.thumbSize = (int) DimensionUnit.SP.toPixels(16f);
this.thumbTarget = new GlideLiveDataTarget(thumbSize, thumbSize);
this.searchStyleFactory = () -> new CharacterStyle[] { new ForegroundColorSpan(ContextCompat.getColor(getContext(), R.color.signal_colorOnSurface)), SpanUtil.getBoldSpan() };
this.searchStyleFactory = () -> new CharacterStyle[] { new ForegroundColorSpan(ContextCompat.getColor(getContext(), org.signal.core.ui.R.color.signal_colorOnSurface)), SpanUtil.getBoldSpan() };
getLayoutTransition().setDuration(150);
}
@@ -246,7 +246,7 @@ public final class ConversationListItem extends ConstraintLayout implements Bind
if (appendSystemContactIcon && recipient.get().isSystemContact() && !recipient.get().getShowVerified()) {
suffix = new SpannableStringBuilder();
Drawable drawable = ContextUtil.requireDrawable(getContext(), R.drawable.symbol_person_circle_24);
drawable.setTint(ContextCompat.getColor(getContext(), R.color.signal_colorOnSurface));
drawable.setTint(ContextCompat.getColor(getContext(), org.signal.core.ui.R.color.signal_colorOnSurface));
SpanUtil.appendCenteredImageSpan(suffix, drawable, 16, 16);
}

View File

@@ -26,6 +26,7 @@ import kotlin.math.max
import kotlin.math.min
import kotlin.time.Duration
import kotlin.time.Duration.Companion.milliseconds
import org.signal.core.ui.R as CoreUiR
/**
* Encapsulates the push / pull latch for enabling and disabling
@@ -78,8 +79,8 @@ class ConversationListFilterPullView @JvmOverloads constructor(
private var animateHelpText = 0
private var helpTextStartFraction = 0.35f
private val pillDefaultBackgroundTint = ContextCompat.getColor(context, R.color.signal_colorSecondaryContainer)
private val pillWillCloseBackgroundTint = ContextCompat.getColor(context, R.color.signal_colorSurface1)
private val pillDefaultBackgroundTint = ContextCompat.getColor(context, CoreUiR.color.signal_colorSecondaryContainer)
private val pillWillCloseBackgroundTint = ContextCompat.getColor(context, CoreUiR.color.signal_colorSurface1)
fun setPillText(@StringRes textId: Int) {
binding.filterText.setText(textId)

View File

@@ -14,10 +14,10 @@ import androidx.annotation.Px
import androidx.core.content.ContextCompat
import com.google.android.material.animation.ArgbEvaluatorCompat
import org.signal.core.util.dp
import org.thoughtcrime.securesms.R
import kotlin.math.max
import kotlin.time.Duration
import kotlin.time.Duration.Companion.milliseconds
import org.signal.core.ui.R as CoreUiR
/**
* Renders the filter-circle at any given position
@@ -77,10 +77,10 @@ class FilterCircleView @JvmOverloads constructor(
}
private val circleRadius = 38.dp / 2f
private val circleBackgroundColor = ContextCompat.getColor(context, R.color.signal_colorSurface1)
private val strokeColor = ContextCompat.getColor(context, R.color.signal_colorSecondary)
private val circleActiveBackgroundColor = ContextCompat.getColor(context, R.color.signal_colorSecondaryContainer)
private val strokeActiveColor = ContextCompat.getColor(context, R.color.signal_colorPrimary)
private val circleBackgroundColor = ContextCompat.getColor(context, CoreUiR.color.signal_colorSurface1)
private val strokeColor = ContextCompat.getColor(context, CoreUiR.color.signal_colorSecondary)
private val circleActiveBackgroundColor = ContextCompat.getColor(context, CoreUiR.color.signal_colorSecondaryContainer)
private val strokeActiveColor = ContextCompat.getColor(context, CoreUiR.color.signal_colorPrimary)
private var circleColorAnimator: ValueAnimator? = null
private var strokeColorAnimator: ValueAnimator? = null

View File

@@ -25,6 +25,7 @@ import org.thoughtcrime.securesms.util.MediaUtil
import org.thoughtcrime.securesms.util.visible
import kotlin.time.Duration
import kotlin.time.Duration.Companion.milliseconds
import org.signal.core.ui.R as CoreUiR
/**
* The bottom bar for the media preview. This includes the standard seek bar as well as playback controls,
@@ -128,7 +129,7 @@ class LottieAnimatedButton @JvmOverloads constructor(
) : LottieAnimationView(context, attrs) {
init {
addValueCallback(KeyPath("**"), LottieProperty.COLOR) { ContextCompat.getColor(context, R.color.signal_colorOnSurface) }
addValueCallback(KeyPath("**"), LottieProperty.COLOR) { ContextCompat.getColor(context, CoreUiR.color.signal_colorOnSurface) }
}
override fun onTouchEvent(event: MotionEvent?): Boolean {

View File

@@ -21,6 +21,7 @@ import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaController
import org.thoughtcrime.securesms.components.voice.VoiceNoteMediaControllerOwner
import org.thoughtcrime.securesms.util.WindowUtil
import org.signal.core.ui.R as CoreUiR
class MediaPreviewV2Activity : PassphraseRequiredActivity(), VoiceNoteMediaControllerOwner {
@@ -124,7 +125,7 @@ class MediaPreviewV2Activity : PassphraseRequiredActivity(), VoiceNoteMediaContr
voiceNoteMediaController = VoiceNoteMediaController(this, false)
val systemBarColor = ContextCompat.getColor(this, R.color.signal_dark_colorSurface)
val systemBarColor = ContextCompat.getColor(this, CoreUiR.color.signal_dark_colorSurface)
window.statusBarColor = systemBarColor
window.navigationBarColor = systemBarColor
WindowUtil.clearLightStatusBar(window)

View File

@@ -78,6 +78,7 @@ import org.thoughtcrime.securesms.util.visible
import java.util.Locale
import java.util.concurrent.TimeUnit
import kotlin.math.roundToInt
import org.signal.core.ui.R as CoreUiR
class MediaPreviewV2Fragment :
LoggingFragment(R.layout.fragment_media_preview_v2),
@@ -480,7 +481,7 @@ class MediaPreviewV2Fragment :
}
val builder = SpannableStringBuilder(text)
val onSurfaceColor = ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurface)
val onSurfaceColor = ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurface)
val chevron = ContextUtil.requireDrawable(requireContext(), R.drawable.ic_chevron_end_24)
chevron.colorFilter = PorterDuffColorFilter(onSurfaceColor, PorterDuff.Mode.SRC_IN)

View File

@@ -52,6 +52,7 @@ import org.thoughtcrime.securesms.util.FullscreenHelper
import org.thoughtcrime.securesms.util.WindowUtil
import org.thoughtcrime.securesms.util.navigation.safeNavigate
import org.thoughtcrime.securesms.util.visible
import org.signal.core.ui.R as CoreUiR
class MediaSelectionActivity :
PassphraseRequiredActivity(),
@@ -207,8 +208,8 @@ class MediaSelectionActivity :
}
private fun animateTextStyling(selectedSwitch: TextView, unselectedSwitch: TextView, duration: Long) {
val offTextColor = ContextCompat.getColor(this, R.color.signal_colorOnSurface)
val onTextColor = ContextCompat.getColor(this, R.color.signal_colorSecondaryContainer)
val offTextColor = ContextCompat.getColor(this, CoreUiR.color.signal_colorOnSurface)
val onTextColor = ContextCompat.getColor(this, CoreUiR.color.signal_colorSecondaryContainer)
animateInShadowLayerValueAnimator?.cancel()
animateInTextColorValueAnimator?.cancel()

View File

@@ -70,6 +70,7 @@ import java.io.IOException
import java.util.Locale
import java.util.concurrent.TimeUnit
import kotlin.math.roundToInt
import org.signal.core.ui.R as CoreUiR
/**
* Allows the user to view and edit selected media.
@@ -503,7 +504,7 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment), Schedul
val sendButtonBackgroundTint = when {
!enabled -> ContextCompat.getColor(requireContext(), R.color.core_grey_50)
recipient != null -> recipient.chatColors.asSingleColor()
sendType.usesSignalTransport -> ContextCompat.getColor(requireContext(), R.color.signal_colorOnSecondaryContainer)
sendType.usesSignalTransport -> ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSecondaryContainer)
else -> ContextCompat.getColor(requireContext(), R.color.core_grey_50)
}
@@ -513,9 +514,9 @@ class MediaReviewFragment : Fragment(R.layout.v2_media_review_fragment), Schedul
}
val sendButtonForegroundTint = when {
!enabled -> ContextCompat.getColor(requireContext(), R.color.signal_colorSecondaryContainer)
recipient != null -> ContextCompat.getColor(requireContext(), R.color.signal_colorOnCustom)
else -> ContextCompat.getColor(requireContext(), R.color.signal_colorSecondaryContainer)
!enabled -> ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorSecondaryContainer)
recipient != null -> ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnCustom)
else -> ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorSecondaryContainer)
}
sendButton.setImageDrawable(sendButtonForegroundDrawable)

View File

@@ -10,6 +10,7 @@ import org.thoughtcrime.securesms.components.settings.DSLSettingsText
import org.thoughtcrime.securesms.components.settings.configure
import org.thoughtcrime.securesms.components.settings.conversation.preferences.LargeIconClickPreference
import org.thoughtcrime.securesms.util.fragments.requireListener
import org.signal.core.ui.R as CoreUiR
class ChooseStoryTypeBottomSheet : DSLSettingsBottomSheetFragment(
layoutId = R.layout.dsl_settings_bottom_sheet
@@ -39,9 +40,9 @@ class ChooseStoryTypeBottomSheet : DSLSettingsBottomSheetFragment(
),
icon = DSLSettingsIcon.from(
iconId = R.drawable.symbol_stories_24,
iconTintId = R.color.signal_colorOnSurface,
iconTintId = CoreUiR.color.signal_colorOnSurface,
backgroundId = R.drawable.circle_tintable,
backgroundTint = R.color.signal_colorSurface5,
backgroundTint = CoreUiR.color.signal_colorSurface5,
insetPx = DimensionUnit.DP.toPixels(8f).toInt()
),
onClick = {
@@ -61,9 +62,9 @@ class ChooseStoryTypeBottomSheet : DSLSettingsBottomSheetFragment(
),
icon = DSLSettingsIcon.from(
iconId = R.drawable.ic_group_outline_24,
iconTintId = R.color.signal_colorOnSurface,
iconTintId = CoreUiR.color.signal_colorOnSurface,
backgroundId = R.drawable.circle_tintable,
backgroundTint = R.color.signal_colorSurface5,
backgroundTint = CoreUiR.color.signal_colorSurface5,
insetPx = DimensionUnit.DP.toPixels(8f).toInt()
),
onClick = {

View File

@@ -55,6 +55,7 @@ import org.thoughtcrime.securesms.keyvalue.SignalStore
import org.thoughtcrime.securesms.main.EmptyMegaphoneActionController
import org.thoughtcrime.securesms.profiles.manage.EditProfileActivity
import org.thoughtcrime.securesms.wallpaper.ChatWallpaperActivity
import org.signal.core.ui.R as CoreUiR
/**
* The onboarding megaphone (list of cards)
@@ -144,7 +145,7 @@ private fun OnboardingMegaphoneListItem(
) {
Icon(
imageVector = SignalIcons.X.imageVector,
tint = colorResource(R.color.signal_light_colorOutline),
tint = colorResource(CoreUiR.color.signal_light_colorOutline),
contentDescription = stringResource(R.string.Material3SearchToolbar__close)
)
}
@@ -159,7 +160,7 @@ private fun OnboardingMegaphoneListItem(
Icon(
imageVector = ImageVector.vectorResource(onboardingListItem.icon),
contentDescription = null,
tint = colorResource(R.color.signal_light_colorOnSurface),
tint = colorResource(CoreUiR.color.signal_light_colorOnSurface),
modifier = Modifier.size(24.dp)
)
@@ -168,7 +169,7 @@ private fun OnboardingMegaphoneListItem(
style = MaterialTheme.typography.labelMedium,
textAlign = TextAlign.Center,
maxLines = 2,
color = colorResource(R.color.signal_light_colorOnSurface),
color = colorResource(CoreUiR.color.signal_light_colorOnSurface),
overflow = TextOverflow.Ellipsis,
modifier = Modifier.padding(horizontal = 8.dp)
)

View File

@@ -38,7 +38,7 @@ public class RationaleDialog {
for (int i = 0; i < drawables.length; i++) {
Drawable drawable = Objects.requireNonNull(ContextCompat.getDrawable(context, drawables[i]));
DrawableCompat.setTint(drawable, ContextCompat.getColor(context, R.color.signal_colorOnPrimaryContainer));
DrawableCompat.setTint(drawable, ContextCompat.getColor(context, org.signal.core.ui.R.color.signal_colorOnPrimaryContainer));
ImageView imageView = new ImageView(context);
imageView.setImageDrawable(drawable);

View File

@@ -213,7 +213,7 @@ public class CreateProfileFragment extends LoggingFragment {
}));
binding.groupDescriptionText.setVisibility(View.GONE);
binding.profileDescriptionText.setLearnMoreVisible(true);
binding.profileDescriptionText.setLinkColor(ContextCompat.getColor(requireContext(), R.color.signal_colorPrimary));
binding.profileDescriptionText.setLinkColor(ContextCompat.getColor(requireContext(), org.signal.core.ui.R.color.signal_colorPrimary));
binding.profileDescriptionText.setOnLinkClickListener(v -> CommunicationActions.openBrowserLink(requireContext(), getString(R.string.EditProfileFragment__support_link)));
getParentFragmentManager().setFragmentResultListener(WhoCanFindMeByPhoneNumberFragment.REQUEST_KEY, getViewLifecycleOwner(), (requestKey, result) -> {

View File

@@ -18,6 +18,7 @@ import org.thoughtcrime.securesms.components.settings.DSLSettingsText
import org.thoughtcrime.securesms.components.settings.configure
import org.thoughtcrime.securesms.databinding.WhoCanFindMeByPhoneNumberFragmentBinding
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.signal.core.ui.R as CoreUiR
/**
* Allows the user to select who can see their phone number during registration.
@@ -78,7 +79,7 @@ class WhoCanFindMeByPhoneNumberFragment : DSLSettingsFragment(
WhoCanFindMeByPhoneNumberState.NOBODY -> R.string.WhoCanSeeMyPhoneNumberFragment__nobody_will_be_able
},
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant))
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)
)
}

View File

@@ -127,7 +127,7 @@ public class UsernameEditFragment extends LoggingFragment {
return false;
});
binding.usernameDescription.setLinkColor(ContextCompat.getColor(requireContext(), R.color.signal_colorPrimary));
binding.usernameDescription.setLinkColor(ContextCompat.getColor(requireContext(), org.signal.core.ui.R.color.signal_colorPrimary));
binding.usernameDescription.setLearnMoreVisible(true);
binding.usernameDescription.setOnLinkClickListener(this::onLearnMore);
@@ -185,7 +185,7 @@ public class UsernameEditFragment extends LoggingFragment {
case DISCRIMINATOR_CANNOT_START_WITH_0 -> getString(R.string.UsernameEditFragment__this_number_cant_start_with_0);
};
int colorRes = error != null ? R.color.signal_colorError : R.color.signal_colorPrimary;
int colorRes = error != null ? org.signal.core.ui.R.color.signal_colorError : org.signal.core.ui.R.color.signal_colorPrimary;
int color = ContextCompat.getColor(requireContext(), colorRes);
binding.usernameTextFocusedStroke.setBackgroundColor(color);

View File

@@ -21,6 +21,7 @@ import org.thoughtcrime.securesms.components.settings.configure
import org.thoughtcrime.securesms.recipients.Recipient
import org.thoughtcrime.securesms.util.FragmentResultContract
import org.thoughtcrime.securesms.util.Util
import org.signal.core.ui.R as CoreUiR
/**
* Allows the user to either share their username directly or to copy it to their clipboard.
@@ -54,7 +55,7 @@ class UsernameShareBottomSheet : DSLSettingsBottomSheetFragment() {
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.CenterModifier,
DSLSettingsText.ColorModifier(
ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant)
ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant)
)
)
)

View File

@@ -80,7 +80,7 @@ public final class ReactionsBottomSheetDialogFragment extends BottomSheetDialogF
Dialog dialog = super.onCreateDialog(savedInstanceState);
FullscreenHelper.showSystemUI(dialog.getWindow());
WindowUtil.setNavigationBarColor(requireContext(), dialog.getWindow(), ContextCompat.getColor(requireContext(), R.color.signal_colorSurface1));
WindowUtil.setNavigationBarColor(requireContext(), dialog.getWindow(), ContextCompat.getColor(requireContext(), org.signal.core.ui.R.color.signal_colorSurface1));
return dialog;
}

View File

@@ -59,6 +59,7 @@ import org.thoughtcrime.securesms.recipients.ui.RecipientPicker.DisplayMode.Comp
import org.thoughtcrime.securesms.recipients.ui.RecipientPicker.KeyboardType
import java.util.Optional
import java.util.function.Consumer
import org.signal.core.ui.R as CoreUiR
private typealias AndroidKeyboardType = androidx.compose.ui.text.input.KeyboardType
@@ -321,7 +322,7 @@ private suspend fun showItemContextMenu(
val messageItem = ActionItem(
iconRes = R.drawable.ic_chat_message_24,
title = context.getString(R.string.NewConversationActivity__message),
tintRes = R.color.signal_colorOnSurface,
tintRes = CoreUiR.color.signal_colorOnSurface,
action = { callbacks.onMessage(recipient.id) }
)
add(messageItem)
@@ -330,7 +331,7 @@ private suspend fun showItemContextMenu(
val voiceCallItem = ActionItem(
iconRes = R.drawable.ic_phone_right_24,
title = context.getString(R.string.NewConversationActivity__audio_call),
tintRes = R.color.signal_colorOnSurface,
tintRes = CoreUiR.color.signal_colorOnSurface,
action = { callbacks.onVoiceCall(recipient) }
)
add(voiceCallItem)
@@ -340,7 +341,7 @@ private suspend fun showItemContextMenu(
val videoCallItem = ActionItem(
iconRes = R.drawable.ic_video_call_24,
title = context.getString(R.string.NewConversationActivity__video_call),
tintRes = R.color.signal_colorOnSurface,
tintRes = CoreUiR.color.signal_colorOnSurface,
action = { callbacks.onVideoCall(recipient) }
)
add(videoCallItem)
@@ -350,7 +351,7 @@ private suspend fun showItemContextMenu(
val removeItem = ActionItem(
iconRes = R.drawable.ic_minus_circle_20,
title = context.getString(R.string.NewConversationActivity__remove),
tintRes = R.color.signal_colorOnSurface,
tintRes = CoreUiR.color.signal_colorOnSurface,
action = { callbacks.onRemove(recipient) }
)
add(removeItem)
@@ -360,7 +361,7 @@ private suspend fun showItemContextMenu(
val blockItem = ActionItem(
iconRes = R.drawable.ic_block_tinted_24,
title = context.getString(R.string.NewConversationActivity__block),
tintRes = R.color.signal_colorError,
tintRes = CoreUiR.color.signal_colorError,
action = { callbacks.onBlock(recipient) }
)
add(blockItem)

View File

@@ -47,6 +47,7 @@ import org.thoughtcrime.securesms.util.SpanUtil
import org.thoughtcrime.securesms.util.ViewUtil
import org.thoughtcrime.securesms.util.WindowUtil
import org.thoughtcrime.securesms.util.visible
import org.signal.core.ui.R as CoreUiR
/**
* A bottom sheet that shows some simple recipient details, as well as some actions (like calling,
@@ -230,7 +231,7 @@ class RecipientBottomSheetDialogFragment : FixedRoundedCornerBottomSheetDialogFr
requireContext(),
SignalSymbols.Weight.BOLD,
if (isLtr) SignalSymbols.Glyph.CHEVRON_RIGHT else SignalSymbols.Glyph.CHEVRON_LEFT,
R.color.signal_colorOutline
CoreUiR.color.signal_colorOutline
)
if (isLtr) {

View File

@@ -26,6 +26,7 @@ import org.thoughtcrime.securesms.safety.review.SafetyNumberReviewConnectionsFra
import org.thoughtcrime.securesms.util.fragments.findListener
import org.thoughtcrime.securesms.util.visible
import org.thoughtcrime.securesms.verify.VerifyIdentityFragment
import org.signal.core.ui.R as CoreUiR
/**
* Displays a bottom sheet containing information about safety number changes and allows the user to
@@ -108,7 +109,7 @@ class SafetyNumberBottomSheetFragment : DSLSettingsBottomSheetFragment(layoutId
customPref(
SplashImage.Model(
R.drawable.ic_safety_number_24,
R.color.signal_colorOnSurface
CoreUiR.color.signal_colorOnSurface
)
)
@@ -144,7 +145,7 @@ class SafetyNumberBottomSheetFragment : DSLSettingsBottomSheetFragment(layoutId
R.string.SafetyNumberBottomSheetFragment__no_more_recipients_to_show,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyLarge),
DSLSettingsText.CenterModifier,
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant))
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)
)
@@ -166,7 +167,7 @@ class SafetyNumberBottomSheetFragment : DSLSettingsBottomSheetFragment(layoutId
ActionItem(
iconRes = R.drawable.ic_safety_number_24,
title = getString(R.string.SafetyNumberBottomSheetFragment__verify_safety_number),
tintRes = R.color.signal_colorOnSurface,
tintRes = CoreUiR.color.signal_colorOnSurface,
action = {
lifecycleDisposable += viewModel.getIdentityRecord(model.recipient.id).subscribe { record ->
VerifyIdentityFragment.createDialog(
@@ -184,7 +185,7 @@ class SafetyNumberBottomSheetFragment : DSLSettingsBottomSheetFragment(layoutId
ActionItem(
iconRes = R.drawable.ic_circle_x_24,
title = getString(R.string.SafetyNumberBottomSheetFragment__remove_from_story),
tintRes = R.color.signal_colorOnSurface,
tintRes = CoreUiR.color.signal_colorOnSurface,
action = {
viewModel.removeRecipientFromSelectedStories(model.recipient.id)
}
@@ -197,7 +198,7 @@ class SafetyNumberBottomSheetFragment : DSLSettingsBottomSheetFragment(layoutId
ActionItem(
iconRes = R.drawable.ic_circle_x_24,
title = getString(R.string.SafetyNumberReviewConnectionsFragment__remove),
tintRes = R.color.signal_colorOnSurface,
tintRes = CoreUiR.color.signal_colorOnSurface,
action = {
viewModel.removeDestination(model.recipient.id)
}

View File

@@ -22,6 +22,7 @@ import org.thoughtcrime.securesms.safety.SafetyNumberBucketRowItem
import org.thoughtcrime.securesms.safety.SafetyNumberRecipientRowItem
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.thoughtcrime.securesms.verify.VerifyIdentityFragment
import org.signal.core.ui.R as CoreUiR
/**
* Full-screen fragment which displays the list of users who have safety number changes.
@@ -60,7 +61,7 @@ class SafetyNumberReviewConnectionsFragment : DSLSettingsFragment(
title = DSLSettingsText.from(
resources.getQuantityString(R.plurals.SafetyNumberReviewConnectionsFragment__d_recipients_may_have, recipientCount, recipientCount),
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant))
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)
)
@@ -110,7 +111,7 @@ class SafetyNumberReviewConnectionsFragment : DSLSettingsFragment(
ActionItem(
iconRes = R.drawable.ic_circle_x_24,
title = getString(R.string.SafetyNumberReviewConnectionsFragment__remove),
tintRes = R.color.signal_colorOnSurface,
tintRes = CoreUiR.color.signal_colorOnSurface,
action = {
viewModel.removeDestination(model.recipient.id)
}
@@ -134,7 +135,7 @@ class SafetyNumberReviewConnectionsFragment : DSLSettingsFragment(
ActionItem(
iconRes = R.drawable.ic_circle_x_24,
title = getString(R.string.SafetyNumberReviewConnectionsFragment__remove_all),
tintRes = R.color.signal_colorOnSurface,
tintRes = CoreUiR.color.signal_colorOnSurface,
action = {
viewModel.removeAll(bucket)
}

View File

@@ -271,7 +271,7 @@ public final class ImageEditorFragment extends Fragment implements ImageEditorHu
restoredModel = null;
}
@ColorInt int blackoutColor = ContextCompat.getColor(requireContext(), R.color.signal_colorBackground);
@ColorInt int blackoutColor = ContextCompat.getColor(requireContext(), org.signal.core.ui.R.color.signal_colorBackground);
if (editorModel == null) {
switch (mode) {
case AVATAR_EDIT:

View File

@@ -276,7 +276,7 @@ public class KeyCachingService extends Service {
builder.setContentTitle(getString(R.string.KeyCachingService_passphrase_cached));
builder.setContentText(getString(R.string.KeyCachingService_signal_passphrase_cached));
builder.setSmallIcon(R.drawable.ic_notification_unlocked);
builder.setColor(ContextCompat.getColor(this, R.color.signal_light_colorSecondary));
builder.setColor(ContextCompat.getColor(this, org.signal.core.ui.R.color.signal_light_colorSecondary));
builder.setWhen(0);
builder.setPriority(Notification.PRIORITY_MIN);
builder.setOngoing(true);

View File

@@ -50,6 +50,7 @@ import org.thoughtcrime.securesms.stories.dialogs.StoryDialogs
import org.thoughtcrime.securesms.util.navigation.safeNavigate
import org.whispersystems.signalservice.api.push.DistributionId
import java.util.UUID
import org.signal.core.ui.R as CoreUiR
/**
* Settings fragment for private stories.
@@ -195,7 +196,7 @@ private fun PrivateStorySettingsScreen(
item {
Rows.TextRow(
text = stringResource(R.string.PrivateStorySettingsFragment__delete_custom_story),
foregroundTint = colorResource(R.color.signal_colorError),
foregroundTint = colorResource(CoreUiR.color.signal_colorError),
onClick = { callback.onDeleteStoryClick(state.privateStory.name) }
)
}

View File

@@ -20,6 +20,7 @@ import org.thoughtcrime.securesms.conversation.ConversationIntents
import org.thoughtcrime.securesms.stories.dialogs.StoryDialogs
import org.thoughtcrime.securesms.stories.settings.custom.PrivateStoryItem
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.signal.core.ui.R as CoreUiR
/**
* Displays who can see a group story and gives the user an option to remove it.
@@ -86,7 +87,7 @@ class GroupStorySettingsFragment : DSLSettingsFragment(menuId = R.menu.story_gro
title = DSLSettingsText.from(
getString(R.string.GroupStorySettingsFragment__members_of_the_group_s, state.name),
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant))
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)
)
@@ -95,7 +96,7 @@ class GroupStorySettingsFragment : DSLSettingsFragment(menuId = R.menu.story_gro
clickPref(
title = DSLSettingsText.from(
R.string.GroupStorySettingsFragment__remove_group_story,
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), R.color.signal_colorError))
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorError))
),
onClick = {
StoryDialogs.removeGroupStory(

View File

@@ -28,6 +28,7 @@ import org.thoughtcrime.securesms.util.BottomSheetUtil
import org.thoughtcrime.securesms.util.adapter.mapping.MappingAdapter
import org.thoughtcrime.securesms.util.adapter.mapping.PagingMappingAdapter
import org.thoughtcrime.securesms.util.navigation.safeNavigate
import org.signal.core.ui.R as CoreUiR
/**
* Allows the user to view their stories they can send to and modify settings.
@@ -111,7 +112,7 @@ class StoriesPrivacySettingsFragment :
title = DSLSettingsText.from(
R.string.StoriesPrivacySettingsFragment__story_updates_automatically_disappear,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant))
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
)
)
@@ -173,7 +174,7 @@ class StoriesPrivacySettingsFragment :
summary = DSLSettingsText.from(
R.string.StoriesPrivacySettingsFragment__if_you_opt_out,
DSLSettingsText.TextAppearanceModifier(R.style.Signal_Text_BodyMedium),
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant))
DSLSettingsText.ColorModifier(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant))
),
onClick = {
StoryDialogs.disableStories(requireContext(), viewModel.userHasActiveStories) {

View File

@@ -107,6 +107,7 @@ import java.util.concurrent.TimeUnit
import kotlin.math.abs
import kotlin.math.max
import kotlin.math.min
import org.signal.core.ui.R as CoreUiR
class StoryViewerPageFragment :
Fragment(R.layout.stories_viewer_fragment_page),
@@ -1097,7 +1098,7 @@ class StoryViewerPageFragment :
sendingBar.visible = false
viewsAndReplies.isEnabled = true
viewsAndReplies.iconTint = ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurface))
viewsAndReplies.iconTint = ColorStateList.valueOf(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurface))
when (replyState) {
StoryViewerPageState.ReplyState.SENDING -> presentSendingBottomBar()
@@ -1115,7 +1116,7 @@ class StoryViewerPageFragment :
indicatorSize = 18.dp
indicatorInset = 2.dp
trackColor = ContextCompat.getColor(requireContext(), R.color.transparent_white_40)
indicatorColors = intArrayOf(ContextCompat.getColor(requireContext(), R.color.signal_dark_colorNeutralInverse))
indicatorColors = intArrayOf(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_dark_colorNeutralInverse))
trackThickness = 2.dp
}
).apply {
@@ -1136,14 +1137,14 @@ class StoryViewerPageFragment :
private fun presentPartialSendBottomBar() {
viewsAndReplies.setIconResource(R.drawable.symbol_error_circle_24)
viewsAndReplies.iconTint = ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.signal_light_colorError))
viewsAndReplies.iconTint = ColorStateList.valueOf(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_light_colorError))
viewsAndReplies.iconSize = 20.dp
viewsAndReplies.setText(R.string.StoryViewerPageFragment__partially_sent)
}
private fun presentSendFailureBottomBar() {
viewsAndReplies.setIconResource(R.drawable.symbol_error_circle_24)
viewsAndReplies.iconTint = ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.signal_light_colorError))
viewsAndReplies.iconTint = ColorStateList.valueOf(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_light_colorError))
viewsAndReplies.iconSize = 20.dp
viewsAndReplies.setText(R.string.StoryViewerPageFragment__send_failed)
}

View File

@@ -12,8 +12,8 @@ import androidx.lifecycle.LifecycleOwner
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.animation.ArgbEvaluatorCompat
import com.google.android.material.appbar.AppBarLayout
import org.thoughtcrime.securesms.R
import org.thoughtcrime.securesms.util.views.Stub
import org.signal.core.ui.R as CoreUiR
/**
* Sets the view's isActivated state when the content of the attached recycler can scroll up.
@@ -42,14 +42,14 @@ open class Material3OnScrollHelper(
}
open val activeColorSet: ColorSet = ColorSet(
toolbarColorRes = R.color.signal_colorSurface2,
statusBarColorRes = R.color.signal_colorSurface2,
chatFolderColorRes = R.color.signal_colorBackground
toolbarColorRes = CoreUiR.color.signal_colorSurface2,
statusBarColorRes = CoreUiR.color.signal_colorSurface2,
chatFolderColorRes = CoreUiR.color.signal_colorBackground
)
open val inactiveColorSet: ColorSet = ColorSet(
toolbarColorRes = R.color.signal_colorBackground,
statusBarColorRes = R.color.signal_colorBackground,
chatFolderColorRes = R.color.signal_colorSurface2
toolbarColorRes = CoreUiR.color.signal_colorBackground,
statusBarColorRes = CoreUiR.color.signal_colorBackground,
chatFolderColorRes = CoreUiR.color.signal_colorSurface2
)
protected var previousStatusBarColor: Int = getStatusBarColor()

View File

@@ -46,7 +46,7 @@ public class LearnMoreTextView extends AppCompatTextView {
private void init() {
setMovementMethod(LinkMovementMethod.getInstance());
setLinkTextInternal(R.string.LearnMoreTextView_learn_more);
setLinkColor(ContextCompat.getColor(getContext(), R.color.signal_colorOnSurface));
setLinkColor(ContextCompat.getColor(getContext(), org.signal.core.ui.R.color.signal_colorOnSurface));
visible = true;
}

View File

@@ -81,7 +81,7 @@ class VerifyDisplayFragment : Fragment() {
binding.caption.text = getString(R.string.verify_display_fragment__auto_verify_not_available)
binding.caption.setLink(getString(R.string.verify_display_fragment__link))
binding.caption.setLinkColor(ContextCompat.getColor(requireContext(), R.color.signal_colorPrimary))
binding.caption.setLinkColor(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorPrimary))
viewModel.getAutomaticVerification().observe(viewLifecycleOwner) { status ->
updateStatus(status)
@@ -125,13 +125,13 @@ class VerifyDisplayFragment : Fragment() {
AutomaticVerificationStatus.UNAVAILABLE_PERMANENT -> {
binding.autoVerifyText.text = getString(R.string.verify_display_fragment__encryption_unavailable)
binding.autoVerifyIcon.setImageResource(CoreUiR.drawable.symbol_info_24)
ImageViewCompat.setImageTintList(binding.autoVerifyIcon, ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant)))
ImageViewCompat.setImageTintList(binding.autoVerifyIcon, ColorStateList.valueOf(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant)))
binding.autoVerifyMore.visible = true
}
AutomaticVerificationStatus.UNAVAILABLE_TEMPORARY -> {
binding.autoVerifyText.text = getString(R.string.verify_display_fragment__encryption_unavailable)
binding.autoVerifyIcon.setImageResource(CoreUiR.drawable.symbol_info_24)
ImageViewCompat.setImageTintList(binding.autoVerifyIcon, ColorStateList.valueOf(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant)))
ImageViewCompat.setImageTintList(binding.autoVerifyIcon, ColorStateList.valueOf(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorOnSurfaceVariant)))
binding.autoVerifyMore.visible = true
}
AutomaticVerificationStatus.VERIFIED -> {
@@ -298,7 +298,7 @@ class VerifyDisplayFragment : Fragment() {
private fun setRecipientText(recipient: Recipient) {
binding.description.text = getString(R.string.verify_display_fragment__pnp_verify_safety_numbers_explanation_with_s, recipient.getDisplayName(requireContext()))
binding.description.setLink("https://signal.org/redirect/safety-numbers")
binding.description.setLinkColor(ContextCompat.getColor(requireContext(), R.color.signal_colorPrimary))
binding.description.setLinkColor(ContextCompat.getColor(requireContext(), CoreUiR.color.signal_colorPrimary))
}
private fun updateVerifyButton(verified: Boolean, update: Boolean) {

View File

@@ -189,7 +189,7 @@ public final class WallpaperCropActivity extends BaseActivity {
int width = displayMetrics.widthPixels;
float ratio = width / (float) height;
EditorModel editorModel = EditorModel.createForWallpaperEditing(ratio, ContextCompat.getColor(this, R.color.signal_colorBackground));
EditorModel editorModel = EditorModel.createForWallpaperEditing(ratio, ContextCompat.getColor(this, org.signal.core.ui.R.color.signal_colorBackground));
EditorElement image = new EditorElement(new UriGlideRenderer(imageUri, true, width, height, UriGlideRenderer.WEAK_BLUR));
image.getFlags()