mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-20 02:58:45 +00:00
Remove bank selection from iDEAL.
This commit is contained in:
@@ -33,7 +33,6 @@ fun PaymentSource.toProto(): InAppPaymentSourceData {
|
||||
code = type.toInAppPaymentSourceDataCode(),
|
||||
idealData = if (this is IDEALPaymentSource) {
|
||||
InAppPaymentSourceData.IDEALData(
|
||||
bank = idealData.bank,
|
||||
name = idealData.name,
|
||||
email = idealData.email
|
||||
)
|
||||
@@ -77,8 +76,7 @@ fun InAppPaymentSourceData.toPaymentSource(): PaymentSource {
|
||||
InAppPaymentSourceData.Code.IDEAL -> {
|
||||
IDEALPaymentSource(
|
||||
StripeApi.IDEALData(
|
||||
bank = idealData!!.bank,
|
||||
name = idealData.name,
|
||||
name = idealData!!.name,
|
||||
email = idealData.email
|
||||
)
|
||||
)
|
||||
|
||||
@@ -33,7 +33,7 @@ class InAppPaymentError(
|
||||
is DonationError.PaymentSetupError.StripeCodedError -> InAppPaymentData.Error(type = InAppPaymentData.Error.Type.STRIPE_CODED_ERROR, data_ = donationError.errorCode)
|
||||
is DonationError.PaymentSetupError.StripeDeclinedError -> InAppPaymentData.Error(type = InAppPaymentData.Error.Type.STRIPE_DECLINED_ERROR, data_ = donationError.declineCode.rawCode)
|
||||
is DonationError.PaymentSetupError.StripeFailureCodeError -> InAppPaymentData.Error(type = InAppPaymentData.Error.Type.STRIPE_FAILURE, data_ = donationError.failureCode.rawCode)
|
||||
is DonationError.UserCancelledPaymentError -> null
|
||||
is DonationError.UserCancelledPaymentError -> InAppPaymentData.Error(type = InAppPaymentData.Error.Type.SETUP_CANCELLED)
|
||||
is DonationError.UserLaunchedExternalApplication -> null
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ import org.thoughtcrime.securesms.components.settings.app.subscription.donate.Do
|
||||
import org.thoughtcrime.securesms.database.SignalDatabase
|
||||
import org.thoughtcrime.securesms.database.model.databaseprotos.InAppPaymentData
|
||||
import org.thoughtcrime.securesms.databinding.DonationWebviewFragmentBinding
|
||||
import org.thoughtcrime.securesms.util.Environment
|
||||
import org.thoughtcrime.securesms.util.RemoteConfig
|
||||
import org.thoughtcrime.securesms.util.visible
|
||||
|
||||
@@ -86,7 +87,7 @@ class Stripe3DSDialogFragment : DialogFragment(R.layout.donation_webview_fragmen
|
||||
)
|
||||
)
|
||||
|
||||
if (RemoteConfig.internalUser && args.waitingForAuthPayment.data.paymentMethodType == InAppPaymentData.PaymentMethodType.IDEAL) {
|
||||
if (Environment.IS_STAGING && RemoteConfig.internalUser && args.waitingForAuthPayment.data.paymentMethodType == InAppPaymentData.PaymentMethodType.IDEAL) {
|
||||
val openApp = MaterialButton(requireContext()).apply {
|
||||
text = "Open App"
|
||||
layoutParams = FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT).apply {
|
||||
|
||||
@@ -1,108 +0,0 @@
|
||||
/*
|
||||
* Copyright 2023 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.thoughtcrime.securesms.components.settings.app.subscription.donate.transfer.ideal
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
import org.thoughtcrime.securesms.R
|
||||
import java.util.EnumMap
|
||||
|
||||
/**
|
||||
* Set of banks that are supported for iDEAL transfers, as listed here:
|
||||
* https://stripe.com/docs/api/payment_methods/object#payment_method_object-ideal-bank
|
||||
*/
|
||||
enum class IdealBank(
|
||||
val code: String
|
||||
) {
|
||||
ABN_AMRO("abn_amro"),
|
||||
ASN_BANK("asn_bank"),
|
||||
BUNQ("bunq"),
|
||||
ING("ing"),
|
||||
KNAB("knab"),
|
||||
N26("n26"),
|
||||
RABOBANK("rabobank"),
|
||||
REGIOBANK("regiobank"),
|
||||
REVOLUT("revolut"),
|
||||
SNS_BANK("sns_bank"),
|
||||
TRIODOS_BANK("triodos_bank"),
|
||||
VAN_LANSCHOT("van_lanschot"),
|
||||
YOURSAFE("yoursafe");
|
||||
|
||||
fun getUIValues(): UIValues = bankToUIValues[this]!!
|
||||
|
||||
companion object {
|
||||
|
||||
private val bankToUIValues: Map<IdealBank, UIValues> by lazy {
|
||||
EnumMap<IdealBank, UIValues>(IdealBank::class.java).apply {
|
||||
putAll(
|
||||
arrayOf(
|
||||
ABN_AMRO to UIValues(
|
||||
name = R.string.IdealBank__abn_amro,
|
||||
icon = R.drawable.ideal_abn_amro
|
||||
),
|
||||
ASN_BANK to UIValues(
|
||||
name = R.string.IdealBank__asn_bank,
|
||||
icon = R.drawable.ideal_asn
|
||||
),
|
||||
BUNQ to UIValues(
|
||||
name = R.string.IdealBank__bunq,
|
||||
icon = R.drawable.ideal_bunq
|
||||
),
|
||||
ING to UIValues(
|
||||
name = R.string.IdealBank__ing,
|
||||
icon = R.drawable.ideal_ing
|
||||
),
|
||||
KNAB to UIValues(
|
||||
name = R.string.IdealBank__knab,
|
||||
icon = R.drawable.ideal_knab
|
||||
),
|
||||
N26 to UIValues(
|
||||
name = R.string.IdealBank__n26,
|
||||
icon = R.drawable.ideal_n26
|
||||
),
|
||||
RABOBANK to UIValues(
|
||||
name = R.string.IdealBank__rabobank,
|
||||
icon = R.drawable.ideal_rabobank
|
||||
),
|
||||
REGIOBANK to UIValues(
|
||||
name = R.string.IdealBank__regiobank,
|
||||
icon = R.drawable.ideal_regiobank
|
||||
),
|
||||
REVOLUT to UIValues(
|
||||
name = R.string.IdealBank__revolut,
|
||||
icon = R.drawable.ideal_revolut
|
||||
),
|
||||
SNS_BANK to UIValues(
|
||||
name = R.string.IdealBank__sns_bank,
|
||||
icon = R.drawable.ideal_sns
|
||||
),
|
||||
TRIODOS_BANK to UIValues(
|
||||
name = R.string.IdealBank__triodos_bank,
|
||||
icon = R.drawable.ideal_triodos_bank
|
||||
),
|
||||
VAN_LANSCHOT to UIValues(
|
||||
name = R.string.IdealBank__van_lanschot,
|
||||
icon = R.drawable.ideal_van_lanschot
|
||||
),
|
||||
YOURSAFE to UIValues(
|
||||
name = R.string.IdealBank__yoursafe,
|
||||
icon = R.drawable.ideal_yoursafe
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
fun fromCode(code: String): IdealBank {
|
||||
return entries.first { it.code == code }
|
||||
}
|
||||
}
|
||||
|
||||
data class UIValues(
|
||||
@StringRes val name: Int,
|
||||
@DrawableRes val icon: Int
|
||||
)
|
||||
}
|
||||
@@ -1,114 +0,0 @@
|
||||
/*
|
||||
* Copyright 2023 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.thoughtcrime.securesms.components.settings.app.subscription.donate.transfer.ideal
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.defaultMinSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment.Companion.CenterVertically
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.res.dimensionResource
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.fragment.app.setFragmentResult
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import org.signal.core.ui.compose.Scaffolds
|
||||
import org.thoughtcrime.securesms.R
|
||||
import org.thoughtcrime.securesms.compose.ComposeDialogFragment
|
||||
import org.signal.core.ui.R as CoreUiR
|
||||
|
||||
/**
|
||||
* Dialog fragment for selecting the bank for the iDEAL donation.
|
||||
*/
|
||||
class IdealTransferDetailsBankSelectionDialogFragment : ComposeDialogFragment() {
|
||||
|
||||
companion object {
|
||||
const val IDEAL_SELECTED_BANK = "ideal.selected.bank"
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
setStyle(STYLE_NO_FRAME, R.style.Signal_DayNight_Dialog_FullScreen)
|
||||
}
|
||||
|
||||
@Composable
|
||||
override fun DialogContent() {
|
||||
BankSelectionContent(
|
||||
onNavigationClick = { findNavController().popBackStack() },
|
||||
onBankSelected = {
|
||||
dismissAllowingStateLoss()
|
||||
|
||||
setFragmentResult(
|
||||
IDEAL_SELECTED_BANK,
|
||||
bundleOf(
|
||||
IDEAL_SELECTED_BANK to it.code
|
||||
)
|
||||
)
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
private fun BankSelectionContentPreview() {
|
||||
BankSelectionContent(
|
||||
onNavigationClick = {},
|
||||
onBankSelected = {}
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun BankSelectionContent(
|
||||
onNavigationClick: () -> Unit,
|
||||
onBankSelected: (IdealBank) -> Unit
|
||||
) {
|
||||
Scaffolds.Settings(
|
||||
title = stringResource(R.string.IdealTransferDetailsBankSelectionDialogFragment__choose_your_bank),
|
||||
onNavigationClick = onNavigationClick,
|
||||
navigationIconPainter = painterResource(id = R.drawable.symbol_x_24)
|
||||
) { paddingValues ->
|
||||
LazyColumn(modifier = Modifier.padding(paddingValues)) {
|
||||
items(IdealBank.entries.toTypedArray()) {
|
||||
val uiValues = it.getUIValues()
|
||||
|
||||
Row(
|
||||
verticalAlignment = CenterVertically,
|
||||
modifier = Modifier
|
||||
.clickable { onBankSelected(it) }
|
||||
.fillMaxWidth()
|
||||
.defaultMinSize(minHeight = 56.dp)
|
||||
.padding(horizontal = dimensionResource(id = CoreUiR.dimen.gutter), vertical = 8.dp)
|
||||
) {
|
||||
Image(
|
||||
painter = painterResource(id = uiValues.icon),
|
||||
contentDescription = null,
|
||||
modifier = Modifier
|
||||
.size(40.dp)
|
||||
)
|
||||
|
||||
Text(
|
||||
text = stringResource(uiValues.name),
|
||||
modifier = Modifier.padding(start = 24.dp)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8,21 +8,16 @@ package org.thoughtcrime.securesms.components.settings.app.subscription.donate.t
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.defaultMinSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.size
|
||||
import androidx.compose.foundation.lazy.LazyColumn
|
||||
import androidx.compose.foundation.text.KeyboardActions
|
||||
import androidx.compose.foundation.text.KeyboardOptions
|
||||
import androidx.compose.material3.Icon
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TextField
|
||||
import androidx.compose.material3.TextFieldDefaults
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.remember
|
||||
@@ -30,16 +25,13 @@ import androidx.compose.ui.Alignment.Companion.CenterHorizontally
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.focus.FocusDirection
|
||||
import androidx.compose.ui.focus.onFocusChanged
|
||||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.platform.LocalFocusManager
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.semantics.Role
|
||||
import androidx.compose.ui.text.input.ImeAction
|
||||
import androidx.compose.ui.text.input.KeyboardCapitalization
|
||||
import androidx.compose.ui.text.input.KeyboardType
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.core.os.bundleOf
|
||||
import androidx.fragment.app.setFragmentResult
|
||||
@@ -98,11 +90,6 @@ class IdealTransferDetailsFragment : ComposeFragment(), InAppPaymentCheckoutDele
|
||||
setFragmentResult(BankTransferRequestKeys.REQUEST_KEY, bundle)
|
||||
}
|
||||
}
|
||||
|
||||
setFragmentResultListener(IdealTransferDetailsBankSelectionDialogFragment.IDEAL_SELECTED_BANK) { _, bundle ->
|
||||
val bankCode = bundle.getString(IdealTransferDetailsBankSelectionDialogFragment.IDEAL_SELECTED_BANK)!!
|
||||
viewModel.onBankSelected(IdealBank.fromCode(bankCode))
|
||||
}
|
||||
}
|
||||
|
||||
@Composable
|
||||
@@ -166,7 +153,7 @@ class IdealTransferDetailsFragment : ComposeFragment(), InAppPaymentCheckoutDele
|
||||
if (state.inAppPayment!!.type.recurring) { // TODO [message-requests] -- handle backup
|
||||
val formattedMoney = FiatMoneyUtil.format(requireContext().resources, state.inAppPayment.data.amount!!.toFiatMoney(), FiatMoneyUtil.formatOptions().trimZerosAfterDecimal())
|
||||
MaterialAlertDialogBuilder(requireContext())
|
||||
.setTitle(getString(R.string.IdealTransferDetailsFragment__confirm_your_donation_with_s, getString(state.idealBank!!.getUIValues().name)))
|
||||
.setTitle(getString(R.string.IdealTransferDetailsFragment__confirm_your_donation_with_ideal))
|
||||
.setMessage(getString(R.string.IdealTransferDetailsFragment__to_setup_your_recurring_donation, formattedMoney))
|
||||
.setPositiveButton(R.string.IdealTransferDetailsFragment__continue) { _, _ ->
|
||||
continueTransfer()
|
||||
@@ -262,15 +249,6 @@ private fun IdealTransferDetailsContent(
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
IdealBankSelector(
|
||||
idealBank = state.idealBank,
|
||||
onSelectBankClick = onSelectBankClick,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
)
|
||||
}
|
||||
|
||||
item {
|
||||
TextField(
|
||||
value = state.name,
|
||||
@@ -346,60 +324,3 @@ private fun IdealTransferDetailsContent(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Preview
|
||||
@Composable
|
||||
private fun IdealBankSelectorPreview() {
|
||||
IdealBankSelector(
|
||||
idealBank = null,
|
||||
onSelectBankClick = {}
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
private fun IdealBankSelector(
|
||||
idealBank: IdealBank?,
|
||||
onSelectBankClick: () -> Unit,
|
||||
modifier: Modifier = Modifier
|
||||
) {
|
||||
val uiValues: IdealBank.UIValues? = remember(idealBank) { idealBank?.getUIValues() }
|
||||
val imagePadding: Dp = if (idealBank == null) 4.dp else 0.dp
|
||||
|
||||
TextField(
|
||||
value = stringResource(id = uiValues?.name ?: R.string.IdealTransferDetailsFragment__choose_your_bank),
|
||||
textStyle = MaterialTheme.typography.bodyLarge,
|
||||
onValueChange = {},
|
||||
enabled = false,
|
||||
readOnly = true,
|
||||
leadingIcon = {
|
||||
Image(
|
||||
painter = painterResource(id = uiValues?.icon ?: R.drawable.bank_transfer),
|
||||
contentDescription = null,
|
||||
colorFilter = if (uiValues?.icon == null) ColorFilter.tint(MaterialTheme.colorScheme.onSurface) else null,
|
||||
modifier = Modifier
|
||||
.padding(start = 16.dp, end = 12.dp)
|
||||
.size(32.dp)
|
||||
.padding(imagePadding)
|
||||
)
|
||||
},
|
||||
trailingIcon = {
|
||||
Icon(
|
||||
painter = painterResource(id = R.drawable.symbol_dropdown_triangle_compat_bold_16),
|
||||
contentDescription = null
|
||||
)
|
||||
},
|
||||
colors = TextFieldDefaults.colors(
|
||||
disabledTextColor = MaterialTheme.colorScheme.onSurface,
|
||||
disabledTrailingIconColor = MaterialTheme.colorScheme.onSurface,
|
||||
disabledContainerColor = MaterialTheme.colorScheme.surfaceVariant,
|
||||
disabledIndicatorColor = MaterialTheme.colorScheme.onSurface
|
||||
),
|
||||
supportingText = {},
|
||||
modifier = modifier
|
||||
.defaultMinSize(minHeight = 78.dp)
|
||||
.clickable(
|
||||
onClick = onSelectBankClick,
|
||||
role = Role.Button
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -11,7 +11,6 @@ import org.thoughtcrime.securesms.database.InAppPaymentTable
|
||||
|
||||
data class IdealTransferDetailsState(
|
||||
val inAppPayment: InAppPaymentTable.InAppPayment? = null,
|
||||
val idealBank: IdealBank? = null,
|
||||
val name: String = "",
|
||||
val nameFocusState: FocusState = FocusState.NOT_FOCUSED,
|
||||
val email: String = "",
|
||||
@@ -28,14 +27,13 @@ data class IdealTransferDetailsState(
|
||||
|
||||
fun asIDEALData(): StripeApi.IDEALData {
|
||||
return StripeApi.IDEALData(
|
||||
bank = idealBank!!.code,
|
||||
name = name.trim(),
|
||||
email = email.trim()
|
||||
)
|
||||
}
|
||||
|
||||
fun canProceed(): Boolean {
|
||||
return idealBank != null && BankDetailsValidator.validName(name) && (inAppPayment?.type?.recurring != true || BankDetailsValidator.validEmail(email))
|
||||
return BankDetailsValidator.validName(name) && (inAppPayment?.type?.recurring != true || BankDetailsValidator.validEmail(email))
|
||||
}
|
||||
|
||||
enum class FocusState {
|
||||
|
||||
@@ -71,12 +71,6 @@ class IdealTransferDetailsViewModel(inAppPaymentId: InAppPaymentTable.InAppPayme
|
||||
}
|
||||
}
|
||||
|
||||
fun onBankSelected(idealBank: IdealBank) {
|
||||
internalState.value = internalState.value.copy(
|
||||
idealBank = idealBank
|
||||
)
|
||||
}
|
||||
|
||||
enum class Field {
|
||||
NAME,
|
||||
EMAIL
|
||||
|
||||
@@ -14,8 +14,14 @@ import java.util.Locale
|
||||
object BankTransferMandateRepository {
|
||||
|
||||
fun getMandate(paymentSourceType: PaymentSourceType.Stripe): Single<String> {
|
||||
val sourceString = if (paymentSourceType == PaymentSourceType.Stripe.IDEAL) {
|
||||
PaymentSourceType.Stripe.SEPADebit.paymentMethod
|
||||
} else {
|
||||
paymentSourceType.paymentMethod
|
||||
}
|
||||
|
||||
return Single
|
||||
.fromCallable { AppDependencies.donationsService.getBankMandate(Locale.getDefault(), paymentSourceType.paymentMethod) }
|
||||
.fromCallable { AppDependencies.donationsService.getBankMandate(Locale.getDefault(), sourceString) }
|
||||
.flatMap { it.flattenResult() }
|
||||
.map { it.mandate }
|
||||
.subscribeOn(Schedulers.io())
|
||||
|
||||
@@ -85,6 +85,7 @@ class DonationErrorParams<V> private constructor(
|
||||
InAppPaymentData.Error.Type.PAYMENT_PROCESSING -> getGenericRedemptionError(context, inAppPayment.type, callback)
|
||||
InAppPaymentData.Error.Type.CREDENTIAL_VALIDATION -> getBadgeCredentialValidationErrorParams(context, callback)
|
||||
InAppPaymentData.Error.Type.REDEMPTION -> getGenericRedemptionError(context, inAppPayment.type, callback)
|
||||
InAppPaymentData.Error.Type.SETUP_CANCELLED -> error("Shouldn't show a dialog.")
|
||||
null -> error("No error in data!")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,7 +102,12 @@ class InAppPaymentRecurringContextJob private constructor(
|
||||
warning("A permanent failure occurred.")
|
||||
|
||||
val inAppPayment = SignalDatabase.inAppPayments.getById(inAppPaymentId)
|
||||
if (inAppPayment != null && inAppPayment.data.error == null) {
|
||||
val isRedeemed = inAppPayment?.state == InAppPaymentTable.State.END && inAppPayment.data.redemption?.stage != InAppPaymentData.RedemptionState.Stage.REDEEMED
|
||||
if (isRedeemed) {
|
||||
info("Already redeemed. Exiting quietly.")
|
||||
return
|
||||
} else if (inAppPayment != null && inAppPayment.data.error == null) {
|
||||
warning("Unredeemed payment failed.")
|
||||
SignalDatabase.inAppPayments.update(
|
||||
inAppPayment.copy(
|
||||
notified = false,
|
||||
|
||||
@@ -204,7 +204,7 @@ abstract class InAppPaymentSetupJob(
|
||||
}
|
||||
}
|
||||
|
||||
private fun handleFailure(inAppPaymentId: InAppPaymentTable.InAppPaymentId, exception: Exception) {
|
||||
protected fun handleFailure(inAppPaymentId: InAppPaymentTable.InAppPaymentId, exception: Exception) {
|
||||
warning("Failed to process transaction.", exception)
|
||||
|
||||
val freshPayment = SignalDatabase.inAppPayments.getById(inAppPaymentId)!!
|
||||
|
||||
@@ -12,6 +12,8 @@ import org.signal.donations.StripeIntentAccessor
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.DonationSerializationHelper.toFiatMoney
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.OneTimeInAppPaymentRepository
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.StripeRepository
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationError
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationErrorSource
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.toPaymentSource
|
||||
import org.thoughtcrime.securesms.database.InAppPaymentTable
|
||||
import org.thoughtcrime.securesms.jobmanager.Job
|
||||
@@ -74,7 +76,13 @@ class InAppPaymentStripeOneTimeSetupJob private constructor(
|
||||
)
|
||||
|
||||
info("Getting status and payment method id from stripe.")
|
||||
StripeRepository.getStatusAndPaymentMethodId(intentAccessor, paymentMethodId)
|
||||
val data = StripeRepository.getStatusAndPaymentMethodId(intentAccessor, paymentMethodId)
|
||||
|
||||
if (!data.status.canProceed()) {
|
||||
warning("Cannot proceed with status ${data.status}.")
|
||||
handleFailure(inAppPayment.id, DonationError.UserCancelledPaymentError(DonationErrorSource.ONE_TIME))
|
||||
return Result.failure()
|
||||
}
|
||||
|
||||
info("Received status and payment method id. Submitting redemption job chain.")
|
||||
OneTimeInAppPaymentRepository.submitRedemptionJobChain(inAppPayment, intentAccessor.intentId)
|
||||
|
||||
@@ -16,6 +16,8 @@ import org.thoughtcrime.securesms.components.settings.app.subscription.InAppPaym
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.InAppPaymentsRepository.toPaymentSourceType
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.RecurringInAppPaymentRepository
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.StripeRepository
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationError
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.errors.DonationErrorSource
|
||||
import org.thoughtcrime.securesms.components.settings.app.subscription.toPaymentSource
|
||||
import org.thoughtcrime.securesms.database.InAppPaymentTable
|
||||
import org.thoughtcrime.securesms.jobmanager.Job
|
||||
@@ -79,6 +81,12 @@ class InAppPaymentStripeRecurringSetupJob private constructor(
|
||||
info("Requesting status and payment method id from stripe service.")
|
||||
val statusAndPaymentMethodId = StripeRepository.getStatusAndPaymentMethodId(intentAccessor, paymentMethodId)
|
||||
|
||||
if (!statusAndPaymentMethodId.status.canProceed()) {
|
||||
warning("Cannot proceed with status ${statusAndPaymentMethodId.status}.")
|
||||
handleFailure(inAppPayment.id, DonationError.UserCancelledPaymentError(DonationErrorSource.ONE_TIME))
|
||||
return Result.failure()
|
||||
}
|
||||
|
||||
info("Setting default payment method.")
|
||||
StripeRepository.setDefaultPaymentMethod(
|
||||
paymentMethodId = statusAndPaymentMethodId.paymentMethod!!,
|
||||
|
||||
@@ -421,6 +421,7 @@ message InAppPaymentData {
|
||||
PAYMENT_PROCESSING = 12; // Generic payment error containing an HTTP status code in data.
|
||||
CREDENTIAL_VALIDATION = 13; // Failed to validate credential returned from service.
|
||||
REDEMPTION = 14; // Failed during badge redemption containing an HTTP status code in data if available.
|
||||
SETUP_CANCELLED = 15; // After an authorization attempt, the intent is still not set up correctly.
|
||||
}
|
||||
|
||||
Type type = 1;
|
||||
|
||||
@@ -190,7 +190,7 @@ message InAppPaymentSourceData {
|
||||
}
|
||||
|
||||
message IDEALData {
|
||||
string bank = 1;
|
||||
reserved 1; // bank, no longer utilized.
|
||||
string name = 2;
|
||||
string email = 3;
|
||||
}
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFE0E0E0"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M20 39c10.5 0 19-8.5 19-19S30.5 1 20 1 1 9.5 1 20s8.5 19 19 19Zm0 1c11.05 0 20-8.95 20-20S31.05 0 20 0 0 8.95 0 20s8.95 20 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FF009286"
|
||||
android:pathData="M29 10H11v15.02L20 34V15.96l9 8.98V10Z"/>
|
||||
<path
|
||||
android:fillColor="#FFF3C000"
|
||||
android:pathData="M29 25.02L20 34V15.96l9 9.06Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,23 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFE0E0E0"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M20 39c10.5 0 19-8.5 19-19S30.5 1 20 1 1 9.5 1 20s8.5 19 19 19Zm0 1c11.05 0 20-8.95 20-20S31.05 0 20 0 0 8.95 0 20s8.95 20 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFEF533D"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M13.12 22.04c0.16-0.73 0.42-1.44 0.76-2.1 0.21-0.39 0.37-0.78 0.45-1.22 0.05-0.19 0.08-0.4 0.08-0.58 0-1.77-1.44-3.21-3.23-3.21-1.34 0-2.5 0.8-2.96 1.98-0.16-0.57-0.24-1.17-0.21-1.8C8.03 11.16 11.23 8 15.2 8c3.96 0 7 3.03 7.19 6.82 0.08 1.62-0.5 3.11-1.37 4.47-1.15 1.75-2.44 3.4-2.44 5.6 0 3.19 2.1 5.88 4.96 6.8-0.76 0.2-1.57 0.33-2.41 0.3-4.38-0.04-7.98-3.55-8.16-7.91-0.03-0.7 0.02-1.39 0.15-2.04Z"/>
|
||||
<path
|
||||
android:fillColor="#FFEF533D"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M25.72 18.38c0 0.36-0.31 0.68-0.7 0.7-0.4 0-0.72-0.31-0.72-0.7 0-0.4 0.32-0.7 0.71-0.7 0.4 0 0.71 0.3 0.71 0.7Zm2.08 8.26c0.02 0.52 0.18 1.02 0.47 1.44-0.84 1.38-2.1 2.48-3.57 3.16-0.58-0.76-0.9-1.73-0.9-2.75 0-2.64 2.16-4.75 4.78-4.75 0.32 0 0.63 0.02 0.92 0.08v0.02c-1.05 0.5-1.76 1.57-1.7 2.8Zm1-11.27c0.18-0.47 0.28-1 0.28-1.51 0-0.79-0.2-1.5-0.58-2.12-0.13 1-0.52 1.88-1.1 2.61l-0.02 0.05-0.82-0.39c-0.2-0.1-0.42-0.23-0.58-0.34-0.73-0.42-1.28-1.12-1.52-1.96-0.13 0.45-0.2 0.94-0.2 1.44 0 1.65 0.8 3.14 2.04 4.03h0.03c0.26 0.2 0.5 0.39 0.73 0.62 0.92 0.9 1.63 2.02 2.05 3.24 0.44-0.57 0.73-1.28 0.84-2C29.97 18.8 30 18.55 30 18.3c0-1.26-0.37-2.17-1.2-2.93Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,23 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M7.19 22.7c0.34 0.26 0.72 0.45 1.14 0.56 0.78 0.2 1.61 0.13 2.34-0.2 1.6-0.76 2.23-2.57 1.41-4.04-0.31-0.56-0.8-1.02-1.41-1.3-0.73-0.34-1.56-0.42-2.34-0.21-0.38 0.1-0.73 0.26-1.04 0.48V15H6v5.39 0.14 2.7h1.13l0.06-0.52Zm1.14-4.1c0.25-0.1 0.53-0.16 0.8-0.16 0.62 0 1.17 0.26 1.54 0.68 0.31 0.36 0.48 0.8 0.48 1.27 0 0.46-0.17 0.9-0.49 1.26-0.36 0.42-0.91 0.68-1.52 0.68-0.28 0-0.56-0.06-0.81-0.16-0.7-0.3-1.2-0.99-1.2-1.78 0-0.8 0.5-1.49 1.2-1.79Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M18.07 20.68c0 0.4-0.14 0.78-0.4 1.1-0.3 0.33-0.73 0.55-1.21 0.55-0.44 0-0.84-0.18-1.13-0.47-0.3-0.3-0.48-0.72-0.48-1.18v-3.14h-1.29v3.14c0 1.08 0.7 2.06 1.77 2.48 0.75 0.3 1.6 0.29 2.34-0.03 1.03-0.44 1.69-1.4 1.69-2.45v-3.14h-1.3v3.14Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M24.67 17.6c-0.36-0.13-0.74-0.2-1.13-0.2-0.42 0-0.83 0.08-1.2 0.24-1.04 0.44-1.7 1.4-1.7 2.45v3.14h1.29v-3.14c0-0.4 0.14-0.78 0.4-1.09 0.3-0.34 0.73-0.56 1.2-0.56 0.45 0 0.85 0.18 1.14 0.47 0.3 0.3 0.48 0.72 0.48 1.18v3.14h1.29v-3.14c0-1.08-0.7-2.06-1.77-2.48Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M34 17.54h-1.13l-0.06 0.52c-0.34-0.25-0.72-0.44-1.14-0.55-0.78-0.2-1.62-0.14-2.34 0.2-1.6 0.76-2.23 2.57-1.4 4.04 0.3 0.56 0.8 1.02 1.4 1.3 0.72 0.34 1.56 0.42 2.34 0.21 0.37-0.1 0.73-0.26 1.04-0.48v2.99H34v-5.39-0.15-2.69Zm-2.33 4.63c-0.26 0.1-0.53 0.16-0.8 0.16-0.62 0-1.17-0.27-1.54-0.68-0.31-0.36-0.48-0.8-0.48-1.26 0-0.46 0.17-0.91 0.48-1.27 0.37-0.42 0.92-0.68 1.53-0.68 0.28 0 0.55 0.06 0.8 0.16 0.72 0.3 1.21 0.99 1.21 1.79s-0.5 1.48-1.2 1.78Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,120 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FFF58220"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M11.76 38.23l-0.65-0.3-0.01-0.2c-0.02-0.12-0.03-0.25-0.03-0.37 0-0.64-0.13-0.9-0.25-1.14-0.07-0.13-0.1-0.26-0.13-0.38-0.03-0.13-0.06-0.25-0.13-0.38 0-0.13 0.9-0.13 1.27-0.13 0.15 0 0.32-0.04 0.5-0.09 0.24-0.06 0.48-0.12 0.63-0.04-0.12 0.38-0.12 1.02-0.12 1.26-0.07 0.2-0.07 0.36-0.07 0.52 0 0.16 0 0.31-0.06 0.5h0.01c0 0.14-0.5 0.48-0.96 0.75Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M21.08 39.97L20 40h-0.23c0.1-0.2 0.28-0.37 0.45-0.52 0.13-0.12 0.26-0.23 0.34-0.35 0.13-0.51 0.13-0.9 0.13-1.27 0.25-0.25 0.75-0.25 0.88-0.25 0.14-0.13 0.9-0.25 0.9-0.25s-0.26 2.03-0.51 2.16c-0.2 0.06-0.35 0.15-0.5 0.25l-0.38 0.2Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M27.34 38.6c-0.5 0.2-1.01 0.39-1.53 0.54l-0.27-0.42c-0.2-0.33-0.31-0.5-0.67-0.86-0.18-0.08-0.23-0.23-0.29-0.4-0.02-0.08-0.05-0.15-0.09-0.23 0.38-0.13 0.63-0.13 1.01-0.13 0.26-0.13 0.5-0.13 0.76-0.13 0.13 0.13 0.16 0.29 0.19 0.44 0.03 0.16 0.07 0.32 0.2 0.45l0.42 0.45 0.27 0.3Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M30.7 36.9c-0.45 0.29-0.92 0.56-1.4 0.8-0.5-0.43-0.64-0.77-0.83-1.24l-0.04-0.1h1.64c0.26 0.26 0.45 0.41 0.63 0.54Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M33.17 35.05c-0.4 0.36-0.82 0.7-1.26 1.02-0.36-0.2-0.52-0.39-0.62-0.52l-0.09-0.1c-0.24-0.23-0.36-0.48-0.49-0.72L30.7 34.7c0.14-0.22 0.37-0.3 0.59-0.4 0.16-0.06 0.32-0.13 0.43-0.24l0.18-0.1c0.15-0.09 0.27-0.16 0.45-0.16 0.24 0.25 0.37 0.5 0.5 0.74v0.03c0.1 0.2 0.2 0.36 0.32 0.48Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M35.24 32.96c-0.31 0.36-0.63 0.7-0.96 1.05-0.3-0.4-0.41-0.72-0.41-0.72 0.14-0.15 0.47-0.3 0.73-0.42 0.19-0.09 0.35-0.16 0.4-0.21l0.24 0.3Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M38.12 28.48l-0.7-0.25c-0.1-0.25-0.07-0.51-0.04-0.77 0.02-0.12 0.03-0.25 0.03-0.38-0.11-1.27-0.4-2.36-0.63-3.28l-0.14-0.52 0.01-0.01s0.26-0.12 0.63-0.25c0.26 0 0.38 0 0.64-0.13 0.38 0.64 0.5 1.14 0.75 2.67l0.17 1.16c-0.21 0.6-0.45 1.19-0.72 1.76Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M32.08 13.23c0.63 0.38 1.39 0.64 1.39 0.64 0.07-0.23 0.01-0.46-0.05-0.69-0.04-0.15-0.08-0.3-0.08-0.46-0.07-0.27-0.16-0.53-0.25-0.8-0.2-0.63-0.42-1.28-0.5-2v-0.5c-0.3-0.15-0.6-0.25-0.94-0.37-0.22-0.08-0.46-0.16-0.72-0.27 0 0 0 0.77 0.25 1.15 0.26 0.63 0.64 1.64 0.64 2.15v0.01c0 0.38 0.13 0.77 0.26 1.14Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M32.75 15.56c-0.17-0.06-0.33-0.11-0.42-0.3v0.01c-0.16-0.07-0.02-0.2 0.14-0.35 0.1-0.09 0.2-0.18 0.24-0.28 0.09-0.04 0.17-0.11 0.26-0.19 0.18-0.15 0.37-0.32 0.62-0.32 0.2 0.2 0.35 0.38 0.5 0.57 0.17 0.2 0.32 0.38 0.51 0.57 0.13 0 0.5 0.38 0.89 0.76 0.25 0.13 0.38 0.25 0.38 0.38 0.25 0.51 0.63 1.27 0.63 2.28-0.13-0.13-0.63-0.5-0.76-0.5-0.08 0-0.16-0.06-0.26-0.13l-0.24-0.14c-0.37-0.29-0.61-0.62-0.85-0.95-0.16-0.24-0.33-0.48-0.54-0.7l-0.3-0.19c-0.23-0.14-0.4-0.26-0.59-0.44l-0.2-0.08Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M33.92 18.21c0.21 0.06 0.37 0.1 0.44 0.1l0.06 0.03c0.29 0.15 0.97 0.5 1.2 0.73 0.3 0.15 0.52 0.17 0.72 0.19 0.14 0 0.27 0.02 0.42 0.07 0.06 0 0.16 0.26 0.3 0.63 0.18 0.46 0.43 1.1 0.71 1.52 0 0.04 0.02 0.1 0.05 0.17 0.06 0.16 0.13 0.34-0.05 0.34-0.25 0.13-0.63-0.12-1.01-0.38l-0.15-0.16c-0.3-0.32-0.9-0.98-1.11-0.98-0.25-0.24-1.01-0.37-1.14-0.37-0.25-0.13-0.63-0.26-0.88-0.26-0.13-0.25-0.13-0.63-0.13-0.76-0.05-0.1-0.14-0.22-0.24-0.36-0.14-0.2-0.31-0.43-0.39-0.66h0.63l0.57 0.15Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M12.84 9.7c0.9-0.51 2.4-1.4 2.91-1.9 0.11 0.23 1.35 0.96 2.06 1.38l0.22 0.14c0.34 0.26 0.69 0.4 1.03 0.54l0.49 0.22c0.25-0.38 0.5-0.76 0.76-1.65 0.25 0.17 0.55 0.23 0.84 0.29 0.15 0.02 0.3 0.05 0.42 0.1 0 0.5 0 1 0.13 1.52 0 0.24 0.24 0.12 0.72-0.12l0.03-0.01c0.44-0.15 0.88-0.25 1.24-0.34l0.67-0.17c0.36-0.21 0.66-0.5 0.94-0.78 0.4-0.4 0.76-0.75 1.2-0.75 0.63 0 1.78 0.38 2.03 0.63l0.23 0.08c0.26 0.1 0.48 0.18 0.78 0.18 0.36 0 0.66-0.26 0.94-0.5 0.1-0.1 0.22-0.2 0.33-0.27-1.14-0.75-2.4-1.52-3.68-2.03l-0.4 0.34c-0.54 0.46-0.93 0.8-1.25 0.8-0.27 0-0.22-0.38-0.17-0.78 0.02-0.17 0.05-0.34 0.05-0.49-0.38 0-0.63 0-1.01-0.13-0.06 0.18-0.1 0.38-0.15 0.58-0.18 0.74-0.36 1.5-0.86 1.7-0.26 0.13-0.38 0.13-0.5 0.13V7.4c0-0.05 0.06-0.2 0.14-0.37 0.14-0.3 0.31-0.7 0.23-0.77 0 0-1.14 0.25-1.39 0.38-0.12 0.13-0.9 0.5-1 0.5 0 0-0.39-0.12-0.51-0.12-0.19-0.12-0.34-0.19-0.5-0.25-0.16-0.06-0.32-0.13-0.51-0.26-0.5 1.52-0.64 1.9-0.64 1.65 0 0-1.76-1.14-2.4-1.9-1.09 0.16-1.46 0.33-1.99 0.58C14 6.96 13.7 7.1 13.23 7.28l-0.4 0.38c-0.45 0.43-0.99 0.94-1.37 1.52-0.13 0.25-0.25 0.44-0.38 0.63-0.13 0.2-0.25 0.38-0.38 0.64l1.26 0.5c0.13-0.12 0.75-1 0.88-1.26Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M31.2 19.47c0-0.13 0.13-0.38 0.26-0.51l0.19 0.26c0.18 0.26 0.35 0.5 0.45 0.89 0.25 0.75 0.63 2.4 0.63 2.4-0.25-0.18-0.5-0.25-0.73-0.31-0.24-0.07-0.47-0.13-0.66-0.32-0.3-0.29-0.37-0.66-0.44-1.04l-0.07-0.36c-0.2-0.29-0.02-0.5 0.19-0.76 0.06-0.08 0.13-0.16 0.18-0.25Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M35.53 26.7c-0.15-0.06-0.32-0.13-0.53-0.13v-0.01c-0.26-0.13-0.39-0.25-0.51-0.51-0.13-0.13-0.63-1.27-0.63-1.4 0-0.19-0.04-0.44-0.07-0.7-0.03-0.25-0.06-0.5-0.06-0.7 0 0 0.5 0.14 0.88 0.14 0.13 0.13 0.26 0.13 0.38 0.13 0.13 0.24 0.13 0.5 0.13 0.88l0.16 0.38c0.12 0.27 0.27 0.59 0.35 1.02l0.09 0.24c0.09 0.26 0.17 0.48 0.17 0.78-0.12 0-0.23-0.06-0.36-0.11Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M35.99 29.56L36 29.62V29.6l0.18 0.09c0.18 0.07 0.38 0.15 0.2 0.41-0.38-0.15-0.72-0.16-1.07-0.18-0.22 0-0.45-0.02-0.7-0.06-0.2-0.1-0.24-0.2-0.3-0.36l-0.08-0.15c-0.06 0-0.15-0.21-0.25-0.45-0.12-0.26-0.25-0.56-0.38-0.69 0.26-0.13 0.38-0.13 0.63-0.13l0.3-0.02c0.24-0.03 0.5-0.06 0.59 0.02 0.12 0.12 0.23 0.35 0.35 0.59l0.03 0.05c0.12 0.12 0.34 0.57 0.48 0.83Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M18.85 26.3c-0.23 0.14-0.46 0.28-0.69 0.28v-0.03c-0.18 0-0.37-0.27-0.5-0.46l-0.13-0.17c-0.09 0-0.14-0.02-0.2-0.03-0.11-0.03-0.22-0.06-0.56 0.03-1.26 0.5-3.04 1.4-4.3 2.15-0.16-0.15-0.18-0.35-0.2-0.54 0-0.12-0.01-0.24-0.06-0.35 1.38-0.88 2.91-1.64 4.42-2.28 0.13-0.13 0-0.5-0.12-0.76 0 0-0.9-0.13-2.54 0.38-0.67 0.17-1.4 0.5-1.85 0.7-0.23 0.12-0.39 0.19-0.43 0.19 0 0-0.13-0.38-0.13-0.89 0.75-0.38 1.65-0.77 2.4-1.01 0.59-0.17 1.17-0.22 1.75-0.28l0.9-0.1c-0.12 0-0.12-0.25-0.12-0.38-0.37-0.75-0.98-1.37-1.6-1.99l-0.04-0.05c-0.25-0.5-0.5-1.13-0.5-1.4 0.14-0.15 0.3-0.07 0.47 0 0.12 0.07 0.25 0.13 0.4 0.13-0.12-0.38-0.25-0.89-0.25-1.4-0.08-0.34-0.12-0.72-0.12-1.13 0-0.4 0.07-0.7 0.11-0.9 0.05-0.2 0.08-0.32 0.01-0.38-0.12-0.12-0.63-0.38-0.75-0.38l-0.14-0.06c-0.17-0.07-0.27-0.11-0.37-0.32l-0.15-0.24c-0.32-0.52-0.6-0.99-0.6-1.53s0.18-0.98 0.39-1.5l0.1-0.28c0.11-0.4 0.53-0.65 0.9-0.86l0.25-0.15c0.28-0.2 0.56-0.17 0.85-0.15l0.28 0.02c0.82 0 1.54 0.43 2.14 0.8L18 11.06c0.5 0.38 0.76 0.9 0.89 1.4h1.13c0.65 0.13 1.28 0.26 2.03 0.64 0.9-0.76 2.41-0.89 3.17-0.89 0-1.4 1.02-2.16 1.78-2.16L27.18 10c0.54-0.1 0.93-0.18 1.73 0.17 0.63 0.38 1.52 1.64 1.52 1.77 0.18 0.38 0.16 0.82 0.14 1.34l-0.02 0.57c-0.12 0.5-0.12 0.88-0.12 1.01-0.13 0.51-0.76 0.89-1.14 1.02 0 0.58-0.1 1-0.21 1.42-0.06 0.23-0.12 0.47-0.17 0.74 0 0.4-0.12 0.77-0.25 1.15 0.15-0.05 0.26-0.12 0.36-0.19 0.16-0.1 0.3-0.19 0.52-0.19-0.17 1.1-0.4 1.36-0.64 1.64-0.12 0.13-0.24 0.27-0.37 0.52-0.12 0.51-0.38 1.02-0.75 1.53-0.13 0.13-0.26 0.26-0.64 0.5-0.16 0.09-0.1 0.17-0.05 0.26 0.03 0.04 0.05 0.08 0.05 0.13 1.28 0 2.8 0.37 4.82 1.4 0.08 0.07 0.01 0.2-0.08 0.38-0.06 0.11-0.12 0.24-0.17 0.38-1.34-0.76-2.67-1.03-3.62-1.22-0.32-0.06-0.6-0.11-0.82-0.18v1.02c0.25 0.06 0.44 0.16 0.62 0.25 0.2 0.1 0.39 0.2 0.64 0.26 0.26 0.13 2.16 1.14 2.8 1.52 0 0.26 0 0.77-0.26 0.77-1.36-0.88-2.35-1.3-3.36-1.74l-0.94-0.42c-0.1 0.1-0.18 0.21-0.26 0.34-0.13 0.19-0.27 0.4-0.5 0.55-0.08 0.07-0.42-0.17-0.79-0.42-0.25-0.18-0.52-0.37-0.73-0.47-0.3-0.2-0.82-0.32-1.28-0.42l-0.37-0.09c-0.12 0-0.12-0.25-0.12-0.38-0.13-0.38-0.26-0.76-0.13-0.89 0.63-0.26 0.88-0.76 0.88-1.14 0-0.2 0.11-0.16 0.27-0.08 0.14 0.06 0.32 0.14 0.5 0.08 0.25-0.25 0.38-0.51 0.25-0.76 0-0.25-0.12-0.5-0.38-0.5-1.26-0.52-2.66-0.52-3.92 0-0.38 0.12-0.38 0.63-0.25 1 0.12 0.52 0.63 0.26 1 0 0.06 0 0.05 0.07 0.03 0.16-0.02 0.14-0.05 0.37 0.1 0.6 0.17 0.33 0.42 0.5 0.6 0.6 0.1 0.08 0.17 0.12 0.17 0.17 0 0.26-0.04 0.47-0.13 0.63 0 0.26 0 0.51-0.26 0.64-0.58 0.1-1.1 0.27-1.65 0.46l-0.5 0.17c-0.14 0.05-0.3 0.14-0.45 0.23Zm6.87-1.72c-0.3-0.14-0.58-0.29-0.97-0.29 0-0.25 0.04-0.42 0.12-0.5 0.61-0.11 0.98 0.04 1.3 0.17l0.22 0.08c0 0.13-0.13 0.76-0.13 0.76-0.2-0.05-0.37-0.13-0.54-0.22Zm1.3-7.14c-0.12 0-0.24 0.25-0.24 0.38-0.27 0.38-0.64 0.51-1.14 0.51-0.25 0-0.76 0-1.01-0.5 0 0 0.13 1.52 0.13 1.9 0 0.13 0.12 0.13 0.12 0.13 0.34 0.08 0.51 0.35 0.67 0.59 0.07 0.1 0.13 0.21 0.22 0.3 0 0 0.12 0.12 0.25 0.12 0.17 0.13 0.42 0.28 0.66 0.42 0.43 0.25 0.8 0.47 0.47 0.47 0 0.26-0.37 0.89-0.5 0.89-0.33-0.32-0.83-0.56-1.29-0.78l-0.24-0.1-0.19-0.39L24.75 21c-0.16-0.16-0.27-0.22-0.43-0.3L24 20.5c0-0.45-0.03-0.67-0.07-0.9-0.03-0.21-0.06-0.44-0.06-0.88 0-0.13-0.25-1.52-0.25-1.52 0-0.13 0.38-0.51 0.76-0.64 0 0 2.4 0 3.54 0.13 0 0-0.12 0.25-0.25 0.25-0.13 0.24-0.38 0.37-0.63 0.5Zm1.27-6.22c0.63 0.13 0.76 0.25 1.01 0.51 0.38 0.51 0.25 1.53 0.13 2.16-0.13 0.37-0.5 0.63-0.89 0.63-0.63-0.75-1.26-1.27-2.15-1.52-0.12-0.46 0.18-0.91 0.42-1.27l0.08-0.13c0.38-0.38 0.9-0.5 1.4-0.38Zm-2.79 4.06c-0.18 0.2-0.58 0.17-1.03 0.15L24 15.4c0-0.25 0-0.76-0.25-0.76-0.11-0.1-0.24-0.17-0.36-0.22-0.15-0.08-0.28-0.14-0.28-0.29-0.42-0.41 0.37-0.23 1.02-0.08l0.37 0.08c0.26 0 2.4 0.51 1.01 1.14Zm-5.2-1.14c0.26-0.13 0.76-0.25 0.76 0 0 0.38-0.2 0.6-0.45 0.9-0.1 0.11-0.2 0.23-0.3 0.37-0.17 0.25-0.28 0.23-0.51 0.18-0.13-0.02-0.29-0.05-0.5-0.05h-0.64c0-0.3 0.16-0.44 0.41-0.67l0.23-0.22c0.38-0.26 0.75-0.5 1-0.5Zm-5 0.45c-0.27-0.24-0.62-0.56-0.81-0.95-0.32-0.44-0.28-0.87-0.26-1.07V12.5c0.26-0.76 1.14-1.02 1.66-1.15 0.25 0 0.5 0 0.88 0.26l0.19 0.09c0.38 0.18 0.6 0.28 0.82 1.05 0 0.13 0 0.25-0.13 0.25 0 0-0.75 0.5-1 0.77-0.31 0.18-0.5 0.43-0.66 0.63-0.16 0.21-0.29 0.38-0.48 0.38H15.5l-0.2-0.18Zm3.5 5.9c-0.39 0.12-0.9 0.37-1.15 0.75l0.01 0.01c-0.25 0.4-0.37 1.03 0 1.28 0.16 0.08 0.3-0.03 0.49-0.15 0.12-0.09 0.25-0.18 0.4-0.23 0.3-0.1 0.36-0.3 0.44-0.57l0.06-0.19c0.12-0.11 0.28-0.2 0.43-0.29 0.2-0.1 0.39-0.2 0.46-0.35v-0.37l0.1-0.9c0.04-0.48 0.07-0.76 0.15-1.27l0.06-0.5 0.07-0.52c0-0.25-0.26-0.5-0.64-0.63h-1.65c-0.63 0-1.13 0-1.76 0.13 0.2 0.42 0.67 0.84 0.97 1.12l0.16 0.14c0.25 0.25 0.5 0.51 1.01 0.51 0.25-0.06 0.38-0.06 0.48-0.06 0.1 0 0.15 0 0.28-0.07l0.03 0.27c0.02 0.2 0.06 0.44-0.03 0.62v0.07c0.02 0.26 0.07 1.08-0.38 1.2Zm-0.27 3.41c0.25 0 0.5 0 0.76 0.13-0.13 0.13-0.63 0.38-0.63 0.38l-0.22 0.12c-0.14 0.09-0.28 0.17-0.54 0.26-0.13-0.25-0.25-0.76-0.25-0.76s0.5-0.13 0.88-0.13Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M30.95 30.13h-0.02 0.02Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M31.95 31.26l0.14 0.14c0.12 0.26 0.5 0.26 0.76 0.26h1.26l0.29-0.09c0.23-0.06 0.41-0.1 0.6-0.29l-0.78-0.36-0.88-0.4c-0.5-0.26-0.88-0.52-1.26-0.9-0.15 0-0.25 0.05-0.34 0.09-0.06 0.02-0.12 0.05-0.18 0.05-0.12 0.06-0.2 0.12-0.3 0.18-0.1 0.06-0.19 0.13-0.31 0.19 0.33 0.44 0.66 0.79 1 1.13Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M29.06 31.78c-0.25-0.64-0.38-1.28-0.38-1.28v0.01c0.14 0 0.39 0 0.51 0.13 0.26 0 0.47 0.04 0.64 0.12 0 0.26 0.5 1.15 0.88 1.53v0.25c-0.38 0-0.88-0.12-1.14-0.25-0.13 0-0.39-0.25-0.51-0.51Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M9.3 17.8v0.01-0.01Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M9.8 17.18c-0.17 0.16-0.33 0.37-0.5 0.62-0.01-0.14-0.13-1.43-0.25-2.14 0.35-0.17 0.57-0.35 0.85-0.57l0.41-0.32-0.09-0.5c-0.09-0.51-0.16-0.92-0.16-1.4 0-0.39 0-0.77 0.25-1.15 0.25-0.5 0.89-0.5 1.4-0.38l-0.12 0.68c-0.08 0.43-0.14 0.77-0.14 1.48 0 0.13 0.25 0.75 0.38 1.01 0.12 0.25 0.25 0.51 0.25 0.76 0 0.12-0.13 0.25-0.25 0.38-0.17 0.1-0.28 0.14-0.37 0.17-0.12 0.04-0.2 0.06-0.26 0.2l-0.64 0.54c-0.25 0.21-0.46 0.4-0.76 0.62Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M28.04 32.8c0 0.12 0.12 0.88 0.63 1.64v0.01s-0.12 0-0.24 0.13c-0.14 0-0.77 0-0.9-0.13-0.25-0.12-0.88-1.27-0.88-1.64-0.14-0.38-0.14-1.15 0-1.53 0 0 0.76 0.25 1 0.38 0.39 0 0.36 0.32 0.33 0.63-0.02 0.2-0.04 0.4 0.06 0.5Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M25.25 28.86c0.25-0.51 0.25-1.14 0.25-1.65-1-0.63-2.28-0.75-3.54-0.75-1.14 0-2.41 0.12-3.67 1.01 0.12 0.51 0.25 0.89 0.5 1.4 0.06 0 0.13 0.06 0.2 0.13 0.05 0.06 0.12 0.13 0.18 0.13l0.17-0.19c0.2-0.23 0.43-0.48 0.71-0.57v0.5c0 0.39 0 0.65 0.13 1.03 0 0.37 0.38 0.37 0.88 0.37s0.64-0.88 0.64-1.01c0 0 0.12 0.5 0.88 0.88 0 0 0.88 0 0.88-0.13l0.1-0.43c0.08-0.3 0.13-0.47 0.03-0.83 0 0 0.76 0.5 1.14 1.02l0.02-0.02c0.25-0.25 0.5-0.76 0.5-0.9Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M10.98 19.39l-0.92 0.7c-0.23 0.11-0.34 0.23-0.64 0.52L9.3 20.72c-0.06-0.19-0.1-0.37-0.12-0.56-0.04-0.2-0.07-0.38-0.13-0.57 0-0.13 0-1.02 0.13-1.4 0-0.25 1.13-0.64 1.76-0.76 0.07 0 0.2-0.01 0.34-0.04 0.4-0.06 0.96-0.14 1.05 0.04 0.07 0.12 0.04 0.18 0 0.3-0.05 0.12-0.12 0.31-0.12 0.72-0.07 0.14-0.14 0.16-0.23 0.2-0.07 0.03-0.16 0.06-0.28 0.18l-0.72 0.56Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M24.62 32.11l0.13-0.08v-0.01c0.05 0 0.1-0.03 0.2-0.06 0.1-0.05 0.27-0.13 0.55-0.2v2.03c0.13 0.52 0.38 1.66 0.38 1.66s-0.5-0.25-0.5-0.38c-0.37-0.18-0.53-0.23-0.74-0.3l-0.27-0.08c-0.13-0.12-0.13-0.38-0.13-0.76 0-0.1-0.02-0.26-0.05-0.43-0.03-0.25-0.08-0.55-0.08-0.84 0-0.22 0.2-0.35 0.5-0.55Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M23.1 32.28v-0.01 0.01Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M22.76 32.35l0.34-0.07c0.12 0.63 0.25 1.27 0.12 1.64-0.08 0.28-0.23 0.48-0.4 0.7-0.08 0.1-0.16 0.2-0.23 0.32-0.06 0.13-0.25 0.26-0.44 0.38-0.2 0.13-0.38 0.26-0.44 0.39-0.1-0.26-0.06-0.47-0.03-0.65l0.03-0.24c0-0.38 0-0.64-0.13-0.89l-0.03-0.26c-0.02-0.23-0.06-0.5 0.03-0.75 0-0.32 0.66-0.46 1.18-0.57Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M9.08 24.1C8.81 24.4 8.54 24.7 8.41 24.9l-0.13-1.53c-0.08-0.26-0.12-0.64-0.12-1.14 0.31-0.19 0.53-0.35 0.76-0.5 0.22-0.17 0.44-0.33 0.76-0.52 0.23-0.24 1.06-0.48 2.23-0.83l0.17-0.05c0 0.42-0.09 0.75-0.19 1.14l-0.06 0.25c-1.08 0.54-1.6 1.08-1.9 1.39L9.8 23.26C9.6 23.5 9.34 23.8 9.08 24.1Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M20.57 35.7Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M20.64 34.72c0.1 0.33 0.19 0.71-0.07 0.97-0.15-0.15-0.22-0.16-0.3-0.18-0.05-0.01-0.11-0.02-0.2-0.07 0 0-1.27-1.27-1.27-1.78 0-0.11-0.05-0.26-0.1-0.4-0.1-0.31-0.2-0.61 0.23-0.61 0-0.16 0.24-0.07 0.49 0.02 0.15 0.05 0.3 0.1 0.4 0.1 0.24 0 0.5 0.14 0.62 0.39 0.07 0.18 0.07 0.38 0.07 0.57 0 0.19 0 0.38 0.06 0.57 0 0.12 0.04 0.26 0.07 0.42Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M17.35 33.18c-0.08 0.16-0.16 0.3-0.2 0.48v0.01c-0.2-0.3-0.32-0.69-0.43-1.03l-0.08-0.23c-0.08-0.27-0.24-0.48-0.4-0.71L16 31.4c0.13-0.14 0.26-1.16 0.26-1.16 0.08-0.08 0.2 0 0.32 0.06 0.07 0.04 0.13 0.07 0.18 0.07 0.37 0.25 0.5 0.51 0.63 0.76s0.25 0.89 0.25 0.89c0 0.57-0.15 0.88-0.3 1.16Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M13.9 29.3c0.22 0.1 0.49 0.23 0.59 0.43v-0.01c0.14 0.22 0.12 0.48 0.1 0.74-0.01 0.19-0.03 0.37 0.02 0.53 0.13 0.64 0.51 1.78 0.51 1.78-0.19-0.13-0.38-0.22-0.57-0.32-0.19-0.1-0.38-0.19-0.57-0.31-0.25-0.12-0.5-0.25-0.5-0.38-0.13-0.38-0.25-1.28-0.25-1.53 0-0.5 0.25-1.01 0.5-1.01l0.16 0.08Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M8.53 26.06v-0.63h0.01c0.27-0.13 0.57-0.3 0.87-0.46 0.27-0.16 0.54-0.3 0.79-0.43l-0.09 0.4c-0.1 0.4-0.17 0.72-0.17 1.5 0 0.12 0.06 0.34 0.12 0.63 0.09 0.35 0.2 0.8 0.26 1.28l-0.13 0.27c-0.18 0.38-0.33 0.69-0.64 1C9.43 29.88 9.18 30 9.18 30c0-0.25-0.13-0.51-0.27-0.76-0.06-0.2-0.1-0.39-0.12-0.58-0.03-0.19-0.07-0.38-0.13-0.57 0-0.2-0.04-0.72-0.07-1.18l-0.06-0.85Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M18.92 36.71c0.25 0 0.63 0 0.63 0.13 0.1 0.41 0.04 0.58-0.06 0.82l-0.07 0.2c-0.23 0.46-0.46 0.61-0.78 0.82l-0.1 0.07c-0.25 0-1.4 0.25-1.4 0.25 0.05-0.1 0.1-0.19 0.18-0.29 0.11-0.17 0.24-0.36 0.33-0.6 0.12-0.5 0.25-0.89 0.5-1.27 0.13 0 0.26-0.03 0.4-0.06 0.12-0.03 0.24-0.07 0.37-0.07Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M10.06 31.89c0 0.26-0.38 0.5-0.38 0.5v-0.01c0-0.3-0.05-0.65-0.09-0.93-0.02-0.2-0.05-0.37-0.05-0.47l-0.1-0.17c-0.08-0.15-0.15-0.27-0.15-0.46 0.11-0.11 0.32-0.22 0.54-0.33l0.1-0.04c0.08-0.17 0.39-0.4 0.62-0.57 0.12-0.08 0.22-0.15 0.26-0.2 0.39 0.39 0.51 0.52 0.76 1.15l-0.16 0.16c-0.29 0.26-0.86 0.78-1.35 1.37Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M15.25 35.2H16l0.01-0.01c0.13-0.13 0.38-0.26 0.5 0 0 0.12 0 0.26-0.02 0.4-0.03 0.29-0.06 0.57 0.03 0.75v0.88l-0.17 0.36c-0.16 0.35-0.37 0.82-0.46 0.9-0.09 0.08-0.27 0.16-0.46 0.25l-0.31 0.14c-0.1 0-0.2 0.03-0.32 0.07-0.2 0.06-0.45 0.14-0.69 0.06 0.16-0.4 0.27-0.6 0.4-0.83l0.23-0.44c0-0.07 0.05-0.2 0.12-0.38 0.04-0.1 0.09-0.23 0.13-0.38 0-0.75 0.26-1.77 0.26-1.77Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M12.46 33.17c-0.25 0.24-1.01 1.01-1.26 1.4h-0.01c-0.24 0.23-0.48 0.35-0.71 0.47l-0.05 0.03c-0.25-0.76-0.5-1.4-0.89-2.03 0 0 1.9-0.76 2.41-0.76 0.04 0.06 0.07 0.13 0.1 0.21 0.1 0.23 0.21 0.49 0.4 0.68Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,18 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFE0E0E0"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M20 39c10.5 0 19-8.5 19-19S30.5 1 20 1 1 9.5 1 20s8.5 19 19 19Zm0 1c11.05 0 20-8.95 20-20S31.05 0 20 0 0 8.95 0 20s8.95 20 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FF3E4A59"
|
||||
android:pathData="M16.95 17.5c-0.93 0-1.53 0.49-1.9 1.07h-0.03l0.02-0.94h-1.81c-0.17 0-0.31 0.2-0.31 0.4v5.78c0 0.2 0.15 0.38 0.31 0.38h1.8v-3.25c0-0.93 0.26-1.68 1.17-1.68 0.9 0 1 0.65 1 1.52v3.03c0 0.2 0.16 0.38 0.32 0.38h1.8V20.3c0.01-1.58-0.48-2.8-2.37-2.8Zm13.97 0c-0.86 0-1.45 0.32-1.8 0.64 0.02-0.24 0.02-0.58 0.02-0.92V15h-1.8c-0.16 0-0.31 0.2-0.31 0.38v8.42c0 0.2 0.15 0.38 0.32 0.38h1.7l-0.02-0.54c0.48 0.46 1.14 0.68 1.87 0.68 1.9 0 3.1-1.49 3.1-3.42-0.01-1.92-1.2-3.4-3.08-3.4Zm-0.46 5.06c-0.89 0-1.5-0.69-1.5-1.7s0.6-1.7 1.5-1.7 1.48 0.69 1.48 1.7-0.59 1.7-1.48 1.7Zm-17.91-4.94h-2.18c-0.17 0-0.34 0.1-0.44 0.22l-1.8 1.96V15H6.3C6.15 15 6 15.2 6 15.38v8.43c0 0.18 0.13 0.38 0.31 0.38h1.8V22.2l0.6-0.56 1.45 2.3c0.13 0.19 0.31 0.25 0.53 0.25h2.05l-2.58-4.11 2.39-2.46Zm12.9 0.65c-0.53-0.49-1.23-0.77-2.44-0.77-1.04 0-1.94 0.3-2.53 0.54-0.15 0.08-0.22 0.28-0.15 0.44l0.43 1.08c0.34-0.22 1.17-0.6 2-0.6 0.82 0 1.33 0.37 1.33 1.06v0.15l-1.65 0.06c-1.2 0.05-2.54 0.54-2.54 2s1.23 2.09 2.38 2.09c1.06 0 1.6-0.56 1.87-0.84l0.03 0.45c0.02 0.12 0.13 0.24 0.3 0.24h1.74v-3.68c0-1.1-0.28-1.74-0.78-2.22Zm-1.33 4.12c-0.14 0.23-0.52 0.6-1.08 0.6s-1-0.31-1-0.8c0-0.5 0.38-0.79 1.02-0.8l1.05-0.07v1.07Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,15 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FF64AA99"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M8 13.2h7.43V12H8v1.2Zm20.93 10.57c-1.08 0-1.84-1-1.97-2.32 0.33-1.13 1.07-1.7 1.93-1.7 1.12 0 1.75 0.83 1.75 2 0 1.25-0.72 2.02-1.7 2.02Zm0.28-5.1c-1.1 0-1.89 0.5-2.29 1.25 0-1.77 0.63-3.32 2.1-3.32 0.94 0 1.3 0.54 1.5 1.42l1.37-0.27c-0.32-1.53-1.29-2.27-2.86-2.27-1.98 0-3.45 1.52-3.45 4.9 0 3.02 1.23 4.5 3.35 4.5 1.76 0 3.07-1.19 3.07-3.16 0-1.54-0.82-3.06-2.8-3.06Zm-15.17-3.09v6.3c0 0.56 0.01 0.9 0.04 1.22h-0.03c-0.13-0.37-0.3-0.7-0.53-1.12l-3.74-6.4h-1.7v9.21H9.4v-6.3c0-0.56-0.02-0.9-0.04-1.22h0.02c0.14 0.37 0.3 0.7 0.54 1.12l3.73 6.4h1.7v-9.21h-1.32Zm1.4 12.78H8v-1.18h7.43v1.18Zm6.23-6.48c-0.44 0.44-1.43 1.24-2.13 1.72h4.17v1.19h-6.13V23.7c0.7-0.5 2.18-1.6 3.1-2.53 0.9-0.88 1.47-1.69 1.47-2.87 0-1.19-0.64-1.65-1.5-1.65-0.87 0-1.6 0.51-1.6 1.58 0 0.23 0.02 0.5 0.09 0.8l-1.4-0.14c-0.06-0.26-0.09-0.5-0.09-0.73 0-1.43 1-2.68 3.04-2.68 1.68 0 2.92 0.87 2.92 2.77 0 1.73-1.27 2.97-1.84 3.53l-0.1 0.1Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,61 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M40 20C40 8.95 31.05 0 20 0S0 8.95 0 20s8.95 20 20 20 20-8.95 20-20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFE0E0E0"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M20 39c10.5 0 19-8.5 19-19S30.5 1 20 1 1 9.5 1 20s8.5 19 19 19Zm0 1c11.05 0 20-8.95 20-20S31.05 0 20 0 0 8.95 0 20s8.95 20 20 20Z"/>
|
||||
<path
|
||||
android:pathData="M30.02 23c0.5 0.48 0.92 1 1.21 1.56 0.94 1.78 0.6 3.75-1.26 5.47C27.84 32 24.2 33.21 20 33.21c-4.2 0-7.83-1.21-9.96-3.18-1.85-1.72-2.2-3.69-1.27-5.47 0.3-0.56 0.7-1.08 1.21-1.56-0.6 0.54-1.06 1.02-1.48 1.82-0.91 1.72-0.62 4.17 1.3 5.94C11.98 32.8 15.4 34 20.04 34c4.65 0 8.08-1.25 10.17-3.24 2.05-1.94 2.13-4.47 1.29-6-0.36-0.63-0.83-1.21-1.48-1.76Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:type="linear"
|
||||
android:startX="0.03"
|
||||
android:startY="19.85"
|
||||
android:endX="40.05"
|
||||
android:endY="19.85">
|
||||
<item
|
||||
android:color="#FFCC612C"
|
||||
android:offset="0"/>
|
||||
<item
|
||||
android:color="#FF743237"
|
||||
android:offset="1"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:fillColor="#FFF47920"
|
||||
android:pathData="M26.58 20.93c-1.97-0.77-4.26-1.16-6.6-1.16-2.33 0-4.62 0.4-6.6 1.16-2.15 0.85-3.82 2.1-4.62 3.63-0.93 1.78-0.6 3.75 1.26 5.47 2.13 1.97 5.76 3.18 9.97 3.18 4.2 0 7.83-1.21 9.96-3.18 1.85-1.72 2.2-3.69 1.27-5.47-0.8-1.53-2.48-2.78-4.64-3.63Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M14.89 22.02c1.46 0.35 2.84 0.76 4.25 1.26 0.28-0.8 0.58-1.58 0.91-2.35 0.34 0.77 0.64 1.55 0.92 2.35 1.4-0.5 2.77-0.9 4.22-1.24-1.02 0.6-1.93 1.23-2.87 1.93 1.92 0.23 3.72 0.53 5.62 0.92-1.9-0.04-3.67 0.02-5.56 0.14 1.33 1.06 2.47 2.09 3.71 3.25-1.7-0.92-3.29-1.68-5.06-2.47-0.34 1.4-0.66 2.8-0.98 4.19-0.3-1.4-0.6-2.73-0.94-4.12-1.77 0.78-3.37 1.53-5.13 2.4 1.24-1.15 2.42-2.16 3.75-3.22-1.9-0.11-3.7-0.13-5.63-0.16 1.88-0.39 3.78-0.7 5.69-0.92-0.94-0.7-1.87-1.35-2.9-1.96Zm5.17 2.43v-3.07c-0.33 0.85-0.62 1.72-0.9 2.6l0.9 0.47Zm-4.32-2.1c1.17 0.5 2.3 1.04 3.42 1.62l-0.83 0.09c-0.84-0.6-1.7-1.17-2.59-1.7Zm4.32 2.1c2.25 0 4.5 0.11 6.73 0.32-1.97-0.33-3.87-0.59-5.84-0.8l-0.9 0.48Zm4.31-2.1c-1.17 0.5-2.3 1.04-3.42 1.62l-0.14-0.43c1.17-0.44 2.36-0.84 3.56-1.18Zm-4.43 2.1c0.04 1.5 0.1 3.07 0.12 4.5 0.29-1.32 0.6-2.65 0.92-3.97-0.3-0.18-0.73-0.35-1.04-0.52ZM25 27.53c-1.31-0.9-2.65-1.74-4.03-2.54l0.85-0.06c1.09 0.83 2.15 1.7 3.18 2.6Zm-4.95-3.07c-2.27 0.04-4.03 0.13-6.24 0.31 1.9 0 3.39 0.08 5.32 0.22l0.92-0.53Zm-4.95 3.07c1.31-0.9 2.65-1.74 4.03-2.54l0.12 0.5c-1.4 0.63-2.8 1.32-4.15 2.04Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M20.34 32.8l-0.22 0.14-0.22-0.14v-1.73l0.22-0.12 0.22 0.12v1.73ZM9.45 28.62l-0.1 0.2 0.25 0.08 1.9-0.95 0.07-0.22-0.2-0.04-1.92 0.93Zm-0.47-3.55l-0.17 0.14 0.1 0.12c0.6-0.08 1.2-0.15 1.8-0.2l0.17-0.17-0.1-0.1-1.8 0.21Zm2.3-2.86L11.1 22.3l0.01 0.13c0.45 0.05 0.89 0.13 1.33 0.2l0.18-0.1-0.02-0.1c-0.43-0.08-0.88-0.15-1.32-0.2Zm13.5-1.76h0.16L25 20.51l-0.68 0.43h-0.18l-0.07-0.07c0.23-0.14 0.46-0.29 0.7-0.42Zm-4.82-0.6l0.13-0.04 0.13 0.04v0.5L20.1 20.4l-0.13-0.04v-0.51Zm-4.83 0.68l0.1-0.08h0.16c0.24 0.13 0.47 0.27 0.7 0.42l-0.07 0.07c-0.06 0-0.15 0.02-0.2 0.01l-0.69-0.42Zm-1.4 11.21l-0.3 0.04c-0.02-0.06-0.07-0.12-0.08-0.18l1.36-1.5 0.29-0.05 0.09 0.18c-0.46 0.5-0.92 1-1.36 1.51Zm16.9-3.12l0.12 0.2-0.26 0.08-1.9-0.95-0.07-0.22 0.2-0.04 1.92 0.93Zm0.48-3.55l0.17 0.14-0.1 0.12c-0.59-0.08-1.19-0.15-1.79-0.2l-0.18-0.17c0.04-0.03 0.08-0.06 0.1-0.1l1.8 0.21Zm-2.3-2.86l0.18 0.08-0.02 0.13c-0.44 0.05-0.88 0.13-1.32 0.2l-0.19-0.1 0.03-0.1c0.44-0.08 0.87-0.15 1.32-0.2Zm-2.45 9.53l0.3 0.04c0.03-0.06 0.06-0.11 0.08-0.18l-1.36-1.5-0.3-0.05c-0.01 0.05-0.05 0.14-0.08 0.18l1.36 1.51Z"/>
|
||||
<path
|
||||
android:pathData="M15.85 14.71c0.04-0.34-0.01-0.31 0.22-0.63 0.22-0.3 0.11-0.45 0.3-0.7 0.47-0.55 0.91-1.11 1.44-1.6 0.35-0.35 0.83-1.48 0.94-1.88 0.02-0.05 0.05-0.08 0.07-0.03 0.07 0.76 0.19 1.39 0.16 2.13-0.06 1.57-0.02 1.4 0.67 2.86 0.06-0.58 0.21-1.43 0.58-1.72-0.43 1.52-0.46 3.69-0.5 4.36-0.02 0.34-0.12 0.87 0.05 1.19 0.06 0.2 0.06 0.53 0.07 0.77v2.67l-0.24 1.17c-0.09 0.34-0.55 0.91-0.9 1.09-0.1 0.05-0.36 0.18-0.36 0.3 0 0.18 1.27 0.53 1.56 0.1 0.22-0.3 0.4-0.48 0.65-0.72 0.4-0.36-0.04-0.73 0.01-1.21 0.1-0.85 0.48-1.59 0.6-2.39 0.08-0.48 0.07-0.9-0.16-1.46l0.16-1.53c0.19 0.26 0.37 0.68 0.54 1.03 0.32 0.62 0.32 0.68 0.87 1.2 0.18 0.17 0.37 0.37 0.51 0.58 0.26 0.38 0.43 0.76 0.41 1.22-0.18 0.32-0.27 0.3-0.5 0.5 0 0.01-0.08 0.19 0.15 0.19 0.83 0 0.73-0.4 1.04-0.93 0.2-0.34 0.78-0.86 0.14-1.04-0.2-0.05-0.38-0.16-0.5-0.35-0.43-0.69-0.45-0.67-0.68-1.3-0.14-0.39-0.42-0.7-0.75-0.96-0.2-0.43-0.29-0.74-0.35-1.2-0.09-0.62-0.15-1.07-0.26-1.71 0.32-1.2 0.48-1.46-0.06-2.61-0.13-0.27-0.2-0.57-0.2-0.86 0-0.39 0.23-1.25 0.44-1.7 0.08-0.18 0.19-0.35 0.34-0.4 0.13 0.46 0.58 1.42 0.85 1.65 0.02 0.2 0.01 0.38 0.09 0.56 0.33 0.75 0.81 1.44 1.05 2.23 0.09 0.28-0.02 0.4-0.1 0.63-0.03 0.1-0.04 0.41 0.01 0.64l0.12 0.06-0.12 0.35c0.02 0.1 0.16 0.17 0.16 0.17 0.18-0.04 0.44-0.67 0.44-0.92-0.03-0.77-0.2-1.1-0.25-1.34-0.27-1.3-0.11-1.65-0.88-2.9l-0.44-1.03c-0.06-0.52-0.28-1.72-1-1.93-0.11-0.04-0.23-0.05-0.41-0.1-0.93-0.29-0.93-0.96-0.68-1.7 0.23-0.65 0.26-1.42-0.77-1.5-0.63-0.06-0.82 0.41-0.96 0.95 0 0.06 0.04 0.94 0.18 1.13 0.27 0.19 0.42 0.13 0.4 0.61 0 0.4-0.28 0.63-0.65 0.76-0.6 0.2-0.9 0.31-1.1 0.89-0.06 0.18-0.11 0.44-0.11 0.83v0.03c-0.18 0.4-0.39 0.85-0.52 1.28-0.73 0.69-1.1 2.26-1.83 2.93-0.5 0.44-0.65 0.47-0.47 1.15 0.02 0.07 0.26 0.25 0.3 0.27 0.04 0.02 0.24-0.09 0.23-0.13Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:type="linear"
|
||||
android:startX="16.16"
|
||||
android:startY="11.08"
|
||||
android:endX="24.24"
|
||||
android:endY="19.65">
|
||||
<item
|
||||
android:color="#FF2A3795"
|
||||
android:offset="0"/>
|
||||
<item
|
||||
android:color="#FF222A7E"
|
||||
android:offset="1"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,19 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FFCA031A"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M15.9 18.65c-0.4-1.08-0.77-2.04-0.9-2.32-0.24-0.52-0.67-1.05-1.28-1.15l0.09-0.01c1.13-0.16 1.62-1 1.62-1.83 0-0.73-0.4-1.86-2.25-1.86h-1.92c-0.14 0-0.26 0.11-0.26 0.24v7c0 0.12 0.12 0.23 0.26 0.23h0.53c0.13 0 0.24-0.1 0.24-0.24V15.6h0.53c0.76 0 1.1 0.47 1.36 0.95 0.3 0.57 0.52 1.38 0.81 2.25 0.04 0.14 0.14 0.17 0.27 0.17h0.73c0.2 0 0.23-0.13 0.17-0.3Zm-2.86-3.95h-1V12.4h1.13c0.8 0 1.21 0.47 1.21 1.08 0 0.77-0.51 1.23-1.34 1.23Zm4.82-1.2c-1.22 0-2.05 1.06-2.05 2.74 0 1.82 0.86 2.77 2.39 2.77 0.65 0 1.02-0.1 1.38-0.26 0.12-0.06 0.2-0.16 0.14-0.3L19.6 18.1c-0.05-0.13-0.14-0.21-0.3-0.16-0.33 0.09-0.63 0.19-1.05 0.19-1 0-1.34-0.58-1.39-1.62h2.78c0.13 0 0.24-0.1 0.24-0.24 0-2.04-0.88-2.77-2.02-2.77Zm-0.99 2.25c0.11-1.16 0.62-1.43 1.03-1.43 0.69 0 0.93 0.72 0.96 1.43h-1.99Zm6.2 2.25h-0.93c-0.4 0-0.58-0.06-0.58-0.3 0-0.12 0.1-0.24 0.2-0.34 0.18 0.04 0.36 0.07 0.54 0.07 1.24 0 2.03-0.75 2.03-1.97 0-0.38-0.17-0.75-0.4-1.07l0.36-0.04c0.14 0 0.23-0.09 0.23-0.23v-0.3c0-0.13-0.1-0.25-0.24-0.25h-1.29c-0.23 0-0.45-0.06-0.69-0.06-1.19 0-2 0.7-2 1.95 0 0.73 0.31 1.29 0.8 1.61-0.26 0.24-0.49 0.53-0.49 0.93 0 0.64 0.57 0.86 1.23 0.86h1.08c0.6 0 0.83 0.24 0.83 0.7 0 0.49-0.53 0.79-1.21 0.79-0.53 0-1.1-0.1-1.2-0.7-0.02-0.13-0.1-0.22-0.24-0.22l-0.55-0.03c-0.14 0-0.25 0.1-0.25 0.23v0.01c0.01 1.2 1.14 1.56 2.21 1.56 1.08 0 2.22-0.47 2.22-1.76-0.01-0.91-0.66-1.44-1.67-1.44Zm-0.76-3.73c0.54 0 1 0.19 1 1.16 0 0.98-0.48 1.22-1 1.22-0.51 0-0.98-0.18-0.98-1.22 0-0.98 0.45-1.16 0.98-1.16Zm4.03-2.58c0-0.37-0.3-0.69-0.68-0.69-0.38 0-0.7 0.3-0.7 0.68v0.01c0 0.4 0.3 0.7 0.7 0.7 0.4 0 0.68-0.3 0.68-0.7Zm-0.17 7.01v-4.89c0-0.13-0.13-0.24-0.24-0.24h-0.5c-0.14 0-0.26 0.1-0.26 0.24v4.9c0 0.13 0.12 0.23 0.26 0.23h0.5c0.11 0.01 0.24-0.1 0.24-0.24Zm2.67-5.2c-1.33 0-2.17 1.05-2.17 2.76 0 1.7 0.83 2.74 2.17 2.74 1.34 0 2.16-1.05 2.16-2.74 0-1.7-0.82-2.76-2.16-2.76Zm1.1 2.76c0 1.34-0.42 1.9-1.12 1.9-0.7 0-1.12-0.56-1.12-1.9 0-1.34 0.43-1.9 1.12-1.9 0.69 0 1.12 0.57 1.12 1.9Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M14.17 24.97c0.9-0.26 1.29-0.82 1.29-1.65 0-1.1-0.75-1.86-2.04-1.86h-2.16c-0.14 0-0.26 0.11-0.26 0.25v6.98c0 0.14 0.12 0.24 0.26 0.24h2.27c1.4 0 2.25-0.76 2.25-2.1 0-0.96-0.54-1.73-1.6-1.86Zm-2.14-2.62h1.19c0.79 0 1.18 0.4 1.18 1.12 0 0.71-0.43 1.12-1.26 1.12h-1.1v-2.24Zm2.63 4.38c0 0.81-0.46 1.3-1.23 1.3h-1.4V25.4h1.2c0.9 0 1.43 0.56 1.43 1.32Zm5.49 1.97l-0.07-0.32c-0.07-0.34-0.06-0.64-0.06-0.91v-1.93c0-0.9-0.14-2.03-1.91-2.03-0.48 0-1.03 0.12-1.35 0.2-0.14 0.04-0.2 0.15-0.16 0.3l0.09 0.4c0.03 0.15 0.14 0.23 0.3 0.18 0.3-0.07 0.62-0.19 1.06-0.19 0.79 0 0.96 0.3 0.96 0.95v0.26L17.8 25.7c-0.9 0.07-1.67 0.53-1.67 1.72 0 1 0.54 1.59 1.44 1.59 0.61 0 1.19-0.22 1.53-0.77l0.07 0.5c0.03 0.15 0.13 0.22 0.26 0.22h0.51c0.16 0 0.23-0.1 0.22-0.25Zm-1.13-1.54c0 0.4-0.46 1.02-1.16 1.02-0.41 0-0.7-0.24-0.7-0.78 0-0.83 0.49-1.03 1.16-1.05l0.7-0.03v0.84Zm5.5 1.54v-3.8c0-0.84-0.53-1.4-1.36-1.4-0.59 0-1.06 0.23-1.52 0.77l-0.11-0.5c-0.03-0.14-0.1-0.2-0.27-0.2h-0.33c-0.13 0-0.26 0.1-0.26 0.23v4.9c0 0.13 0.13 0.24 0.26 0.24h0.5c0.14 0 0.25-0.1 0.25-0.24v-3.02c0-0.74 0.52-1.31 1.2-1.31 0.46 0 0.63 0.23 0.63 0.75v3.58c0 0.13 0.13 0.24 0.26 0.24h0.5c0.14 0 0.26-0.1 0.26-0.24ZM29 28.65l-1.82-2.78 1.49-2.03c0.1-0.12 0.03-0.27-0.13-0.27h-0.7c-0.16 0-0.26 0.07-0.33 0.19l-1.35 2.05v-4.5c0-0.14-0.1-0.25-0.23-0.25h-0.5c-0.14 0-0.25 0.1-0.25 0.24v7.4c0 0.14 0.1 0.25 0.24 0.25h0.5c0.13 0 0.24-0.1 0.24-0.24v-2.65l1.62 2.68c0.07 0.14 0.17 0.21 0.3 0.21h0.79c0.15 0 0.2-0.17 0.13-0.3Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,21 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFE0E0E0"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M20 39c10.5 0 19-8.5 19-19S30.5 1 20 1 1 9.5 1 20s8.5 19 19 19Zm0 1c11.05 0 20-8.95 20-20S31.05 0 20 0 0 8.95 0 20s8.95 20 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M22.2 9H12v3.54h9.78c1.52 0 2.76 1.27 2.76 2.84 0 1.58-1.24 2.85-2.76 2.85h-3.77c-0.1 0-0.19 0.09-0.19 0.2v3.2c0 0.05 0.02 0.09 0.04 0.12L24.35 31H29l-6.49-9.3c3.24-0.18 5.83-2.95 5.83-6.35 0-3.5-2.75-6.35-6.15-6.35Z"/>
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M15.99 14.5H12V31h3.99V14.5Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,14 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FF5E3678"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M11.25 19.21l-1.81-0.43c-0.69-0.18-0.86-0.45-0.86-0.79v-0.34c0-0.28 0.19-0.5 0.42-0.58C9.2 17 9.4 16.99 9.74 16.99h3.13c0.09 0 0.16-0.06 0.16-0.13v-0.64c0-0.28-0.02-0.57-0.32-0.79-0.17-0.12-0.47-0.22-0.9-0.3C11.38 15.06 10.65 15 9.68 15c-1.56 0-2.43 0.28-3.03 0.9C6.49 16.03 6 16.66 6 17.64v0.71c0.12 1.52 1.24 1.95 2.4 2.2 0.28 0.07 1.7 0.4 1.74 0.42 0.69 0.18 0.87 0.45 0.87 0.8v0.4c0 0.28-0.2 0.5-0.43 0.57-0.19 0.06-0.44 0.08-0.8 0.08H6.16C6.07 22.83 6 22.89 6 22.96v0.33c0.02 0.55 0.1 0.95 0.5 1.22 0.32 0.2 0.94 0.48 2.94 0.48h0.22c1.14-0.03 1.87-0.18 2.38-0.38 0.43-0.18 0.68-0.37 0.88-0.58 0.27-0.25 0.68-0.88 0.73-1.7v-0.8c-0.09-1.52-1.25-2.05-2.4-2.32Zm12.52-4.08h-1.34c-0.49 0-0.6 0.1-0.6 0.54v4.78h-0.07l-3.62-4.62c-0.34-0.41-0.79-0.7-1.48-0.7h-0.94c-0.08 0-0.15 0.06-0.15 0.14v9.06c0 0.43 0.1 0.54 0.6 0.54h1.35c0.48 0 0.6-0.1 0.6-0.54v-4.8h0.07l3.7 4.71c0.34 0.37 0.8 0.61 1.38 0.61h0.92c0.09 0 0.15-0.06 0.15-0.13v-9.07c0.04-0.41-0.06-0.52-0.57-0.52ZM34 21.53c-0.12-1.52-1.27-2.05-2.41-2.3l-1.82-0.44c-0.68-0.17-0.85-0.44-0.85-0.78v-0.35c0-0.28 0.18-0.5 0.42-0.58 0.18-0.06 0.38-0.07 0.74-0.07h3.13c0.09 0 0.15-0.06 0.15-0.14v-0.63c0-0.29-0.01-0.57-0.32-0.8-0.16-0.11-0.47-0.22-0.88-0.3-0.46-0.07-1.18-0.13-2.15-0.13-1.56 0-2.43 0.29-3.04 0.9-0.15 0.15-0.63 0.77-0.63 1.75v0.72c0.12 1.52 1.26 1.95 2.4 2.2L30.48 21c0.69 0.18 0.87 0.44 0.87 0.79v0.4c0 0.28-0.2 0.5-0.43 0.58-0.19 0.06-0.44 0.07-0.8 0.07H26.5c-0.09 0-0.15 0.06-0.15 0.14v0.32c0.01 0.55 0.1 0.96 0.5 1.22 0.32 0.21 0.94 0.48 2.93 0.48H30c1.14-0.03 1.88-0.18 2.38-0.37 0.44-0.18 0.7-0.37 0.9-0.58 0.26-0.26 0.66-0.88 0.71-1.7C34 22.22 34 21.6 34 21.53Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,19 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFE0E0E0"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M20 39c10.5 0 19-8.5 19-19S30.5 1 20 1 1 9.5 1 20s8.5 19 19 19Zm0 1c11.05 0 20-8.95 20-20S31.05 0 20 0 0 8.95 0 20s8.95 20 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FF568F7D"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M32 20.48c0.04-3.38-1.41-6.66-3.35-8.61-1.22-1.23-2.34-1.98-3.97-2.73L24.5 9.49c0.78 0.46 1.42 0.96 2.2 1.67 2.13 2.1 3.52 5.66 3.53 8.62 0 0.41 0 1-0.08 1.5-0.43-1.25-1.16-2.31-2.12-3.26-0.26-0.3-0.65-0.7-0.97-0.88-0.02 0.66-0.3 2.1-0.62 2.9 0.4 0.38 0.63 0.63 1.06 0.97 0.85 0.94 1.44 2.1 1.41 3.07 0.03 0.57-0.22 1.15-0.7 1.59-0.42 0.45-1.34 0.79-2.3 0.8-1.05-0.01-2.67-0.6-3.53-1.24 1.72-1.7 2.76-3.56 3.44-5.9 0.24-1 0.38-2 0.36-2.98 0.02-1.84-0.43-3.56-1.24-4.92-1.23-2.18-3.13-3.4-5.64-3.43-2.93 0.03-5.7 1.48-7.77 3.6-2.37 2.36-3.54 5.28-3.52 8.27-0.02 0.55 0 1.05 0.08 1.67h0.36c0.01-0.93 0.12-1.76 0.35-2.82 0.5-1.84 1.78-3.9 3.44-5.53 1.14-1.15 2.42-1.99 3.62-2.46-0.87 1-1.45 2.14-1.86 3.42-0.06 0.4-0.18 0.95-0.17 1.32 0.55-0.32 1.95-0.82 2.82-0.96 0.22-1.27 0.7-2.7 1.68-3.61 0.44-0.5 1-0.81 1.67-0.79 1.09-0.02 1.92 0.76 2.47 1.67 0.51 0.9 0.85 2.54 0.7 3.7-1.1-0.37-2.27-0.55-3.43-0.54-1.08 0-2.2 0.16-3.44 0.53-1.92 0.5-3.7 1.5-5.03 2.82-1.33 1.32-2.39 3.21-2.38 5.18-0.01 2.01 1.02 3.71 2.38 5.1 2.3 2.29 5.57 3.46 8.82 3.43 2.56 0.03 4.88-0.86 6.97-2.37l-0.18-0.27c-1.65 0.89-3.5 1.34-5.38 1.32-2.73 0-5.67-0.82-7.67-2.37 0.55 0.07 1.09 0.12 1.59 0.08 0.97 0.04 2.68-0.2 3.52-0.7-0.5-0.34-1.62-1.32-2.2-2.02-0.85 0.34-1.88 0.6-2.82 0.61-0.85-0.02-1.8-0.21-2.39-0.88-0.4-0.4-0.61-0.93-0.61-1.49 0-1.16 0.64-2.13 1.4-2.9 0.58-0.62 1.34-1.15 1.95-1.41 0.62 2.35 1.7 4.24 3.44 5.98 2.1 2.05 4.86 3.22 7.32 3.25 1.81 0 3.38-0.53 4.68-1.84 1.4-1.43 2.33-3.93 2.29-6.51Zm-9.17-1.93c-0.6 1.81-1.68 3.45-3 4.75-1.28-1.38-2.15-3.16-2.56-4.93 0.75-0.18 1.52-0.27 2.3-0.26 1.1 0 2.19 0.16 3.26 0.44Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,15 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FF00585A"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M12 38.34V7.3C12 6 13.51 6 13.51 6H26.5C28 6 28 7.3 28 7.3v31.04c-2.26 0.98-4.75 1.57-7.35 1.65v-5.02l0.02-0.14c0.01-0.12 0.03-0.25 0.12-0.31l0.6-0.4c0.78-0.47 1.48-1.06 2.09-1.74 0.67-0.8 1.13-1.76 1.33-2.78 0.14-0.7 0.06-1.43-0.23-2.1-0.12-0.22-0.28-0.43-0.47-0.61-0.18-0.2-0.21-0.49-0.07-0.71 0.2-0.38 0.35-0.77 0.46-1.17 0.12-0.38 0.15-0.78 0.11-1.17-0.04-0.39-0.21-0.75-0.48-1.03-0.09-0.1-0.19-0.16-0.28-0.22-0.16-0.1-0.31-0.19-0.42-0.42 0.22-0.63 0.35-1.29 0.36-1.96 0.02-0.3 0-0.58-0.08-0.87-0.14-0.45-0.45-0.6-0.73-0.73l-0.1-0.05-0.3-0.13-0.17-0.06c-0.2-0.08-0.2-0.13-0.2-0.44 0-1.41-0.2-2.75-0.98-3.45-0.37-0.32-0.86-0.5-1.35-0.47-0.48-0.02-0.94 0.15-1.3 0.48-0.75 0.7-0.94 2.03-0.94 3.44 0 0.32-0.03 0.38-0.18 0.45l-0.2 0.08-0.24 0.1-0.12 0.07c-0.25 0.13-0.54 0.27-0.67 0.71-0.06 0.3-0.1 0.58-0.07 0.88 0.01 0.67 0.14 1.33 0.35 1.96-0.1 0.23-0.26 0.33-0.4 0.43-0.1 0.06-0.19 0.12-0.27 0.2-0.25 0.3-0.42 0.66-0.46 1.04-0.04 0.4 0 0.79 0.1 1.17 0.12 0.39 0.27 0.77 0.46 1.14 0.13 0.23 0.1 0.52-0.08 0.71-0.18 0.18-0.33 0.4-0.45 0.62-0.28 0.67-0.35 1.39-0.22 2.1 0.19 1.01 0.62 1.97 1.27 2.78 0.58 0.67 1.25 1.26 2 1.75l0.23 0.15c0.11 0.08 0.23 0.15 0.34 0.24 0.08 0.04 0.1 0.18 0.12 0.32l0.01 0.13v0.1 4.92c-2.53-0.1-4.95-0.68-7.16-1.64Zm11.16-26.6l1.27-2.42-0.01-0.36h-1.97V9.4h1.41l-1.26 2.34h0.56Zm-2.26 0.05c0.5 0 0.9-0.4 0.91-0.88v-0.03c0-0.5-0.4-0.72-0.83-0.78l0.79-0.78V8.96h-1.86v0.43h1.22l-0.76 0.8 0.08 0.3h0.22c0.4 0 0.65 0.16 0.65 0.44v0.02c-0.02 0.25-0.24 0.42-0.48 0.4-0.3 0-0.57-0.14-0.74-0.37l-0.35 0.32c0.27 0.32 0.66 0.5 1.08 0.49h0.07ZM18 11.74l1.26-2.42V8.96h-1.97V9.4h1.41l-1.26 2.34h0.55Zm-2.06 0h0.49v-2.8h-0.35L15.33 9.2l0.1 0.38 0.51-0.14v2.3Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -1,34 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<group>
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M40 20c0 11.05-8.95 20-20 20S0 31.05 0 20 8.95 0 20 0s20 8.95 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FFE0E0E0"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M20 39c10.5 0 19-8.5 19-19S30.5 1 20 1 1 9.5 1 20s8.5 19 19 19Zm0 1c11.05 0 20-8.95 20-20S31.05 0 20 0 0 8.95 0 20s8.95 20 20 20Z"/>
|
||||
<path
|
||||
android:fillColor="#FF67ABE4"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M14 16.68c0.77 0.19 1.25 0.96 1.06 1.74-0.1 0.4-0.14 0.8-0.14 1.23 0 2.89 2.3 5.2 5.1 5.2s5.11-2.31 5.11-5.2c0-0.42-0.05-0.84-0.14-1.23-0.19-0.78 0.29-1.55 1.06-1.74 0.77-0.18 1.55 0.3 1.74 1.06C27.93 18.36 28 19 28 19.66c0 4.43-3.56 8.06-7.99 8.06-4.42 0-7.98-3.63-7.98-8.06 0-0.66 0.07-1.3 0.22-1.92 0.19-0.77 0.97-1.24 1.74-1.06Z"/>
|
||||
<path
|
||||
android:fillColor="#FF67ABE4"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M18.56 30.77V26h2.88v4.77h-2.88Z"/>
|
||||
<path
|
||||
android:fillColor="#FF67ABE4"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M20 14.99c-0.9 0-1.73 0.23-2.46 0.63l-1.41-2.57c1.15-0.63 2.47-0.99 3.87-0.99 1.45 0 2.81 0.39 3.99 1.06l-1.46 2.54c-0.74-0.43-1.6-0.67-2.53-0.67Z"/>
|
||||
<path
|
||||
android:fillColor="#FF67ABE4"
|
||||
android:pathData="M23.02 20c0 1.64-1.33 2.97-2.97 2.97-1.64 0-2.98-1.33-2.98-2.97 0-1.64 1.34-2.97 2.98-2.97s2.97 1.33 2.97 2.97Z"/>
|
||||
<path
|
||||
android:fillColor="#FF67ABE4"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M21.44 30.17c-0.47 0.06-0.95 0.1-1.44 0.1-5.67 0-10.27-4.6-10.27-10.27S14.33 9.73 20 9.73 30.27 14.33 30.27 20c0 4.65-3.1 8.58-7.34 9.84v2.83C28.7 31.34 33 26.17 33 20c0-7.18-5.82-13-13-13S7 12.82 7 20s5.82 13 13 13c0.49 0 0.97-0.03 1.44-0.08v-2.75Z"/>
|
||||
</group>
|
||||
</vector>
|
||||
@@ -7165,34 +7165,6 @@
|
||||
<string name="ExternalNavigationHelper__leave_signal_to_confirm_payment">Leave Signal to confirm donation?</string>
|
||||
<string name="ExternalNavigationHelper__once_this_payment_is_confirmed">When confirmed, return to Signal to finish processing your donation.</string>
|
||||
|
||||
<!-- IdealBank -->
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__abn_amro">ABN AMRO</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__asn_bank">ASN Bank</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__bunq">bunq</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__ing">ING</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__knab">Knab</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__n26">N26</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__rabobank">Rabobank</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__regiobank">RegioBank</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__revolut">Revolut</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__sns_bank">SNS Bank</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__triodos_bank">Triodos Bank</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__van_lanschot">Van Lanschot Kempen</string>
|
||||
<!-- iDEAL bank name -->
|
||||
<string name="IdealBank__yoursafe">Yoursafe</string>
|
||||
|
||||
<!-- BankTransferMandateFragment -->
|
||||
<!-- Title of screen displaying the bank transfer mandate -->
|
||||
<string name="BankTransferMandateFragment__bank_transfer">Bank Transfer</string>
|
||||
@@ -7253,7 +7225,7 @@
|
||||
<!-- Default label for bank selection -->
|
||||
<string name="IdealTransferDetailsFragment__choose_your_bank">Choose your bank</string>
|
||||
<!-- Dialog title shown when using iDEAL payment for setting up a monthly donation -->
|
||||
<string name="IdealTransferDetailsFragment__confirm_your_donation_with_s">Confirm your donation with %1$s</string>
|
||||
<string name="IdealTransferDetailsFragment__confirm_your_donation_with_ideal">Confirm your donation with iDEAL</string>
|
||||
<!-- Dialog warning shown when using iDEAL payment for setting up a monthly donation. Placeholder is donation amount.Z -->
|
||||
<string name="IdealTransferDetailsFragment__to_setup_your_recurring_donation">To setup your recurring donation tap continue to confirm a €0,01 charge with your bank. This will be automatically refunded and allows your %1$s/month donation to debited from your account.</string>
|
||||
<!-- Dialog button shown when using iDEAL payment for setting up a monthly donation to continue with the donation -->
|
||||
|
||||
@@ -265,7 +265,6 @@ class StripeApi(
|
||||
private fun createPaymentMethodForIDEAL(paymentSource: IDEALPaymentSource): Response {
|
||||
val parameters = mutableMapOf(
|
||||
"type" to "ideal",
|
||||
"ideal[bank]" to paymentSource.idealData.bank,
|
||||
"billing_details[email]" to paymentSource.idealData.email,
|
||||
"billing_details[name]" to paymentSource.idealData.name
|
||||
)
|
||||
@@ -606,7 +605,6 @@ class StripeApi(
|
||||
|
||||
@Parcelize
|
||||
data class IDEALData(
|
||||
val bank: String,
|
||||
val name: String,
|
||||
val email: String
|
||||
) : Parcelable
|
||||
|
||||
@@ -26,6 +26,10 @@ enum class StripeIntentStatus(private val code: String) {
|
||||
fun fromCode(code: String): StripeIntentStatus = entries.first { it.code == code }
|
||||
}
|
||||
|
||||
fun canProceed(): Boolean {
|
||||
return this == PROCESSING || this == SUCCEEDED
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
fun toValue(): String {
|
||||
return code
|
||||
|
||||
Reference in New Issue
Block a user