diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewaySelectorBottomSheet.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewaySelectorBottomSheet.kt
index d91a61594f..63885478ac 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewaySelectorBottomSheet.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/app/subscription/donate/gateway/GatewaySelectorBottomSheet.kt
@@ -12,7 +12,9 @@ import org.thoughtcrime.securesms.badges.models.BadgeDisplay112
import org.thoughtcrime.securesms.components.settings.DSLConfiguration
import org.thoughtcrime.securesms.components.settings.DSLSettingsAdapter
import org.thoughtcrime.securesms.components.settings.DSLSettingsBottomSheetFragment
+import org.thoughtcrime.securesms.components.settings.DSLSettingsIcon
import org.thoughtcrime.securesms.components.settings.DSLSettingsText
+import org.thoughtcrime.securesms.components.settings.NO_TINT
import org.thoughtcrime.securesms.components.settings.app.subscription.DonationPaymentComponent
import org.thoughtcrime.securesms.components.settings.app.subscription.donate.DonateToSignalType
import org.thoughtcrime.securesms.components.settings.app.subscription.models.GooglePayButton
@@ -84,6 +86,7 @@ class GatewaySelectorBottomSheet : DSLSettingsBottomSheetFragment() {
primaryButton(
text = DSLSettingsText.from(R.string.GatewaySelectorBottomSheet__credit_or_debit_card),
+ icon = DSLSettingsIcon.from(R.drawable.credit_card, NO_TINT),
onClick = {
findNavController().popBackStack()
val response = GatewayResponse(GatewayResponse.Gateway.CREDIT_CARD, args.request)
diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt b/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt
index 17f577a0d0..9d64b6fcf2 100644
--- a/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt
+++ b/app/src/main/java/org/thoughtcrime/securesms/components/settings/dsl.kt
@@ -151,10 +151,11 @@ class DSLConfiguration {
fun primaryButton(
text: DSLSettingsText,
+ icon: DSLSettingsIcon? = null,
isEnabled: Boolean = true,
onClick: () -> Unit
) {
- val preference = Button.Model.Primary(text, null, isEnabled, onClick)
+ val preference = Button.Model.Primary(text, icon, isEnabled, onClick)
children.add(preference)
}
diff --git a/app/src/main/res/drawable/credit_card.xml b/app/src/main/res/drawable/credit_card.xml
new file mode 100644
index 0000000000..50b2dd2d2c
--- /dev/null
+++ b/app/src/main/res/drawable/credit_card.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/dsl_button_primary.xml b/app/src/main/res/layout/dsl_button_primary.xml
index a206c6fab4..cbe7b3c738 100644
--- a/app/src/main/res/layout/dsl_button_primary.xml
+++ b/app/src/main/res/layout/dsl_button_primary.xml
@@ -1,11 +1,15 @@
\ No newline at end of file
+ app:iconGravity="textStart"
+ app:iconTint="@null"
+ tools:icon="@drawable/credit_card"
+ tools:text="Primary button"
+ tools:viewBindingIgnore="true" />
\ No newline at end of file