diff --git a/app/src/main/java/org/thoughtcrime/securesms/badges/models/LargeBadge.kt b/app/src/main/java/org/thoughtcrime/securesms/badges/models/LargeBadge.kt index 17c9ead3de..7a702d3ce0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/badges/models/LargeBadge.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/badges/models/LargeBadge.kt @@ -42,8 +42,13 @@ data class LargeBadge( override fun bind(model: Model) { badge.setBadge(model.largeBadge.badge) - name.text = model.largeBadge.badge.name - description.text = model.largeBadge.badge.resolveDescription(model.shortName) + name.text = context.getString(R.string.ViewBadgeBottomSheetDialogFragment__s_supports_signal, model.shortName) + description.text = if (model.largeBadge.badge.isSubscription()) { + context.getString(R.string.ViewBadgeBottomSheetDialogFragment__s_supports_signal_with_a_monthly, model.shortName) + } else { + context.getString(R.string.ViewBadgeBottomSheetDialogFragment__s_supports_signal_with_a_donation, model.shortName) + } + description.setLines(model.maxLines) description.maxLines = model.maxLines description.minLines = model.maxLines diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt index 235a748800..7f730e65c6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/DonateToSignalFragment.kt @@ -114,7 +114,7 @@ class DonateToSignalFragment : DSLSettingsFragment( private lateinit var donationPaymentComponent: DonationPaymentComponent private val supportTechSummary: CharSequence by lazy { - SpannableStringBuilder(SpanUtil.color(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant), requireContext().getString(R.string.DonateToSignalFragment__support_technology))) + SpannableStringBuilder(SpanUtil.color(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant), requireContext().getString(R.string.DonateToSignalFragment__private_messaging))) .append(" ") .append( SpanUtil.readMore(requireContext(), ContextCompat.getColor(requireContext(), R.color.signal_colorPrimary)) { @@ -254,7 +254,7 @@ class DonateToSignalFragment : DSLSettingsFragment( noPadTextPref( title = DSLSettingsText.from( - R.string.DonateToSignalFragment__powered_by, + R.string.DonateToSignalFragment__privacy_over_profit, DSLSettingsText.CenterModifier, DSLSettingsText.TitleLargeModifier ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt index ed9ae81458..83e67a5494 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/manage/ManageDonationsFragment.kt @@ -47,7 +47,7 @@ class ManageDonationsFragment : ExpiredGiftSheet.Callback { private val supportTechSummary: CharSequence by lazy { - SpannableStringBuilder(SpanUtil.color(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant), requireContext().getString(R.string.DonateToSignalFragment__support_technology))) + SpannableStringBuilder(SpanUtil.color(ContextCompat.getColor(requireContext(), R.color.signal_colorOnSurfaceVariant), requireContext().getString(R.string.DonateToSignalFragment__private_messaging))) .append(" ") .append( SpanUtil.readMore(requireContext(), ContextCompat.getColor(requireContext(), R.color.signal_colorPrimary)) { @@ -105,7 +105,7 @@ class ManageDonationsFragment : noPadTextPref( title = DSLSettingsText.from( - R.string.DonateToSignalFragment__powered_by, + R.string.DonateToSignalFragment__privacy_over_profit, DSLSettingsText.CenterModifier, DSLSettingsText.TitleLargeModifier ) ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/thanks/ThanksForYourSupportBottomSheetDialogFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/thanks/ThanksForYourSupportBottomSheetDialogFragment.kt index 13d53d1605..8ffb6c2672 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/thanks/ThanksForYourSupportBottomSheetDialogFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/thanks/ThanksForYourSupportBottomSheetDialogFragment.kt @@ -65,9 +65,9 @@ class ThanksForYourSupportBottomSheetDialogFragment : FixedRoundedCornerBottomSh if (args.badge.isBoost()) { if (Recipient.self().badges.any { !it.isBoost() }) { - subhead.setText(R.string.SubscribeThanksForYourSupportBottomSheetDialogFragment__youve_earned_a_boost_badge_display) + subhead.setText(R.string.SubscribeThanksForYourSupportBottomSheetDialogFragment__youve_earned_a_donor_badge) } else { - subhead.text = SpannableStringBuilder(getString(R.string.SubscribeThanksForYourSupportBottomSheetDialogFragment__youve_earned_a_boost_badge_display)) + subhead.text = SpannableStringBuilder(getString(R.string.SubscribeThanksForYourSupportBottomSheetDialogFragment__youve_earned_a_donor_badge)) .append(" ") .append(getString(R.string.SubscribeThanksForYourSupportBottomSheetDialogFragment__you_can_also)) .append(" ") @@ -82,7 +82,7 @@ class ThanksForYourSupportBottomSheetDialogFragment : FixedRoundedCornerBottomSh ) } } else { - subhead.text = getString(R.string.SubscribeThanksForYourSupportBottomSheetDialogFragment__youve_earned_s_badge_display, args.badge.name) + subhead.text = getString(R.string.SubscribeThanksForYourSupportBottomSheetDialogFragment__youve_earned_a_donor_badge) } val otherBadges = Recipient.self().badges.filterNot { it.id == args.badge.id } @@ -107,7 +107,6 @@ class ThanksForYourSupportBottomSheetDialogFragment : FixedRoundedCornerBottomSh } if (args.isBoost) { - presentBoostCopy() badgeView.visibility = View.INVISIBLE lottie.visible = true lottie.playAnimation() @@ -122,7 +121,6 @@ class ThanksForYourSupportBottomSheetDialogFragment : FixedRoundedCornerBottomSh } }) } else { - presentSubscriptionCopy() lottie.visible = false } @@ -155,14 +153,6 @@ class ThanksForYourSupportBottomSheetDialogFragment : FixedRoundedCornerBottomSh } } - private fun presentBoostCopy() { - heading.setText(R.string.SubscribeThanksForYourSupportBottomSheetDialogFragment__thanks_for_the_boost) - } - - private fun presentSubscriptionCopy() { - heading.setText(R.string.SubscribeThanksForYourSupportBottomSheetDialogFragment__thanks_for_your_support) - } - companion object { private val TAG = Log.tag(ThanksForYourSupportBottomSheetDialogFragment::class.java) } diff --git a/app/src/main/res/layout/subscribe_learn_more_bottom_sheet_dialog_fragment.xml b/app/src/main/res/layout/subscribe_learn_more_bottom_sheet_dialog_fragment.xml index 83e9ae4423..9d295aa932 100644 --- a/app/src/main/res/layout/subscribe_learn_more_bottom_sheet_dialog_fragment.xml +++ b/app/src/main/res/layout/subscribe_learn_more_bottom_sheet_dialog_fragment.xml @@ -1,11 +1,11 @@ + android:orientation="vertical" + tools:viewBindingIgnore="true"> @@ -57,25 +58,12 @@ android:layout_marginStart="@dimen/dsl_settings_gutter" android:layout_marginTop="16dp" android:layout_marginEnd="@dimen/dsl_settings_gutter" - android:text="@string/SubscribeLearnMoreBottomSheetDialogFragment__signal_is_a_nonprofit_with_no" - android:textAppearance="@style/Signal.Text.Body" + android:text="@string/SubscribeLearnMoreBottomSheetDialogFragment__private_messaging" + android:textAppearance="@style/Signal.Text.BodyLarge" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/subscribe_bottom_sheet_headline" /> - - + app:layout_constraintTop_toBottomOf="@id/subscribe_bottom_sheet_subhead" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a99666b73e..3143d45982 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -4392,6 +4392,12 @@ Failed to update profile Become a sustainer + + %1$s supports Signal + + %1$s supports Signal with a monthly donation. Signal is a nonprofit with no advertisers or investors, supported only by people like you. + + %1$s supports Signal with a donation. Signal is a nonprofit with no advertisers or investors, supported only by people like you. Badge @@ -4416,16 +4422,18 @@ Expires %1$s + + Signal is different. - Signal is a nonprofit with no advertisers or investors, sustained only by the people who use and value it. Make a recurring monthly donation and receive a profile badge to share your support. - Why Donate? - Signal is committed to developing open source privacy technology that protects free expression and enables secure global communication. - Your donation fuels this cause and pays for the development and operations of an app used by millions for private communication. No ads. No trackers. No kidding. + Private messaging. No ads, no trackers, no surveillance. + + Signal is supported by donations, meaning that your privacy is at the center of everything we do. Signal is built for you; not your data and not for profit. + + If you can, please donate today to keep Signal fun, dependable, and available for everyone. Thanks for your Support! - Thanks for the Boost! - You\'ve earned %s badge! Display this badge on your profile to build awareness for donating to Signal. - You\'ve earned a Boost badge! Display this badge on your profile to build awareness for donating to Signal. + + You\'ve earned a donor badge from Signal! Display it on your profile to show off your support. You can also become a monthly Sustainer. Display on Profile @@ -5483,11 +5491,11 @@ - Powered by people like you. + Privay over profit Continue - Support technology built for you, not your data, by joining the community that sustains Signal. + Private messaging, funded by you. No ads, no tracking, no compromise. Donate now to support Signal. Monthly