Updated on 2026-08-14

This commit is contained in:
Tangem 2025-07-24 15:38:15 +04:00
parent 29d6298fca
commit f9ffe3a2d6
14 changed files with 277 additions and 19 deletions

View file

@ -4,14 +4,13 @@ import com.sumsub.sns.core.SNSMobileSDK
import com.sumsub.sns.core.data.listener.SNSCompleteHandler
import com.sumsub.sns.core.data.listener.TokenExpirationHandler
import com.sumsub.sns.core.data.model.SNSCompletionResult
import com.sumsub.sns.core.data.model.SNSInitConfig
import com.sumsub.sns.core.data.model.SNSSDKState
import com.sumsub.sns.core.theme.SNSTheme
import com.sumsub.sns.core.theme.SNSThemeMetric
import com.sumsub.sns.core.theme.colors
import com.sumsub.sns.core.theme.metrics
import com.tangem.core.decompose.context.AppComponentContext
import com.tangem.domain.pay.repository.KycRepository
import com.tangem.domain.models.wallet.UserWalletId
import com.tangem.features.kyc.theme.TangemSNSTheme
import com.tangem.features.kyc.theme.TangemSNSIconHandler
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
@ -28,7 +27,7 @@ class DefaultKycComponent @AssistedInject constructor(
override fun launch() {
componentScope.launch {
// val startInfo = kycRepository.getKycStartInfo().getOrNull() ?: return@launch
val startInfo = kycRepository.getKycStartInfo().getOrNull() ?: return@launch
val tokenExpirationHandler = object : TokenExpirationHandler {
override fun onTokenExpired(): String? {
@ -38,19 +37,10 @@ class DefaultKycComponent @AssistedInject constructor(
}
val snsSdk = SNSMobileSDK.Builder(activity)
.withAccessToken(
"TODO",
onTokenExpiration = tokenExpirationHandler,
)
.withTheme(
SNSTheme {
colors {
}
metrics {
this.screenHeaderAlignment = SNSThemeMetric.TextAlignment.CENTER
}
},
)
.withAccessToken(accessToken = startInfo.token, onTokenExpiration = tokenExpirationHandler)
.withConf(SNSInitConfig(strings = mapOf()))
.withTheme(TangemSNSTheme.theme(activity))
.withIconHandler(TangemSNSIconHandler())
.withLocale(Locale("en"))
.withCompleteHandler(
object : SNSCompleteHandler {

View file

@ -0,0 +1,35 @@
package com.tangem.features.kyc.theme
import android.content.Context
import android.graphics.drawable.Drawable
import androidx.core.content.res.ResourcesCompat
import com.sumsub.sns.core.data.listener.SNSDefaultIconHandler
import com.sumsub.sns.core.data.listener.SNSIconHandler
import com.tangem.features.kyc.impl.R
/**
* Custom icons' settings for SumSub SDK
*/
internal class TangemSNSIconHandler : SNSDefaultIconHandler() {
@Suppress("CyclomaticComplexMethod")
override fun onResolveIcon(context: Context, key: String): Drawable? {
val iconRes = when {
key == "IdentityType/PASSPORT" -> R.drawable.ic_kyc_passport_22
key == "IdentityType/DRIVERS" -> R.drawable.ic_kyc_drivers_24
key == SNSIconHandler.SNSCommonIcons.COUNTRY_OTHER.imageName -> R.drawable.ic_kyc_other_countries_24
key.startsWith("IdentityType/") -> R.drawable.ic_kyc_drivers_24
key == "DocType/IDENTITY" -> R.drawable.ic_kyc_identity_22
key == "DocType/PROOF_OF_RESIDENCE" -> R.drawable.ic_kyc_proof_of_residence_22
key == "DocType/SELFIE" -> R.drawable.ic_kyc_selfie_22
key == "DocType/APPLICANT_DATA" -> R.drawable.ic_kyc_profile_data_22
key == "DocType/QUESTIONNAIRE" -> R.drawable.ic_kyc_questionnaire_22
key == "DocType/PHONE_VERIFICATION" -> R.drawable.ic_kyc_phone_verification_24
key == "DocType/EMAIL_VERIFICATION" -> R.drawable.ic_kyc_email_verification_22
key == SNSIconHandler.SNSCommonIcons.PICTURE_AGREEMENT.imageName -> -1
else -> null
}
return iconRes?.let {
if (iconRes != -1) ResourcesCompat.getDrawable(context.resources, it, context.theme) else null
} ?: run { super.onResolveIcon(context, key) }
}
}

View file

@ -0,0 +1,91 @@
package com.tangem.features.kyc.theme
import android.content.Context
import android.graphics.Typeface
import androidx.compose.ui.graphics.toArgb
import androidx.core.content.res.ResourcesCompat
import com.sumsub.sns.core.theme.*
import com.tangem.core.ui.res.TangemColorPalette
import com.tangem.features.kyc.impl.R
/**
* Custom theme settings for SumSub SDK
*/
internal object TangemSNSTheme {
@Suppress("MagicNumber")
fun theme(context: Context): SNSTheme {
val robotoRegular = ResourcesCompat.getFont(context, R.font.roboto_regular) ?: Typeface.DEFAULT
val robotoMedium = ResourcesCompat.getFont(context, R.font.roboto_medium) ?: Typeface.DEFAULT_BOLD
return SNSTheme {
colors {
backgroundCommon = SNSThemeColor(TangemColorPalette.White.toArgb())
contentStrong = SNSThemeColor(TangemColorPalette.Black.toArgb())
contentNeutral = SNSThemeColor(TangemColorPalette.Dark2.toArgb())
contentWeak = SNSThemeColor(TangemColorPalette.Light5.toArgb())
primaryButtonBackground = SNSThemeColor(TangemColorPalette.Black.toArgb())
primaryButtonContent = SNSThemeColor(TangemColorPalette.White.toArgb())
primaryButtonBackgroundDisabled = SNSThemeColor(TangemColorPalette.Light3.toArgb())
primaryButtonContentDisabled = SNSThemeColor(TangemColorPalette.Light5.toArgb())
fieldBackground = SNSThemeColor(TangemColorPalette.Light1.toArgb())
fieldBorder = SNSThemeColor(TangemColorPalette.Light3.toArgb())
fieldBorderFocused = SNSThemeColor(TangemColorPalette.Azure.toArgb())
fieldBorderDisabled = SNSThemeColor(TangemColorPalette.Light2.toArgb())
fieldPlaceholder = SNSThemeColor(TangemColorPalette.Dark1.toArgb())
fieldTint = SNSThemeColor(TangemColorPalette.Azure.toArgb())
fieldContent = SNSThemeColor(TangemColorPalette.Black.toArgb())
listSelectedItemBackground = SNSThemeColor(TangemColorPalette.Azure.copy(alpha = 0.1f).toArgb())
cardPlainBackground = SNSThemeColor(TangemColorPalette.White.toArgb())
contentLink = SNSThemeColor(TangemColorPalette.Azure.toArgb())
statusBarColor = SNSThemeColor(TangemColorPalette.White.toArgb())
contentWarning = SNSThemeColor(TangemColorPalette.Azure.toArgb())
contentCritical = SNSThemeColor(TangemColorPalette.Amaranth.toArgb())
contentSuccess = SNSThemeColor(TangemColorPalette.Azure.toArgb())
}
fonts {
body = SNSThemeFont(robotoRegular, 14)
caption = SNSThemeFont(robotoRegular, 12)
headline1 = SNSThemeFont(robotoMedium, 34)
headline2 = SNSThemeFont(robotoMedium, 24)
subtitle1 = SNSThemeFont(robotoMedium, 16)
subtitle2 = SNSThemeFont(robotoMedium, 14)
}
metrics {
screenHorizontalMargin = 16.dpToPx(context)
buttonHeight = 64.dpToPx(context)
buttonCornerRadius = 14.dpToPx(context)
buttonBorderWidth = 0f
fieldHeight = 52.dpToPx(context)
fieldCornerRadius = 8.dpToPx(context)
fieldBorderWidth = 1.dpToPx(context)
cardCornerRadius = 12.dpToPx(context)
cardBorderWidth = 1.dpToPx(context)
listSeparatorHeight = 1.dpToPx(context)
listSeparatorMarginLeft = 16.dpToPx(context)
listSeparatorMarginRight = 16.dpToPx(context)
bottomSheetCornerRadius = 24.dpToPx(context)
viewportBorderWidth = 2.dpToPx(context)
documentFrameBorderWidth = 1.dpToPx(context)
documentFrameCornerRadius = 12.dpToPx(context)
documentFrameCornerSize = 8.dpToPx(context)
segmentedControlCornerRadius = 8.dpToPx(context)
screenHeaderAlignment = SNSThemeMetric.TextAlignment.CENTER
sectionHeaderAlignment = SNSThemeMetric.TextAlignment.CENTER
verificationStepCardStyle = SNSThemeMetric.CardStyle.PLAIN
supportItemCardStyle = SNSThemeMetric.CardStyle.PLAIN
documentTypeCardStyle = SNSThemeMetric.CardStyle.BORDERED
selectedCountryCardStyle = SNSThemeMetric.CardStyle.BORDERED
agreementCardStyle = SNSThemeMetric.CardStyle.PLAIN
videoIdentLanguageCardStyle = SNSThemeMetric.CardStyle.PLAIN
videoIdentStepCardStyle = SNSThemeMetric.CardStyle.PLAIN
sumsubIdCardStyle = SNSThemeMetric.CardStyle.PLAIN
activityIndicatorStyle = SNSThemeMetric.Size.MEDIUM
}
}
}
private fun Int.dpToPx(context: Context): Float {
return this * context.resources.displayMetrics.density
}
}

View file

@ -0,0 +1,30 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M14.001,3.5C17.772,3.5 19.658,3.5 20.829,4.745C22.001,5.99 22.001,7.993 22.001,12C22.001,16.007 22.001,18.01 20.829,19.255C19.658,20.5 17.772,20.5 14.001,20.5L10.001,20.5C6.23,20.5 4.344,20.5 3.173,19.255C2.001,18.01 2.001,16.007 2.001,12C2.001,7.993 2.001,5.99 3.173,4.745C4.344,3.5 6.23,3.5 10.001,3.5L14.001,3.5Z"
android:strokeLineJoin="round"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#919191"/>
<path
android:pathData="M5.001,15.5C6.61,13.363 10.355,13.246 12.001,15.5M10.25,10.25C10.25,11.217 9.467,12 8.5,12C7.534,12 6.75,11.217 6.75,10.25C6.75,9.283 7.534,8.5 8.5,8.5C9.467,8.5 10.25,9.283 10.25,10.25Z"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#919191"
android:strokeLineCap="round"/>
<path
android:pathData="M15.001,9.5L19.001,9.5"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#919191"
android:strokeLineCap="round"/>
<path
android:pathData="M15.001,13.5H17.001"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#919191"
android:strokeLineCap="round"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="20dp"
android:viewportWidth="22"
android:viewportHeight="20">
<path
android:pathData="M8.08,0.787C10.033,0.738 11.967,0.738 13.92,0.787L13.978,0.789C15.503,0.827 16.73,0.858 17.713,1.029C18.743,1.208 19.58,1.552 20.286,2.261C20.99,2.968 21.332,3.793 21.508,4.805C21.676,5.77 21.701,6.967 21.733,8.45L21.734,8.508C21.755,9.505 21.755,10.495 21.734,11.492L21.733,11.55C21.701,13.033 21.676,14.231 21.508,15.195C21.332,16.208 20.99,17.032 20.286,17.739C19.58,18.448 18.743,18.792 17.713,18.971C16.73,19.143 15.503,19.173 13.978,19.212L13.92,19.214C11.967,19.263 10.033,19.263 8.08,19.214L8.022,19.212C6.497,19.173 5.27,19.143 4.286,18.971C3.257,18.792 2.42,18.448 1.713,17.739C1.009,17.032 0.667,16.208 0.492,15.195C0.324,14.231 0.299,13.033 0.267,11.55L0.266,11.492C0.245,10.495 0.245,9.505 0.266,8.508L0.267,8.45C0.299,6.967 0.324,5.77 0.492,4.805C0.667,3.793 1.009,2.968 1.713,2.261C2.42,1.552 3.257,1.208 4.286,1.029C5.27,0.858 6.497,0.827 8.022,0.789L8.08,0.787ZM16.646,6.119C16.435,5.762 15.975,5.644 15.618,5.854L12.676,7.594C11.832,8.093 11.383,8.25 11,8.25C10.617,8.25 10.168,8.094 9.324,7.594L6.382,5.854C6.026,5.643 5.566,5.762 5.355,6.119C5.144,6.475 5.262,6.935 5.618,7.146L8.561,8.885C9.432,9.4 10.183,9.75 11,9.75C11.818,9.75 12.569,9.4 13.44,8.885L16.382,7.146C16.739,6.935 16.856,6.475 16.646,6.119Z"
android:fillColor="#1E1E1E"/>
</vector>

View file

@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<path
android:pathData="M15.307,13.01C15.48,13.569 15.397,14.191 15.203,14.8C14.761,16.179 14.061,17.345 13.281,18.3C13.369,18.285 13.457,18.265 13.547,18.242C14.206,18.069 14.874,17.691 15.444,17.252C15.454,17.244 15.465,17.236 15.475,17.228C15.642,17.1 15.824,16.959 15.981,16.863C16.066,16.81 16.2,16.734 16.364,16.685C16.536,16.633 16.817,16.59 17.126,16.714C17.436,16.838 17.605,17.065 17.684,17.192C17.766,17.325 17.818,17.46 17.851,17.556C17.914,17.737 17.974,17.974 18.034,18.211C18.037,18.223 18.04,18.235 18.043,18.247C18.132,18.599 18.26,18.91 18.403,19.146C18.552,19.391 18.677,19.487 18.729,19.513C18.73,19.514 18.73,19.515 18.731,19.516C18.732,19.519 18.733,19.521 18.772,19.503C18.871,19.456 19.1,19.292 19.413,18.813C19.715,18.351 20.335,18.221 20.797,18.524C21.26,18.826 21.389,19.445 21.087,19.908C20.671,20.544 20.192,21.044 19.627,21.311C19.013,21.601 18.378,21.577 17.827,21.298C17.321,21.043 16.953,20.611 16.694,20.184C16.501,19.868 16.346,19.516 16.226,19.154C15.6,19.579 14.856,19.966 14.053,20.177C13.244,20.388 12.342,20.425 11.457,20.104C10.897,20.553 10.355,20.908 9.885,21.169C9.58,21.338 9.296,21.473 9.047,21.569C8.838,21.65 8.539,21.75 8.25,21.75C7.698,21.75 7.25,21.302 7.25,20.75C7.25,20.221 7.662,19.787 8.182,19.752C8.198,19.748 8.244,19.736 8.327,19.703C8.472,19.647 8.672,19.555 8.915,19.42C9.159,19.285 9.434,19.113 9.727,18.905C9.635,18.802 9.545,18.693 9.457,18.579C8.538,17.382 8.542,16.075 9.02,14.976C9.475,13.932 10.344,13.076 11.213,12.522C11.654,12.241 12.127,12.017 12.593,11.884C13.042,11.756 13.571,11.689 14.074,11.825C14.637,11.978 15.111,12.377 15.307,13.01ZM11.239,17.595C11.174,17.524 11.108,17.446 11.043,17.361C10.628,16.821 10.624,16.303 10.854,15.774C11.109,15.189 11.656,14.611 12.287,14.209C12.596,14.012 12.894,13.878 13.142,13.808C13.243,13.779 13.328,13.763 13.396,13.755C13.387,13.85 13.361,13.991 13.297,14.191C12.856,15.571 12.081,16.708 11.239,17.595Z"
android:fillColor="#1E1E1E"
android:fillType="evenOdd"/>
<path
android:pathData="M4.423,21.724C4.946,21.847 5.47,21.521 5.593,20.996C5.715,20.47 5.39,19.944 4.867,19.821C4.466,19.727 4.181,19.598 3.947,19.431C3.706,19.258 3.493,19.054 3.315,18.826C3.057,18.497 2.887,18.055 2.794,17.256C2.699,16.434 2.697,15.362 2.697,13.82L2.697,11.302C2.697,10.886 2.697,10.503 2.699,10.149C2.7,9.833 2.7,9.675 2.787,9.482C2.873,9.289 2.95,9.22 3.104,9.081C3.562,8.668 4.168,8.417 4.833,8.417C4.98,8.417 5.204,8.426 5.382,8.434C5.382,8.434 5.706,8.45 5.874,8.453C6.254,8.461 6.697,8.449 7.125,8.334C7.959,8.111 8.611,7.459 8.834,6.625C8.949,6.197 8.961,5.754 8.953,5.374C8.95,5.206 8.934,4.882 8.934,4.882C8.926,4.704 8.917,4.48 8.917,4.333C8.917,3.677 9.161,3.078 9.564,2.623C9.702,2.467 9.771,2.388 9.965,2.3C10.159,2.212 10.318,2.211 10.634,2.209C11.115,2.205 11.652,2.205 12.257,2.205C14.092,2.205 14.757,2.219 15.258,2.398C16.128,2.708 16.796,3.357 17.109,4.158C17.187,4.36 17.243,4.624 17.272,5.079C17.302,5.543 17.303,6.134 17.303,6.984L17.303,12.977C17.303,13.517 17.739,13.955 18.276,13.955C18.814,13.955 19.25,13.517 19.25,12.977L19.25,6.951C19.25,6.141 19.25,5.487 19.215,4.952C19.18,4.402 19.104,3.913 18.922,3.446C18.396,2.095 17.29,1.048 15.91,0.556C15.05,0.249 14.016,0.249 12.462,0.25L12.019,0.25C9.181,0.25 7.493,0.249 6.109,0.743C3.886,1.536 2.115,3.22 1.274,5.377C0.994,6.095 0.869,6.866 0.809,7.793C0.75,8.705 0.75,9.83 0.75,11.267V13.88C0.75,15.348 0.75,16.534 0.86,17.482C0.973,18.464 1.216,19.309 1.783,20.034C2.078,20.41 2.426,20.743 2.816,21.022C3.298,21.367 3.829,21.584 4.423,21.724Z"
android:fillColor="#1E1E1E"/>
</vector>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,29 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<path
android:pathData="M11.95,21C14.595,21 15.917,21 16.867,20.244C17.816,19.488 18.119,18.193 18.725,15.604L20.642,7.407C20.977,5.974 21.145,5.257 20.84,4.738C20.288,3.796 18.879,4 17.959,4"
android:strokeLineJoin="round"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#919191"
android:strokeLineCap="round"/>
<path
android:pathData="M1,8C1,4.7 1,3.05 2.025,2.025C3.05,1 4.7,1 8,1H11C14.3,1 15.95,1 16.975,2.025C18,3.05 18,4.7 18,8V14C18,17.3 18,18.95 16.975,19.975C15.95,21 14.3,21 11,21H8C4.7,21 3.05,21 2.025,19.975C1,18.95 1,17.3 1,14V8Z"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#919191"/>
<path
android:pathData="M9.5,5C11.709,5 13.5,6.791 13.5,9C13.5,11.209 11.709,13 9.5,13M9.5,5C7.291,5 5.5,6.791 5.5,9C5.5,11.209 7.291,13 9.5,13M9.5,5C8.672,5 8,6.791 8,9C8,11.209 8.672,13 9.5,13M9.5,5C10.328,5 11,6.791 11,9C11,11.209 10.328,13 9.5,13"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#919191"/>
<path
android:pathData="M6,16L13,16"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#919191"
android:strokeLineCap="round"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M15.94,1.385C16.977,1.524 17.83,1.82 18.505,2.495C19.18,3.17 19.476,4.023 19.615,5.06C19.75,6.063 19.75,7.342 19.75,8.944V15.056C19.75,16.658 19.75,17.937 19.615,18.94C19.476,19.977 19.18,20.831 18.505,21.506C17.83,22.181 16.976,22.476 15.94,22.615C14.937,22.75 13.658,22.75 12.056,22.75H11.944C10.342,22.75 9.063,22.75 8.06,22.615C7.024,22.476 6.17,22.181 5.495,21.506C4.82,20.831 4.524,19.977 4.385,18.94C4.25,17.937 4.25,16.658 4.25,15.056V8.944C4.25,7.342 4.25,6.063 4.385,5.06C4.524,4.023 4.82,3.17 5.495,2.495C6.17,1.82 7.023,1.524 8.06,1.385C8.196,1.366 8.321,1.463 8.341,1.6L8.347,1.642L8.349,1.657L8.356,1.699C8.447,2.242 8.525,2.715 8.636,3.092C8.755,3.497 8.934,3.879 9.277,4.184C9.633,4.499 10.043,4.631 10.481,4.691C10.895,4.749 11.405,4.75 12,4.75C12.595,4.75 13.105,4.749 13.519,4.691C13.957,4.631 14.367,4.499 14.723,4.184C15.066,3.879 15.245,3.497 15.364,3.092C15.475,2.715 15.553,2.242 15.644,1.699L15.65,1.657L15.66,1.598C15.681,1.462 15.805,1.367 15.94,1.385ZM11,19.25C10.586,19.25 10.25,19.586 10.25,20C10.25,20.414 10.586,20.75 11,20.75H13C13.414,20.75 13.75,20.414 13.75,20C13.75,19.586 13.414,19.25 13,19.25H11ZM12.056,1.25C12.783,1.25 13.444,1.25 14.042,1.263C14.122,1.265 14.182,1.337 14.17,1.416C14.071,2.01 14.006,2.39 13.924,2.669C13.847,2.929 13.78,3.013 13.727,3.061C13.668,3.112 13.577,3.17 13.313,3.206C13.023,3.246 12.628,3.25 11.999,3.25C11.37,3.25 10.975,3.246 10.686,3.206C10.422,3.17 10.331,3.112 10.273,3.061C10.219,3.013 10.151,2.929 10.074,2.669C9.992,2.39 9.928,2.011 9.829,1.419C9.817,1.338 9.879,1.265 9.961,1.263C10.558,1.25 11.218,1.25 11.943,1.25H12.056Z"
android:fillColor="#1E1E1E"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="20dp"
android:viewportWidth="22"
android:viewportHeight="20">
<path
android:pathData="M12.045,0.25C13.882,0.25 15.322,0.25 16.464,0.374C17.629,0.5 18.574,0.763 19.38,1.349C19.868,1.703 20.297,2.132 20.651,2.62C21.237,3.426 21.5,4.371 21.626,5.536C21.75,6.678 21.75,8.119 21.75,9.955V10.045C21.75,11.881 21.75,13.322 21.626,14.464C21.5,15.629 21.237,16.574 20.651,17.38C20.297,17.868 19.868,18.297 19.38,18.651C18.574,19.237 17.629,19.5 16.464,19.626C15.322,19.75 13.881,19.75 12.045,19.75H9.955C8.119,19.75 6.678,19.75 5.536,19.626C4.371,19.5 3.426,19.237 2.62,18.651C2.132,18.297 1.703,17.868 1.349,17.38C0.763,16.574 0.5,15.629 0.374,14.464C0.25,13.322 0.25,11.882 0.25,10.045V9.955C0.25,8.119 0.25,6.678 0.374,5.536C0.5,4.371 0.763,3.426 1.349,2.62C1.703,2.132 2.132,1.703 2.62,1.349C3.426,0.763 4.371,0.5 5.536,0.374C6.678,0.25 8.119,0.25 9.955,0.25H12.045ZM7.459,11.25C5.824,11.274 4.081,12.059 3.321,13.682C3.146,14.057 3.307,14.503 3.683,14.679C3.785,14.727 3.893,14.75 4,14.75H11C11.107,14.75 11.215,14.727 11.318,14.679C11.693,14.503 11.855,14.057 11.68,13.682C10.877,11.967 9.103,11.226 7.459,11.25ZM13,9.5C12.448,9.5 12,9.948 12,10.5C12,11.052 12.448,11.5 13,11.5H16C16.552,11.5 17,11.052 17,10.5C17,9.948 16.552,9.5 16,9.5H13ZM7.5,4.25C5.981,4.25 4.75,5.481 4.75,7C4.75,8.519 5.981,9.75 7.5,9.75C9.019,9.75 10.25,8.519 10.25,7C10.25,5.481 9.019,4.25 7.5,4.25ZM13,6C12.448,6 12,6.448 12,7C12,7.552 12.448,8 13,8H17C17.552,8 18,7.552 18,7C18,6.448 17.552,6 17,6H13Z"
android:fillColor="#1E1E1E"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="22dp"
android:viewportWidth="20"
android:viewportHeight="22">
<path
android:pathData="M10.002,0.25C13.828,0.25 17.478,2.513 19.006,6.085C20.426,9.405 19.659,12.236 18.059,14.661C16.731,16.672 14.787,18.463 13.039,20.073C12.729,20.359 12.424,20.639 12.131,20.914C11.556,21.452 10.792,21.75 10.002,21.75C9.212,21.75 8.447,21.452 7.872,20.914L7.871,20.913C7.561,20.621 7.237,20.322 6.907,20.017C5.178,18.418 3.261,16.645 1.947,14.659C0.345,12.237 -0.425,9.409 0.997,6.085C2.525,2.513 6.176,0.25 10.002,0.25ZM14.947,7.181C14.771,6.657 14.204,6.376 13.681,6.553C12.895,6.818 12.148,7.321 11.496,7.865C10.835,8.417 10.219,9.058 9.696,9.654C9.346,10.054 9.033,10.441 8.771,10.778C8.538,10.528 8.306,10.339 8.083,10.197C7.833,10.038 7.603,9.946 7.413,9.895C7.319,9.869 7.176,9.834 7,9.834C6.448,9.834 6,10.282 6,10.834C6,11.352 6.395,11.779 6.9,11.829C6.919,11.836 6.957,11.851 7.011,11.886C7.163,11.982 7.491,12.254 7.864,12.965C8.028,13.277 8.345,13.48 8.697,13.499C9.049,13.517 9.386,13.349 9.582,13.056C9.658,12.947 9.883,12.625 10.026,12.432C10.314,12.043 10.722,11.519 11.201,10.972C11.682,10.422 12.223,9.864 12.778,9.4C13.343,8.929 13.869,8.6 14.319,8.448C14.843,8.272 15.124,7.704 14.947,7.181Z"
android:fillColor="#1E1E1E"/>
</vector>

View file

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<path
android:pathData="M8.78,0.823C10.237,0.726 11.76,0.726 13.22,0.823C17.787,1.126 21.411,4.813 21.709,9.422C21.764,10.285 21.764,11.177 21.709,12.04C21.411,16.649 17.787,20.336 13.22,20.639C11.76,20.736 10.237,20.736 8.78,20.639C8.215,20.602 7.6,20.469 7.058,20.246C6.82,20.148 6.659,20.081 6.541,20.038C6.46,20.093 6.351,20.173 6.194,20.288C5.402,20.873 4.401,21.283 2.981,21.249L2.935,21.247C2.662,21.241 2.37,21.234 2.132,21.188C1.845,21.132 1.49,20.993 1.268,20.615C1.027,20.203 1.124,19.786 1.218,19.524C1.306,19.276 1.459,18.986 1.616,18.689L1.638,18.648C2.104,17.764 2.233,17.042 1.984,16.561C1.152,15.305 0.403,13.756 0.292,12.04C0.236,11.177 0.236,10.285 0.292,9.422C0.59,4.813 4.214,1.126 8.78,0.823ZM11.009,14.5C10.456,14.5 10.009,14.948 10.009,15.5C10.009,16.053 10.456,16.5 11.009,16.5H11.02C11.573,16.5 12.02,16.053 12.02,15.5C12.02,14.948 11.573,14.5 11.02,14.5H11.009ZM11.009,5.5C9.477,5.5 8.009,6.618 8.009,8.258C8.009,8.811 8.456,9.258 9.009,9.258C9.561,9.258 10.009,8.81 10.009,8.258C10.009,7.957 10.332,7.5 11.009,7.5C11.685,7.501 12.008,7.957 12.009,8.258C12.009,8.38 11.969,8.503 11.885,8.619C11.771,8.774 11.623,8.941 11.438,9.143C11.41,9.174 11.38,9.207 11.349,9.24C11.194,9.408 11.017,9.601 10.855,9.796C10.484,10.245 10.009,10.917 10.009,11.775V12.214C10.009,12.767 10.456,13.214 11.009,13.214C11.561,13.214 12.009,12.767 12.009,12.214V11.775C12.009,11.661 12.075,11.46 12.396,11.072C12.522,10.92 12.657,10.773 12.811,10.605C12.845,10.569 12.879,10.531 12.914,10.493C13.1,10.289 13.313,10.052 13.498,9.799C13.814,9.367 14.009,8.836 14.009,8.258C14.008,6.618 12.54,5.501 11.009,5.5Z"
android:fillColor="#1E1E1E"/>
</vector>

View file

@ -0,0 +1,16 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<path
android:pathData="M9.075,1.433C9.087,1.96 8.669,2.397 8.142,2.409C5.428,2.471 4.248,2.748 3.481,3.512C2.819,4.172 2.511,5.154 2.408,7.229C2.382,7.756 1.934,8.161 1.407,8.135C0.881,8.109 0.475,7.661 0.501,7.134C0.607,5.005 0.925,3.365 2.134,2.16C3.506,0.793 5.455,0.56 8.099,0.5C8.626,0.488 9.063,0.906 9.075,1.433ZM12.925,1.433C12.937,0.906 13.374,0.488 13.901,0.5C16.545,0.56 18.494,0.793 19.866,2.16C21.075,3.365 21.393,5.005 21.499,7.134C21.525,7.661 21.119,8.109 20.593,8.135C20.066,8.161 19.618,7.756 19.592,7.229C19.489,5.154 19.181,4.172 18.519,3.512C17.752,2.748 16.572,2.471 13.858,2.409C13.331,2.397 12.913,1.96 12.925,1.433ZM1.407,13.865C1.934,13.839 2.382,14.244 2.408,14.771C2.511,16.846 2.819,17.828 3.481,18.488C4.248,19.252 5.428,19.529 8.142,19.591C8.669,19.603 9.087,20.04 9.075,20.567C9.063,21.094 8.626,21.512 8.099,21.5C5.455,21.44 3.506,21.207 2.134,19.84C0.925,18.635 0.607,16.995 0.501,14.866C0.475,14.339 0.881,13.891 1.407,13.865ZM20.593,13.865C21.119,13.891 21.525,14.339 21.499,14.866C21.393,16.995 21.075,18.635 19.866,19.84C18.494,21.207 16.545,21.44 13.901,21.5C13.374,21.512 12.937,21.094 12.925,20.567C12.913,20.04 13.331,19.603 13.858,19.591C16.572,19.529 17.752,19.252 18.519,18.488C19.181,17.828 19.489,16.846 19.592,14.771C19.618,14.244 20.066,13.839 20.593,13.865Z"
android:fillColor="#1E1E1E"
android:fillType="evenOdd"/>
<path
android:pathData="M7.814,8.557C7.814,6.803 9.238,5.383 10.992,5.383C12.746,5.383 14.17,6.803 14.17,8.557C14.17,10.311 12.746,11.732 10.992,11.732C9.238,11.732 7.814,10.311 7.814,8.557Z"
android:fillColor="#1E1E1E"/>
<path
android:pathData="M6.099,16.413C5.806,16.133 5.795,15.67 6.075,15.377C8.627,12.704 13.329,12.559 15.934,15.386C16.208,15.684 16.189,16.147 15.892,16.421C15.751,16.551 15.573,16.615 15.395,16.615L6.605,16.615C6.423,16.615 6.241,16.548 6.099,16.413Z"
android:fillColor="#1E1E1E"/>
</vector>