chore: Compose 1.9.10 + Kotlin 2.0 + Compose resources

This commit is contained in:
Artem Chepurnyi 2024-05-25 13:04:50 +03:00
parent b598d7f8f2
commit e61537f3ab
479 changed files with 3199 additions and 2685 deletions

View File

@ -10,5 +10,5 @@ response = requests.get(
json_obj = response.json()
json_text = json.dumps(json_obj, indent=2)
with open('common/src/commonMain/resources/MR/files/gpm_passkeys_privileged_apps.json', 'w') as f:
with open('common/src/commonMain/composeResources/files/gpm_passkeys_privileged_apps.json', 'w') as f:
f.write(json_text)

View File

@ -31,5 +31,5 @@ for site in response.json():
aggr_text = json.dumps(aggr, indent=2)
with open('common/src/commonMain/resources/MR/files/justdeleteme.json', 'w') as f:
with open('common/src/commonMain/composeResources/files/justdeleteme.json', 'w') as f:
f.write(aggr_text)

View File

@ -31,5 +31,5 @@ for site in response.json():
aggr_text = json.dumps(aggr, indent=2)
with open('common/src/commonMain/resources/MR/files/justgetmydata.json', 'w') as f:
with open('common/src/commonMain/composeResources/files/justgetmydata.json', 'w') as f:
f.write(aggr_text)

View File

@ -61,5 +61,5 @@ aggr.sort(key=lambda x: x['domain'])
aggr_text = json.dumps(aggr, indent=2)
with open('common/src/commonMain/resources/MR/files/passkeys.json', 'w') as f:
with open('common/src/commonMain/composeResources/files/passkeys.json', 'w') as f:
f.write(aggr_text)

View File

@ -45,5 +45,5 @@ for file in archive.namelist():
aggr_text = json.dumps(aggr, indent=2)
with open('common/src/commonMain/resources/MR/files/tfa.json', 'w') as f:
with open('common/src/commonMain/composeResources/files/tfa.json', 'w') as f:
f.write(aggr_text)

View File

@ -32,7 +32,7 @@ jobs:
arguments: :androidApp:licenseeAndroidNoneRelease
- name: "Move licenses"
run: |
mv -f androidApp/build/reports/licensee/androidNoneRelease/artifacts.json common/src/commonMain/resources/MR/files/licenses.json
mv -f androidApp/build/reports/licensee/androidNoneRelease/artifacts.json common/src/commonMain/composeResources/files/licenses.json
- name: "./gradlew :androidApp:assembleNoneRelease"
uses: gradle/actions/setup-gradle@v3
env:

View File

@ -31,7 +31,7 @@ jobs:
arguments: :androidApp:licenseeAndroidPlayStoreRelease
- name: "Move licenses"
run: |
mv -f androidApp/build/reports/licensee/androidPlayStoreRelease/artifacts.json common/src/commonMain/resources/MR/files/licenses.json
mv -f androidApp/build/reports/licensee/androidPlayStoreRelease/artifacts.json common/src/commonMain/composeResources/files/licenses.json
- name: "Build release bundle"
uses: gradle/actions/setup-gradle@v3
env:

View File

@ -167,7 +167,7 @@ jobs:
arguments: :androidApp:licenseeAndroidNoneRelease
- name: "Move licenses"
run: |
mv -f androidApp/build/reports/licensee/androidNoneRelease/artifacts.json common/src/commonMain/resources/MR/files/licenses.json
mv -f androidApp/build/reports/licensee/androidNoneRelease/artifacts.json common/src/commonMain/composeResources/files/licenses.json
- name: "./gradlew :androidApp:assembleNoneRelease"
uses: gradle/actions/setup-gradle@v3
env:

View File

@ -6,7 +6,7 @@ on:
branches:
- master
paths:
- 'common/src/commonMain/resources/MR/base/*.xml'
- 'common/src/commonMain/composeResources/values/*.xml'
- 'listing/google/base/*.html'
- 'listing/google/base/*.xml'
# Configuration.

View File

@ -14,7 +14,7 @@ jobs:
- name: "Update data"
run: |
wget https://publicsuffix.org/list/public_suffix_list.dat
mv -f public_suffix_list.dat common/src/commonMain/resources/MR/files/public_suffix_list.txt
mv -f public_suffix_list.dat common/src/commonMain/composeResources/files/public_suffix_list.txt
- name: "Check if any changes"
id: check-changes
run: |

3
.gitignore vendored
View File

@ -19,6 +19,9 @@ out/
.gradle/
build/
# Kotlin files
.kotlin/
# Local configuration file (sdk path, etc)
local.properties

View File

@ -5,9 +5,10 @@ plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.kapt)
alias(libs.plugins.compose)
alias(libs.plugins.kotlin.plugin.compose)
alias(libs.plugins.kotlin.plugin.parcelize)
alias(libs.plugins.kotlin.plugin.serialization)
alias(libs.plugins.compose)
alias(libs.plugins.ksp)
alias(libs.plugins.ktlint)
alias(libs.plugins.google.services)

View File

@ -31,6 +31,7 @@ import com.artemchep.keyguard.feature.localization.textResource
import com.artemchep.keyguard.platform.LeContext
import com.artemchep.keyguard.platform.lifecycle.toCommon
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import kotlinx.coroutines.*
import kotlinx.coroutines.flow.*
import kotlinx.datetime.Clock
@ -165,14 +166,15 @@ class Main : BaseApp(), DIAware {
delay(duration)
duration
}
.flatMap {
.effectMap {
// Clear the current session.
val context = LeContext(this)
val session = MasterSession.Empty(
reason = textResource(Res.strings.lock_reason_inactivity, context),
reason = textResource(Res.string.lock_reason_inactivity, context),
)
putVaultSession(session)
}
.flatten()
.attempt()
.launchIn(GlobalScope)
}

View File

@ -18,6 +18,7 @@ plugins {
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.jvm) apply false
alias(libs.plugins.kotlin.kapt) apply false
alias(libs.plugins.kotlin.plugin.compose) apply false
alias(libs.plugins.kotlin.plugin.parcelize) apply false
alias(libs.plugins.kotlin.plugin.serialization) apply false
alias(libs.plugins.compose) apply false
@ -27,7 +28,6 @@ plugins {
alias(libs.plugins.crashlytics) apply false
alias(libs.plugins.sqldelight) apply false
alias(libs.plugins.buildkonfig) apply false
alias(libs.plugins.moko) apply false
alias(libs.plugins.license.check) apply false
alias(libs.plugins.versions) apply true
alias(libs.plugins.version.catalog.update) apply true

View File

@ -1,6 +1,5 @@
import com.codingfeline.buildkonfig.compiler.FieldSpec.Type.INT
import com.codingfeline.buildkonfig.compiler.FieldSpec.Type.STRING
import java.text.SimpleDateFormat
import java.util.*
plugins {
@ -11,9 +10,9 @@ plugins {
alias(libs.plugins.ksp)
alias(libs.plugins.ktlint)
alias(libs.plugins.buildkonfig)
alias(libs.plugins.moko)
alias(libs.plugins.sqldelight)
alias(libs.plugins.compose)
alias(libs.plugins.kotlin.plugin.compose)
}
//
@ -49,8 +48,7 @@ kotlin {
implementation(compose.material)
implementation(compose.material3)
implementation(compose.materialIconsExtended)
@OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
implementation(compose.components.resources)
api(compose.components.resources)
api(libs.kdrag0n.colorkt)
api(libs.kotlinx.coroutines.core)
@ -176,6 +174,12 @@ kotlin {
}
}
compose.resources {
publicResClass = true
packageOfResClass = "com.artemchep.keyguard.res"
generateResClass = always
}
android {
compileSdk = libs.versions.androidCompileSdk.get().toInt()
namespace = "com.artemchep.keyguard.common"
@ -227,6 +231,10 @@ tasks.withType<org.jetbrains.kotlin.gradle.dsl.KotlinCompile<*>>().all {
kotlin.compilerOptions {
freeCompilerArgs.add("-Xcontext-receivers")
}
kotlin.compilerOptions.freeCompilerArgs.addAll(
"-P",
"plugin:org.jetbrains.kotlin.parcelize:additionalAnnotation=com.artemchep.keyguard.platform.parcelize.LeParcelize",
)
kotlin.sourceSets.commonMain {
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
}
@ -244,15 +252,6 @@ dependencies {
add("kspAndroid", libs.androidx.room.compiler)
add("kspAndroid", libs.glide.ksp)
add("coreLibraryDesugaring", libs.android.desugarjdklibs)
commonMainApi(libs.moko.resources)
commonMainApi(libs.moko.resources.compose)
commonTestImplementation(libs.moko.resources.test)
}
multiplatformResources {
multiplatformResourcesPackage = "com.artemchep.keyguard.res"
multiplatformResourcesClassName = "Res" // optional, default MR
}
enum class BuildType {

View File

@ -42,8 +42,9 @@ import com.artemchep.keyguard.common.usecase.GetTotpCode
import com.artemchep.keyguard.pick
import com.artemchep.keyguard.platform.recordLog
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.theme.Dimens
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.coroutines.runBlocking
import kotlinx.parcelize.Parcelize
import org.kodein.di.DIAware
@ -271,7 +272,7 @@ class AutofillActivity : BaseActivity(), DIAware {
.width(Dimens.buttonIconPadding),
)
Text(
text = stringResource(Res.strings.cancel),
text = stringResource(Res.string.cancel),
textAlign = TextAlign.Center,
)
}

View File

@ -39,11 +39,12 @@ import com.artemchep.keyguard.feature.home.vault.add.AddRoute
import com.artemchep.keyguard.feature.home.vault.add.of
import com.artemchep.keyguard.platform.recordLog
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.MediumEmphasisAlpha
import com.artemchep.keyguard.ui.colorizePassword
import com.artemchep.keyguard.ui.theme.Dimens
import com.artemchep.keyguard.ui.theme.combineAlpha
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.parcelize.Parcelize
import org.kodein.di.DIAware
@ -129,7 +130,7 @@ class AutofillSaveActivity : BaseActivity(), DIAware {
.width(Dimens.buttonIconPadding),
)
Text(
text = stringResource(Res.strings.close),
text = stringResource(Res.string.close),
textAlign = TextAlign.Center,
)
}
@ -143,7 +144,7 @@ class AutofillSaveActivity : BaseActivity(), DIAware {
if (username != null) {
key("username") {
TwoColumnRow(
title = stringResource(Res.strings.username),
title = stringResource(Res.string.username),
value = username,
)
}
@ -156,7 +157,7 @@ class AutofillSaveActivity : BaseActivity(), DIAware {
contentColor = LocalContentColor.current,
)
TwoColumnRow(
title = stringResource(Res.strings.password),
title = stringResource(Res.string.password),
value = colorizedPassword,
)
}
@ -167,7 +168,7 @@ class AutofillSaveActivity : BaseActivity(), DIAware {
if (email != null) {
key("email") {
TwoColumnRow(
title = stringResource(Res.strings.email),
title = stringResource(Res.string.email),
value = email,
)
}
@ -176,7 +177,7 @@ class AutofillSaveActivity : BaseActivity(), DIAware {
if (phone != null) {
key("phone") {
TwoColumnRow(
title = stringResource(Res.strings.phone_number),
title = stringResource(Res.string.phone_number),
value = phone,
)
}

View File

@ -25,10 +25,11 @@ import com.artemchep.keyguard.feature.navigation.NavigationNode
import com.artemchep.keyguard.feature.navigation.Route
import com.artemchep.keyguard.platform.recordLog
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.KeepScreenOnEffect
import com.artemchep.keyguard.ui.ScaffoldColumn
import com.artemchep.keyguard.ui.toolbar.LargeToolbar
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.parcelize.Parcelize
/**
@ -119,7 +120,7 @@ private fun LargeTypeScreen(
topBar = {
LargeToolbar(
title = {
Text(stringResource(Res.strings.largetype_title))
Text(stringResource(Res.string.largetype_title))
},
navigationIcon = {
IconButton(

View File

@ -19,9 +19,10 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.OtherScaffold
import com.artemchep.keyguard.ui.theme.Dimens
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
@Composable
fun PasskeyError(
@ -84,7 +85,7 @@ fun PasskeyError(
.width(Dimens.buttonIconPadding),
)
Text(
text = stringResource(Res.strings.close),
text = stringResource(Res.string.close),
)
}
}

View File

@ -26,6 +26,7 @@ import androidx.credentials.provider.PendingIntentHandler
import androidx.lifecycle.lifecycleScope
import com.artemchep.keyguard.AppMode
import com.artemchep.keyguard.LocalAppMode
import com.artemchep.keyguard.common.R
import com.artemchep.keyguard.common.io.attempt
import com.artemchep.keyguard.common.io.bind
import com.artemchep.keyguard.common.model.AddPasskeyCipherRequest
@ -43,10 +44,11 @@ import com.artemchep.keyguard.platform.recordException
import com.artemchep.keyguard.platform.recordLog
import com.artemchep.keyguard.common.service.passkey.entity.CreatePasskey
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.MediumEmphasisAlpha
import com.artemchep.keyguard.ui.theme.Dimens
import com.artemchep.keyguard.ui.theme.combineAlpha
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.filterNotNull
import kotlinx.coroutines.flow.first
@ -155,8 +157,7 @@ class PasskeyCreateActivity : BaseActivity(), DIAware {
// Show the error to a user
val uiState = Ahhehe.Error(
title = Res.strings.error_failed_create_passkey
.getString(this@PasskeyCreateActivity),
title = org.jetbrains.compose.resources.getString(Res.string.error_failed_create_passkey),
message = it.localizedMessage
?: it.message
?: "Something went wrong",
@ -190,8 +191,7 @@ class PasskeyCreateActivity : BaseActivity(), DIAware {
// Show the error to a user
val uiState = Ahhehe.Error(
title = Res.strings.error_failed_create_passkey
.getString(this@PasskeyCreateActivity),
title = org.jetbrains.compose.resources.getString(Res.string.error_failed_create_passkey),
message = it.localizedMessage
?: it.message
?: "Something went wrong",
@ -235,7 +235,7 @@ class PasskeyCreateActivity : BaseActivity(), DIAware {
.align(Alignment.CenterVertically),
) {
Text(
text = stringResource(Res.strings.passkey_create_header),
text = stringResource(Res.string.passkey_create_header),
style = MaterialTheme.typography.labelSmall,
color = LocalContentColor.current
.combineAlpha(MediumEmphasisAlpha),
@ -284,7 +284,7 @@ class PasskeyCreateActivity : BaseActivity(), DIAware {
.width(Dimens.buttonIconPadding),
)
Text(
text = stringResource(Res.strings.cancel),
text = stringResource(Res.string.cancel),
textAlign = TextAlign.Center,
)
}

View File

@ -31,6 +31,7 @@ import androidx.credentials.exceptions.GetCredentialUnknownException
import androidx.credentials.provider.PendingIntentHandler
import androidx.lifecycle.lifecycleScope
import arrow.optics.optics
import com.artemchep.keyguard.common.R
import com.artemchep.keyguard.common.io.attempt
import com.artemchep.keyguard.common.io.bind
import com.artemchep.keyguard.common.io.effectTap
@ -73,13 +74,14 @@ import com.artemchep.keyguard.feature.navigation.state.produceScreenState
import com.artemchep.keyguard.platform.recordException
import com.artemchep.keyguard.platform.recordLog
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.ExpandedIfNotEmpty
import com.artemchep.keyguard.ui.MediumEmphasisAlpha
import com.artemchep.keyguard.ui.OtherScaffold
import com.artemchep.keyguard.ui.PasswordFlatTextField
import com.artemchep.keyguard.ui.theme.Dimens
import com.artemchep.keyguard.ui.theme.combineAlpha
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.coroutines.async
import kotlinx.coroutines.coroutineScope
import kotlinx.coroutines.delay
@ -215,8 +217,7 @@ class PasskeyGetActivity : BaseActivity(), DIAware {
// Show the error to a user
val uiState = Ahhehe.Error(
title = Res.strings.error_failed_use_passkey
.getString(this@PasskeyGetActivity),
title = org.jetbrains.compose.resources.getString(Res.string.error_failed_use_passkey),
message = it.localizedMessage
?: it.message
?: "Something went wrong",
@ -271,7 +272,7 @@ class PasskeyGetActivity : BaseActivity(), DIAware {
.align(Alignment.CenterVertically),
) {
Text(
text = stringResource(Res.strings.passkey_auth_via_header),
text = stringResource(Res.string.passkey_auth_via_header),
style = MaterialTheme.typography.labelSmall,
color = LocalContentColor.current
.combineAlpha(MediumEmphasisAlpha),
@ -310,7 +311,7 @@ class PasskeyGetActivity : BaseActivity(), DIAware {
.width(Dimens.buttonIconPadding),
)
Text(
text = stringResource(Res.strings.cancel),
text = stringResource(Res.string.cancel),
textAlign = TextAlign.Center,
)
}
@ -426,7 +427,7 @@ fun UserVerificationScreen(
top = {
Text(
textAlign = TextAlign.Center,
text = stringResource(Res.strings.userverification_header_text),
text = stringResource(Res.string.userverification_header_text),
style = MaterialTheme.typography.bodyLarge,
)
},
@ -469,7 +470,7 @@ fun UserVerificationScreen(
},
) {
Text(
text = stringResource(Res.strings.userverification_button_go),
text = stringResource(Res.string.userverification_button_go),
)
}
val onBiometricButtonClick by rememberUpdatedState(
@ -638,7 +639,7 @@ fun produceUserVerificationState(
onAuthenticated()
} else {
val message = ToastMessage(
title = translate(Res.strings.error_incorrect_password),
title = translate(Res.string.error_incorrect_password),
type = ToastMessage.Type.ERROR,
)
message(message)
@ -662,8 +663,8 @@ private fun createPromptOrNull(
fn: () -> Unit,
): PureBiometricAuthPrompt = run {
BiometricAuthPromptSimple(
title = TextHolder.Res(Res.strings.elevatedaccess_biometric_auth_confirm_title),
text = TextHolder.Res(Res.strings.elevatedaccess_biometric_auth_confirm_text),
title = TextHolder.Res(Res.string.elevatedaccess_biometric_auth_confirm_title),
text = TextHolder.Res(Res.string.elevatedaccess_biometric_auth_confirm_text),
requireConfirmation = requireConfirmation,
onComplete = { result ->
result.fold(

View File

@ -36,8 +36,9 @@ import com.artemchep.keyguard.feature.keyguard.ManualAppScreenOnUnlock
import com.artemchep.keyguard.platform.recordException
import com.artemchep.keyguard.platform.recordLog
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.theme.Dimens
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.mapNotNull
import kotlinx.coroutines.launch
@ -129,7 +130,7 @@ class PasskeyGetUnlockActivity : BaseActivity(), DIAware {
modifier = Modifier
.weight(1f)
.align(Alignment.CenterVertically),
text = stringResource(Res.strings.autofill_unlock_keyguard),
text = stringResource(Res.string.autofill_unlock_keyguard),
style = MaterialTheme.typography.titleMedium,
overflow = TextOverflow.Ellipsis,
maxLines = 1,
@ -147,7 +148,7 @@ class PasskeyGetUnlockActivity : BaseActivity(), DIAware {
.width(Dimens.buttonIconPadding),
)
Text(
text = stringResource(Res.strings.cancel),
text = stringResource(Res.string.cancel),
textAlign = TextAlign.Center,
)
}

View File

@ -29,6 +29,8 @@ import com.artemchep.keyguard.common.io.*
import com.artemchep.keyguard.common.model.*
import com.artemchep.keyguard.common.usecase.*
import com.artemchep.keyguard.feature.home.vault.component.FormatCardGroupLength
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import io.ktor.http.*
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@ -408,7 +410,7 @@ class KeyguardAutofillService : AutofillService(), DIAware {
SELECT,
}
private fun FillResponse.Builder.buildAuthentication(
private suspend fun FillResponse.Builder.buildAuthentication(
type: FooBar,
result2: AutofillStructure2,
request: FillRequest,
@ -469,12 +471,12 @@ class KeyguardAutofillService : AutofillService(), DIAware {
}
}
private fun tryBuildDataset(
private suspend fun tryBuildDataset(
index: Int,
context: Context,
secret: DSecret,
struct: AutofillStructure2,
onComplete: (Dataset.Builder.() -> Unit)? = null,
onComplete: (suspend Dataset.Builder.() -> Unit)? = null,
): Dataset? {
val title = secret.name
val text = kotlin.run {
@ -491,10 +493,10 @@ class KeyguardAutofillService : AutofillService(), DIAware {
text = text,
)
fun createDatasetBuilder(): Dataset.Builder {
suspend fun createDatasetBuilder(): Dataset.Builder {
val builder = Dataset.Builder(views)
builder.setId(secret.id)
val fields = runBlocking {
val fields = run {
val hints = struct.items
.asSequence()
.map { it.hint }
@ -556,7 +558,7 @@ class KeyguardAutofillService : AutofillService(), DIAware {
@RequiresApi(Build.VERSION_CODES.R)
@SuppressLint("RestrictedApi")
private fun tryBuildSecretInlinePresentation(
private suspend fun tryBuildSecretInlinePresentation(
request: FillRequest,
index: Int,
secret: DSecret,
@ -606,7 +608,7 @@ class KeyguardAutofillService : AutofillService(), DIAware {
@RequiresApi(Build.VERSION_CODES.R)
@SuppressLint("RestrictedApi")
private fun tryBuildManualSelectionInlinePresentation(
private suspend fun tryBuildManualSelectionInlinePresentation(
request: FillRequest,
index: Int,
intent: Intent,
@ -618,7 +620,7 @@ class KeyguardAutofillService : AutofillService(), DIAware {
PendingIntent.getActivity(this, 1010, intent, flags)
},
content = {
val title = getString(R.string.autofill_open_keyguard)
val title = org.jetbrains.compose.resources.getString(Res.string.autofill_open_keyguard)
setContentDescription(title)
setTitle(title)
setStartIcon(createAppIcon())
@ -627,7 +629,7 @@ class KeyguardAutofillService : AutofillService(), DIAware {
@SuppressLint("RestrictedApi")
@RequiresApi(Build.VERSION_CODES.R)
private fun tryCreateAuthenticationInlinePresentation(
private suspend fun tryCreateAuthenticationInlinePresentation(
type: FooBar,
request: FillRequest,
index: Int,
@ -641,8 +643,8 @@ class KeyguardAutofillService : AutofillService(), DIAware {
},
content = {
val text = when (type) {
FooBar.UNLOCK -> getString(R.string.autofill_unlock_keyguard)
FooBar.SELECT -> getString(R.string.autofill_open_keyguard)
FooBar.UNLOCK -> org.jetbrains.compose.resources.getString(Res.string.autofill_unlock_keyguard)
FooBar.SELECT -> org.jetbrains.compose.resources.getString(Res.string.autofill_open_keyguard)
}
setContentDescription(text)
setTitle(text)
@ -652,7 +654,7 @@ class KeyguardAutofillService : AutofillService(), DIAware {
@SuppressLint("RestrictedApi")
@RequiresApi(Build.VERSION_CODES.R)
private inline fun tryCreateInlinePresentation(
private suspend inline fun tryCreateInlinePresentation(
request: FillRequest,
index: Int,
createPendingIntent: () -> PendingIntent,
@ -668,7 +670,9 @@ class KeyguardAutofillService : AutofillService(), DIAware {
return InlinePresentation(
InlineSuggestionUi
.newContentBuilder(pi)
.apply(content)
.apply {
content(this)
}
.build().slice,
spec,
false,

View File

@ -40,6 +40,8 @@ import com.artemchep.keyguard.common.usecase.GetVaultSession
import com.artemchep.keyguard.common.usecase.filterHiddenProfiles
import com.artemchep.keyguard.feature.crashlytics.crashlyticsTap
import com.artemchep.keyguard.platform.recordLog
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job
@ -188,7 +190,7 @@ class KeyguardCredentialService : CredentialProviderService(), DIAware {
// Need to authenticate a user to unlock
// the database first.
is MasterSession.Empty -> {
val title = getString(R.string.autofill_open_keyguard)
val title = org.jetbrains.compose.resources.getString(Res.string.autofill_open_keyguard)
val pi = createGetUnlockPasskeyPendingIntent()
val actions = listOf(
AuthenticationAction(

View File

@ -28,6 +28,8 @@ import com.artemchep.keyguard.common.model.TotpToken
import com.artemchep.keyguard.common.service.clipboard.ClipboardService
import com.artemchep.keyguard.common.usecase.GetClipboardAutoRefresh
import com.artemchep.keyguard.common.usecase.GetTotpCode
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.totp.formatCodeStr
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
@ -352,7 +354,7 @@ class KeyguardClipboardService : Service(), DIAware {
// Notifications
//
private fun createNotification(
private suspend fun createNotification(
type: CopyValueEvent.Type,
name: String?,
text: String,
@ -377,8 +379,8 @@ class KeyguardClipboardService : Service(), DIAware {
}
val contentTitle = when (type) {
CopyValueEvent.Type.TOTP -> getString(R.string.copied_otp_code)
CopyValueEvent.Type.VALUE -> getString(R.string.copied_value)
CopyValueEvent.Type.TOTP -> org.jetbrains.compose.resources.getString(Res.string.copied_otp_code)
CopyValueEvent.Type.VALUE -> org.jetbrains.compose.resources.getString(Res.string.copied_value)
}
val contentText = kotlin.run {
val suffix = expiration
@ -404,7 +406,7 @@ class KeyguardClipboardService : Service(), DIAware {
PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT,
)
}
val copyTitle = getString(R.string.copy)
val copyTitle = org.jetbrains.compose.resources.getString(Res.string.copy)
NotificationCompat.Action.Builder(R.drawable.ic_copy, copyTitle, copyAction)
.build()
}

View File

@ -3,8 +3,11 @@ package com.artemchep.keyguard.copy
import android.app.Application
import android.content.Context
import android.net.Uri
import com.artemchep.keyguard.common.model.FileResource
import com.artemchep.keyguard.common.service.text.TextService
import dev.icerock.moko.resources.FileResource
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import org.jetbrains.compose.resources.ExperimentalResourceApi
import org.kodein.di.DirectDI
import org.kodein.di.instance
import java.io.InputStream
@ -18,12 +21,11 @@ class TextServiceAndroid(
context = directDI.instance<Application>(),
)
override fun readFromResources(
@OptIn(ExperimentalResourceApi::class)
override suspend fun readFromResources(
fileResource: FileResource,
): InputStream = fileResource.inputStream()
private fun FileResource.inputStream() = context.resources
.openRawResource(rawResId)
): InputStream = Res.readBytes(fileResource.name)
.inputStream()
override fun readFromFile(uri: String): InputStream {
val parsedUri = Uri.parse(uri)

View File

@ -36,6 +36,7 @@ import com.artemchep.keyguard.feature.home.vault.component.surfaceColorAtElevati
import com.artemchep.keyguard.feature.navigation.NavigationIcon
import com.artemchep.keyguard.feature.navigation.RouteResultTransmitter
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.DefaultProgressBar
import com.artemchep.keyguard.ui.FlatItem
import com.artemchep.keyguard.ui.ScaffoldLazyColumn
@ -45,7 +46,7 @@ import com.artemchep.keyguard.ui.pulltosearch.PullToSearch
import com.artemchep.keyguard.ui.skeleton.SkeletonItem
import com.artemchep.keyguard.ui.toolbar.CustomToolbar
import com.artemchep.keyguard.ui.toolbar.content.CustomToolbarContent
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.filter
@ -131,7 +132,7 @@ fun ChangePasswordScreen(
) {
Column {
CustomToolbarContent(
title = stringResource(Res.strings.apppicker_header_title),
title = stringResource(Res.string.apppicker_header_title),
icon = {
NavigationIcon()
},
@ -151,7 +152,7 @@ fun ChangePasswordScreen(
modifier = Modifier
.focusRequester2(focusRequester),
text = queryText,
placeholder = stringResource(Res.strings.apppicker_search_placeholder),
placeholder = stringResource(Res.string.apppicker_search_placeholder),
searchIcon = false,
count = count,
leading = {},
@ -234,7 +235,7 @@ private fun NoItemsPlaceholder(
modifier = modifier,
text = {
Text(
text = stringResource(Res.strings.apppicker_empty_label),
text = stringResource(Res.string.apppicker_empty_label),
)
},
)
@ -277,7 +278,7 @@ private fun AppItem(
horizontal = 6.dp,
vertical = 2.dp,
),
text = stringResource(Res.strings.apppicker_system_app_label),
text = stringResource(Res.string.apppicker_system_app_label),
maxLines = 1,
overflow = TextOverflow.Ellipsis,
style = MaterialTheme.typography.labelMedium,

View File

@ -29,10 +29,11 @@ import androidx.compose.ui.viewinterop.AndroidView
import arrow.core.left
import arrow.core.right
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.ExpandedIfNotEmpty
import com.artemchep.keyguard.ui.theme.Dimens
import com.artemchep.keyguard.ui.util.DividerColor
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
@SuppressLint("SetJavaScriptEnabled")
@Composable
@ -105,7 +106,7 @@ actual fun ColumnScope.LoginOtpScreenContentFido2WebAuthnBrowser(
updatedOnClick?.invoke()
},
) {
Text(stringResource(Res.strings.fido2webauthn_action_go_title))
Text(stringResource(Res.string.fido2webauthn_action_go_title))
}
ExpandedIfNotEmpty(state.error) { error ->
Column {
@ -141,7 +142,7 @@ actual fun ColumnScope.LoginOtpScreenContentFido2WebAuthnBrowser(
// modifier = Modifier
// .padding(horizontal = Dimens.horizontalPadding),
// text = stringResource(
// Res.strings.fido2webauthn_bitwarden_web_vault_version_warning_note,
// Res.string.fido2webauthn_bitwarden_web_vault_version_warning_note,
// "2023.7.1",
// ),
// style = MaterialTheme.typography.bodyMedium,

View File

@ -7,7 +7,7 @@ import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalLifecycleOwner
import androidx.fragment.app.FragmentActivity
import androidx.lifecycle.withResumed
import androidx.lifecycle.whenResumed
import arrow.core.left
import arrow.core.right
import com.artemchep.keyguard.android.closestActivityOrNull
@ -28,7 +28,7 @@ actual fun BiometricPromptEffect(
CollectedEffect(flow) { event ->
// We want the screen to be visible and on front, when the biometric
// prompt is popping up.
lifecycle.lifecycle.withResumed {
lifecycle.lifecycle.whenResumed {
val activity = context.closestActivityOrNull as FragmentActivity
when (event) {
is BiometricAuthPrompt -> activity.launchPrompt(event)
@ -38,7 +38,7 @@ actual fun BiometricPromptEffect(
}
}
private fun FragmentActivity.launchPrompt(
private suspend fun FragmentActivity.launchPrompt(
event: BiometricAuthPrompt,
) {
val promptTitle = textResource(event.title, this)
@ -77,7 +77,7 @@ private fun FragmentActivity.launchPrompt(
prompt.authenticate(promptInfo, crypto)
}
private fun FragmentActivity.launchPrompt(
private suspend fun FragmentActivity.launchPrompt(
event: BiometricAuthPromptSimple,
) {
val promptTitle = textResource(event.title, this)

View File

@ -12,6 +12,7 @@ import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.platform.LocalContext
import com.artemchep.keyguard.common.model.ToastMessage
import com.artemchep.keyguard.common.usecase.ShowMessage
import com.artemchep.keyguard.platform.LeUriImpl
import com.artemchep.keyguard.ui.CollectedEffect
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
@ -45,7 +46,7 @@ actual fun FilePickerEffect(
val info = uri?.let {
FilePickerIntent.OpenDocument.Ifo(
uri = it,
uri = LeUriImpl(it),
name = getFileName(context, it),
size = getFileSize(context, it),
)

View File

@ -5,8 +5,11 @@ import androidx.compose.material.icons.automirrored.outlined.AddToHomeScreen
import androidx.core.content.pm.ShortcutManagerCompat
import com.artemchep.keyguard.android.util.ShortcutInfo
import com.artemchep.keyguard.common.model.DCipherFilter
import com.artemchep.keyguard.feature.localization.TextHolder
import com.artemchep.keyguard.feature.localization.wrap
import com.artemchep.keyguard.feature.navigation.state.RememberStateFlowScope
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.FlatItemAction
import com.artemchep.keyguard.ui.icons.iconSmall
@ -25,7 +28,7 @@ actual fun CipherFilterUtil.addShortcutActionOrNull(
)
return FlatItemAction(
leading = iconSmall(Icons.AutoMirrored.Outlined.AddToHomeScreen),
title = translate(Res.strings.add_to_home_screen),
title = Res.string.add_to_home_screen.wrap(),
onClick = {
ShortcutManagerCompat.requestPinShortcut(androidContext, shortcut, null)
},

View File

@ -24,13 +24,14 @@ import com.artemchep.keyguard.android.closestActivityOrNull
import com.artemchep.keyguard.common.service.autofill.AutofillService
import com.artemchep.keyguard.common.service.autofill.AutofillServiceStatus
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.ExpandedIfNotEmpty
import com.artemchep.keyguard.ui.FlatItem
import com.artemchep.keyguard.ui.FlatSimpleNote
import com.artemchep.keyguard.ui.SimpleNote
import com.artemchep.keyguard.ui.icons.icon
import com.artemchep.keyguard.ui.theme.Dimens
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.coroutines.flow.map
import org.kodein.di.DirectDI
import org.kodein.di.instance
@ -107,12 +108,12 @@ private fun SettingAutofill(
},
title = {
Text(
text = stringResource(Res.strings.pref_item_autofill_service_title),
text = stringResource(Res.string.pref_item_autofill_service_title),
)
},
text = {
Text(
text = stringResource(Res.strings.pref_item_autofill_service_text),
text = stringResource(Res.string.pref_item_autofill_service_text),
)
},
onClick = onCheckedChange?.partially1(!checked),
@ -150,7 +151,7 @@ private fun SettingAutofillPlatformWarningMiui(
start = Dimens.horizontalPadding * 1 + 24.dp,
),
type = SimpleNote.Type.INFO,
text = stringResource(Res.strings.pref_item_autofill_service_xiaomi_permission_note),
text = stringResource(Res.string.pref_item_autofill_service_xiaomi_permission_note),
trailing = {
val updatedContext by rememberUpdatedState(LocalContext.current)
IconButton(

View File

@ -12,10 +12,11 @@ import androidx.compose.runtime.rememberUpdatedState
import androidx.compose.ui.platform.LocalContext
import com.artemchep.keyguard.common.R
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.FlatItem
import com.artemchep.keyguard.ui.icons.ChevronIcon
import com.artemchep.keyguard.ui.icons.icon
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.coroutines.flow.flowOf
import org.kodein.di.DirectDI
@ -40,7 +41,7 @@ fun SettingClipboardNotificationSettings(
leading = icon<RowScope>(Icons.Outlined.EditNotifications),
title = {
Text(
text = stringResource(Res.strings.pref_item_clipboard_notification_settings_title),
text = stringResource(Res.string.pref_item_clipboard_notification_settings_title),
)
},
trailing = {

View File

@ -14,10 +14,11 @@ import com.artemchep.keyguard.common.io.ioEffect
import com.artemchep.keyguard.common.io.launchIn
import com.artemchep.keyguard.common.usecase.WindowCoroutineScope
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.FlatItem
import com.artemchep.keyguard.ui.icons.ChevronIcon
import com.artemchep.keyguard.ui.icons.icon
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.flowOf
import org.kodein.di.DirectDI
@ -79,12 +80,12 @@ private fun SettingCredentialProvider(
},
title = {
Text(
text = stringResource(Res.strings.pref_item_credential_provider_title),
text = stringResource(Res.string.pref_item_credential_provider_title),
)
},
text = {
Text(
text = stringResource(Res.strings.pref_item_credential_provider_text),
text = stringResource(Res.string.pref_item_credential_provider_text),
)
},
onClick = onClick,

View File

@ -19,14 +19,15 @@ import com.artemchep.keyguard.feature.home.settings.permissions.PermissionsSetti
import com.artemchep.keyguard.feature.navigation.LocalNavigationController
import com.artemchep.keyguard.feature.navigation.NavigationIntent
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.FlatItem
import com.artemchep.keyguard.ui.icons.ChevronIcon
import com.artemchep.keyguard.ui.icons.icon
import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.isGranted
import com.google.accompanist.permissions.rememberPermissionState
import dev.icerock.moko.resources.StringResource
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.StringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.coroutines.flow.flowOf
import org.kodein.di.DirectDI
@ -60,7 +61,7 @@ private fun SettingPermissionDetails(
},
title = {
Text(
text = stringResource(Res.strings.pref_item_permissions_title),
text = stringResource(Res.string.pref_item_permissions_title),
)
},
onClick = onClick,

View File

@ -6,6 +6,7 @@ import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.CameraAlt
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.icons.icon
import com.google.accompanist.permissions.ExperimentalPermissionsApi
import org.kodein.di.DirectDI
@ -17,8 +18,8 @@ actual fun settingPermissionCameraProvider(
@OptIn(ExperimentalPermissionsApi::class)
fun settingPermissionCameraProvider2(): SettingComponent = settingPermissionProvider(
leading = icon<RowScope>(Icons.Outlined.CameraAlt),
title = Res.strings.pref_item_permission_camera_title,
text = Res.strings.pref_item_permission_camera_text,
title = Res.string.pref_item_permission_camera_title,
text = Res.string.pref_item_permission_camera_text,
minSdk = Build.VERSION_CODES.M,
permissionProvider = {
Manifest.permission.CAMERA

View File

@ -6,6 +6,7 @@ import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Notifications
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.icons.icon
import com.google.accompanist.permissions.ExperimentalPermissionsApi
import org.kodein.di.DirectDI
@ -17,8 +18,8 @@ actual fun settingPermissionPostNotificationsProvider(
@OptIn(ExperimentalPermissionsApi::class)
fun settingPermissionPostNotificationsProvider2(): SettingComponent = settingPermissionProvider(
leading = icon<RowScope>(Icons.Outlined.Notifications),
title = Res.strings.pref_item_permission_post_notifications_title,
text = Res.strings.pref_item_permission_post_notifications_text,
title = Res.string.pref_item_permission_post_notifications_title,
text = Res.string.pref_item_permission_post_notifications_text,
minSdk = Build.VERSION_CODES.TIRAMISU,
permissionProvider = {
Manifest.permission.POST_NOTIFICATIONS

View File

@ -6,6 +6,7 @@ import androidx.compose.foundation.layout.RowScope
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Storage
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.icons.icon
import com.google.accompanist.permissions.ExperimentalPermissionsApi
import org.kodein.di.DirectDI
@ -17,8 +18,8 @@ actual fun settingPermissionWriteExternalStorageProvider(
@OptIn(ExperimentalPermissionsApi::class)
fun settingPermissionWriteExternalStorageProvider(): SettingComponent = settingPermissionProvider(
leading = icon<RowScope>(Icons.Outlined.Storage),
title = Res.strings.pref_item_permission_write_external_storage_title,
text = Res.strings.pref_item_permission_write_external_storage_text,
title = Res.string.pref_item_permission_write_external_storage_title,
text = Res.string.pref_item_permission_write_external_storage_text,
maxSdk = Build.VERSION_CODES.Q,
permissionProvider = {
Manifest.permission.WRITE_EXTERNAL_STORAGE

View File

@ -11,10 +11,11 @@ import androidx.compose.ui.platform.LocalContext
import com.artemchep.keyguard.feature.navigation.LocalNavigationController
import com.artemchep.keyguard.feature.navigation.NavigationIntent
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.FlatItem
import com.artemchep.keyguard.ui.icons.ChevronIcon
import com.artemchep.keyguard.ui.icons.icon
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import kotlinx.coroutines.flow.flowOf
import org.kodein.di.DirectDI
@ -38,7 +39,7 @@ private fun SettingSubscriptionsPlayStore() {
title = {
Text(
text = stringResource(
Res.strings.pref_item_premium_manage_subscription_on_play_store_title,
Res.string.pref_item_premium_manage_subscription_on_play_store_title,
),
)
},

View File

@ -1,34 +0,0 @@
package com.artemchep.keyguard.feature.localization
import android.content.Context
import com.artemchep.keyguard.platform.LeContext
import dev.icerock.moko.resources.PluralsResource
import dev.icerock.moko.resources.StringResource
import dev.icerock.moko.resources.desc.PluralFormatted
import dev.icerock.moko.resources.desc.Resource
import dev.icerock.moko.resources.desc.ResourceFormatted
import dev.icerock.moko.resources.desc.StringDesc
import dev.icerock.moko.resources.desc.desc
fun textResource(text: TextHolder, context: Context): String = when (text) {
is TextHolder.Value -> text.data.desc()
is TextHolder.Res -> text.data.desc()
}.toString(context)
actual fun textResource(res: StringResource, context: LeContext): String =
StringDesc.Resource(res).toString(context.context)
actual fun textResource(
res: StringResource,
context: LeContext,
vararg args: Any,
): String =
StringDesc.ResourceFormatted(res, *args).toString(context.context)
actual fun textResource(
res: PluralsResource,
context: LeContext,
quantity: Int,
vararg args: Any,
): String =
StringDesc.PluralFormatted(res, quantity, *args).toString(context.context)

View File

@ -0,0 +1,9 @@
package com.artemchep.keyguard.feature.localization
import android.content.Context
import com.artemchep.keyguard.platform.LeContext
suspend fun textResource(text: TextHolder, context: Context): String = when (text) {
is TextHolder.Value -> text.data
is TextHolder.Res -> textResource(text.data, LeContext(context))
}

View File

@ -28,6 +28,7 @@ import androidx.core.content.ContextCompat
import com.artemchep.keyguard.feature.navigation.NavigationIcon
import com.artemchep.keyguard.feature.navigation.RouteResultTransmitter
import com.artemchep.keyguard.res.Res
import com.artemchep.keyguard.res.*
import com.artemchep.keyguard.ui.CollectedEffect
import com.artemchep.keyguard.ui.ScaffoldColumn
import com.artemchep.keyguard.ui.theme.Dimens
@ -38,7 +39,7 @@ import com.google.accompanist.permissions.rememberPermissionState
import com.google.mlkit.vision.barcode.BarcodeScanning
import com.google.mlkit.vision.barcode.common.Barcode
import com.google.mlkit.vision.common.InputImage
import dev.icerock.moko.resources.compose.stringResource
import org.jetbrains.compose.resources.stringResource
import java.util.concurrent.Executors
@Composable
@ -73,7 +74,7 @@ fun ScanQrScreen(
modifier = Modifier
.statusBarsPadding(),
title = {
Text(stringResource(Res.strings.scanqr_title))
Text(stringResource(Res.string.scanqr_title))
},
navigationIcon = {
NavigationIcon()

View File

@ -1,11 +1,20 @@
package com.artemchep.keyguard.platform
import android.net.Uri
import android.os.Parcelable
import androidx.core.net.toUri
import kotlinx.parcelize.Parcelize
import java.io.File
actual typealias LeUri = Uri
actual abstract class LeUri : Parcelable
actual fun leParseUri(uri: String): LeUri = Uri.parse(uri)
@Parcelize
data class LeUriImpl(
val uri: Uri,
) : LeUri() {
override fun toString(): String = uri.toString()
}
actual fun leParseUri(file: File): LeUri = file.toUri()
actual fun leParseUri(uri: String): LeUri = Uri.parse(uri).let(::LeUriImpl)
actual fun leParseUri(file: File): LeUri = file.toUri().let(::LeUriImpl)

View File

@ -1,5 +0,0 @@
package com.artemchep.keyguard.platform.parcelize
import kotlinx.parcelize.Parcelize
actual typealias LeParcelize = Parcelize

View File

@ -12,7 +12,7 @@
android:layout_gravity="center"
android:layout_marginStart="16dp"
android:layout_marginLeft="16dp"
android:contentDescription="@string/autofill_open_keyguard"
android:contentDescription="@string/android_autofill_open_keyguard"
android:src="@mipmap/ic_launcher" />
<TextView
@ -24,6 +24,6 @@
android:paddingLeft="16dp"
android:paddingEnd="16dp"
android:paddingRight="16dp"
android:text="@string/autofill_open_keyguard"
android:text="@string/android_autofill_open_keyguard"
android:textAppearance="?android:attr/textAppearanceListItemSmall" />
</LinearLayout>

View File

@ -24,6 +24,6 @@
android:paddingLeft="16dp"
android:paddingEnd="16dp"
android:paddingRight="16dp"
android:text="@string/autofill_unlock_keyguard"
android:text="@string/android_autofill_unlock_keyguard"
android:textAppearance="?android:attr/textAppearanceListItemSmall" />
</LinearLayout>

View File

@ -18,10 +18,14 @@
<string name="notification_sync_vault_title">Syncing vault</string>
<string name="about">About</string>
<string name="home_generator_label">Generator</string>
<string name="autofill_service_name">Keyguard form autofilling</string>
<string name="autofill_sign_in_prompt">Unlock Keyguard</string>
<string name="autofill_explanation_summary">Enable autofilling to quickly fill out forms in other apps</string>
<string name="autofill_select_entry">Open Keyguard</string>
<string name="set_autofill_service_title">Set default autofill service</string>
<string name="autofill_preference_title">Autofill settings</string>
<string name="android_autofill_open_keyguard">Open Keyguard</string>
<string name="android_autofill_unlock_keyguard">Unlock Keyguard</string>
</resources>

View File

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="780dp"
android:height="780dp"
android:viewportWidth="780"
android:viewportHeight="780">
<path
android:pathData="M0,0h780v780h-780z"
android:fillColor="#2557d6"/>
<path
android:pathData="m0.25,375.64h37.44l8.44,-19.51h18.9l8.42,19.51h73.67v-14.91l6.58,14.98h38.24l6.58,-15.2v15.14h183.08l-0.09,-32.03h3.54c2.48,0.08 3.2,0.3 3.2,4.23v27.8h94.69v-7.45c7.64,3.92 19.52,7.45 35.15,7.45h39.84l8.52,-19.51h18.9l8.34,19.51h76.76v-18.53l11.63,18.53h61.51v-122.51h-60.88v14.47l-8.52,-14.47h-62.47v14.47L603.9,253.13h-84.38c-14.12,0 -26.54,1.89 -36.57,7.15v-7.15h-58.23v7.15c-6.38,-5.43 -15.08,-7.15 -24.75,-7.15h-212.74l-14.27,31.64 -14.66,-31.64L91.29,253.13v14.47L83.93,253.13L26.79,253.13L0.25,311.38v64.26h0zM236.59,357.97h-22.46l-0.08,-68.79 -31.77,68.79h-19.24l-31.86,-68.85v68.85h-44.57l-8.42,-19.59L32.56,338.38l-8.51,19.59L0.25,357.97L39.49,270.13L72.05,270.13l37.27,83.16v-83.16h35.77l28.68,59.59 26.34,-59.59h36.49zM70.69,320.15 L55.69,285.13 40.78,320.15ZM325.99,357.97L252.79,357.97v-87.84h73.2v18.29h-51.29v15.83h50.06v18h-50.06v17.54h51.29zM429.15,293.79c0,14 -9.76,21.24 -15.44,23.41 4.79,1.75 8.89,4.84 10.84,7.4 3.09,4.37 3.63,8.27 3.63,16.12v17.25h-22.1l-0.08,-11.08c0,-5.28 0.53,-12.89 -3.46,-17.11 -3.2,-3.09 -8.08,-3.76 -15.97,-3.76h-23.52v31.95h-21.91v-87.84h50.4c11.2,0 19.45,0.28 26.53,4.21 6.93,3.92 11.09,9.65 11.09,19.45zM401.45,306.83c-3.01,1.75 -6.57,1.81 -10.84,1.81h-26.62v-19.51h26.98c3.82,0 7.8,0.16 10.39,1.58 2.84,1.28 4.6,4 4.6,7.76 0,3.84 -1.67,6.93 -4.51,8.35zM464.3,357.97L441.94,357.97v-87.84h22.36zM723.86,357.97L692.8,357.97L651.27,292.04v65.93h-44.63l-8.53,-19.59h-45.52l-8.27,19.59h-25.65c-10.65,0 -24.14,-2.26 -31.77,-9.72 -7.7,-7.46 -11.71,-17.56 -11.71,-33.53 0,-13.03 2.39,-24.94 11.81,-34.35 7.09,-7.01 18.18,-10.24 33.28,-10.24h21.22v18.82L520.73,288.95c-8,0 -12.51,1.14 -16.86,5.2 -3.73,3.7 -6.3,10.69 -6.3,19.9 0,9.41 1.95,16.2 6.02,20.63 3.37,3.48 9.51,4.53 15.27,4.53h9.84l30.88,-69.08h32.83l37.1,83.08v-83.08h33.37l38.52,61.17v-61.17h22.44zM590.66,320.15 L575.49,285.13 560.41,320.15zM779.7,498.23c-5.32,7.46 -15.69,11.24 -29.74,11.24h-42.32v-18.84h42.15c4.18,0 7.11,-0.53 8.87,-2.17 1.66,-1.47 2.61,-3.55 2.59,-5.73 0,-2.56 -1.06,-4.59 -2.68,-5.81 -1.59,-1.34 -3.9,-1.95 -7.72,-1.95 -20.57,-0.67 -46.24,0.61 -46.24,-27.19 0,-12.74 8.44,-26.16 31.44,-26.16h43.65v-17.48h-40.56c-12.24,0 -21.13,2.81 -27.42,7.17v-7.18h-59.99c-9.6,0 -20.85,2.28 -26.18,7.18v-7.18h-107.12v7.18c-8.52,-5.89 -22.91,-7.18 -29.55,-7.18h-70.66v7.18c-6.74,-6.26 -21.74,-7.18 -30.89,-7.18L308.26,404.13l-18.09,18.76 -16.95,-18.76h-118.13v122.59h115.9l18.65,-19.06 17.57,19.06 71.44,0.06v-28.84h7.02c9.48,0.14 20.66,-0.23 30.52,-4.31v33.08h58.93v-31.95h2.84c3.63,0 3.98,0.14 3.98,3.62v28.33h179.01c11.36,0 23.24,-2.79 29.82,-7.84v7.84h56.78c11.81,0 23.35,-1.59 32.13,-5.65l0,-22.84zM424.76,451.07c0,24.41 -19,29.44 -38.16,29.44h-27.34v29.47h-42.59l-26.98,-29.09 -28.04,29.09h-86.8v-87.86h88.14l26.96,28.8 27.88,-28.8h70.02c17.39,0 36.93,4.61 36.93,28.94zM250.54,491.51L196.66,491.51v-17.48h48.11v-17.93h-48.11v-15.97h54.94l23.97,25.6zM337.35,501.57 L303.7,465.78 337.35,431.13zM387.1,462.5h-28.32v-22.37h28.57c7.91,0 13.4,3.09 13.4,10.77 0,7.6 -5.24,11.6 -13.66,11.6zM535.46,422.13h73.14v18.17h-51.31v15.97h50.06v17.93h-50.06v17.48l51.31,0.08v18.23h-73.14zM507.35,469.16c4.88,1.73 8.86,4.82 10.73,7.38 3.1,4.29 3.54,8.29 3.63,16.04v17.42h-22v-10.99c0,-5.29 0.53,-13.11 -3.54,-17.2 -3.2,-3.15 -8.08,-3.9 -16.08,-3.9h-23.42v32.09h-22.02v-87.86h50.59c11.09,0 19.17,0.47 26.37,4.15 6.91,4 11.27,9.49 11.27,19.51 -0,14.02 -9.76,21.18 -15.53,23.37zM494.96,458.05c-2.93,1.67 -6.56,1.81 -10.82,1.81h-26.62v-19.73h26.98c3.9,0 7.81,0.08 10.46,1.59 2.84,1.42 4.54,4.15 4.54,7.9 0,3.76 -1.7,6.79 -4.54,8.43zM692.78,463.65c4.27,4.23 6.55,9.57 6.55,18.61 0,18.9 -12.32,27.72 -34.42,27.72h-42.68v-18.84h42.51c4.16,0 7.1,-0.52 8.95,-2.17 1.51,-1.36 2.59,-3.33 2.59,-5.73 0,-2.56 -1.17,-4.59 -2.67,-5.81 -1.67,-1.34 -3.99,-1.95 -7.8,-1.95 -20.49,-0.67 -46.16,0.61 -46.16,-27.19 0,-12.74 8.35,-26.16 31.33,-26.16h43.93v18.7h-40.2c-3.98,0 -6.57,0.14 -8.78,1.59 -2.4,1.42 -3.29,3.53 -3.29,6.32 0,3.31 2.04,5.57 4.8,6.55 2.31,0.77 4.8,1 8.53,1l11.8,0.31c11.9,0.28 20.06,2.25 25.02,7.07zM779.74,440.13h-39.94c-3.99,0 -6.64,0.14 -8.87,1.59 -2.31,1.42 -3.2,3.53 -3.2,6.32 0,3.31 1.95,5.57 4.79,6.54 2.31,0.77 4.8,1 8.44,1l11.88,0.3c11.98,0.28 19.98,2.26 24.86,7.07 0.89,0.67 1.42,1.42 2.03,2.17v-25z"
android:fillColor="#ffffff"/>
</vector>

View File

@ -0,0 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="780dp"
android:height="780dp"
android:viewportWidth="780"
android:viewportHeight="780">
<path
android:pathData="M0,0h780v780h-780z"
android:fillColor="#0079be"/>
<path
android:pathData="m599.93,391.45c0,-99.42 -82.98,-168.13 -173.9,-168.1h-78.24c-92,-0.03 -167.73,68.71 -167.73,168.1 0,90.93 75.73,165.64 167.73,165.2h78.24c90.91,0.44 173.9,-74.29 173.9,-165.2z"
android:fillColor="#ffffff"/>
<path
android:pathData="m348.28,237.43c-84.07,0.03 -152.19,68.31 -152.21,152.58 0.02,84.26 68.14,152.53 152.21,152.56 84.09,-0.03 152.23,-68.3 152.24,-152.56C500.51,305.74 432.37,237.46 348.28,237.43Z"
android:fillColor="#0079be"/>
<path
android:pathData="m252.07,389.6c0.08,-41.18 25.75,-76.3 61.94,-90.25L314.01,479.83C277.82,465.88 252.15,430.79 252.07,389.6ZM383.07,479.87v-180.53c36.21,13.92 61.91,49.06 61.98,90.26 -0.06,41.21 -25.77,76.32 -61.98,90.27z"
android:fillColor="#ffffff"/>
</vector>

View File

@ -0,0 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="780dp"
android:height="780dp"
android:viewportWidth="780"
android:viewportHeight="780">
<path
android:pathData="M0,0L0,139.5 0,139.5 0,640.5 0,780L780,780L780,139.5 780,0Z"
android:fillColor="#4d4d4d"
android:fillType="evenOdd"/>
<path
android:pathData="m327.15,301.39c8.84,0 16.25,1.78 25.27,6.09v22.75c-8.54,-7.86 -15.95,-11.15 -25.76,-11.15 -19.26,0 -34.41,15.02 -34.41,34.05 0,20.08 14.68,34.2 35.37,34.2 9.31,0 16.59,-3.12 24.8,-10.86v22.76c-9.34,4.14 -16.91,5.78 -25.76,5.78 -31.28,0 -55.58,-22.6 -55.58,-51.74 0,-28.83 24.95,-51.88 56.07,-51.88zM230.04,302.02c11.55,0 22.11,3.72 30.94,10.99l-10.75,13.25c-5.35,-5.65 -10.41,-8.03 -16.56,-8.03 -8.85,0 -15.3,4.74 -15.3,10.99 0,5.35 3.62,8.19 15.94,12.48 23.36,8.04 30.29,15.18 30.29,30.93 0,19.19 -14.98,32.55 -36.32,32.55 -15.63,0 -26.99,-5.8 -36.46,-18.87l13.27,-12.03c4.73,8.61 12.62,13.22 22.42,13.22 9.16,0 15.95,-5.95 15.95,-13.98 0,-4.16 -2.06,-7.73 -6.16,-10.26 -2.07,-1.2 -6.16,-2.98 -14.2,-5.65 -19.29,-6.54 -25.91,-13.53 -25.91,-27.18 0,-16.23 14.21,-28.41 32.85,-28.41zM464.76,303.75h22.44l28.08,66.59 28.45,-66.59h22.27L520.5,405.43L509.45,405.43ZM67.41,303.9h30.15c33.31,0 56.53,20.38 56.53,49.64 0,14.59 -7.1,28.7 -19.12,38.06 -10.11,7.9 -21.63,11.44 -37.57,11.44L67.41,403.04ZM163.55,303.9h20.54v99.14h-20.54zM575.28,303.9h58.25v16.8L595.81,320.7v22h36.34v16.79L595.81,359.5v26.76h37.73v16.78L575.28,403.04L575.28,303.9ZM647.14,303.9h30.45c23.69,0 37.26,10.71 37.26,29.27 0,15.18 -8.51,25.14 -23.99,28.1l33.15,41.77h-25.26l-28.43,-39.83h-2.68v39.83h-20.51zM667.66,319.52v30.02h6c13.12,0 20.07,-5.36 20.07,-15.33 0,-9.65 -6.95,-14.7 -19.75,-14.7zM87.94,320.7v65.56h5.51c13.27,0 21.66,-2.39 28.11,-7.88 7.1,-5.95 11.38,-15.47 11.38,-24.98 0,-9.5 -4.27,-18.73 -11.38,-24.68 -6.78,-5.78 -14.84,-8.02 -28.11,-8.02z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
<path
android:pathData="m415.13,300.71c30.94,0 56.02,23.58 56.02,52.71v0.03c0,29.13 -25.08,52.74 -56.02,52.74 -30.94,0 -56.02,-23.61 -56.02,-52.74v-0.03c0,-29.13 25.08,-52.71 56.02,-52.71zM779.98,427.86C753.93,446.19 337.68,716.72 0,780L724.02,780 780,780L779.98,139.5Z"
android:fillColor="#f47216"
android:fillType="evenOdd"/>
</vector>

View File

@ -0,0 +1,21 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="780dp"
android:height="780dp"
android:viewportWidth="780"
android:viewportHeight="780">
<path
android:pathData="M0,0h780v780h-780z"
android:fillColor="#000000"/>
<path
android:pathData="m167.25,321.4c6.8,-2.3 14.1,-3.5 21.7,-3.5 33.2,0 60.9,23.6 67.2,54.9l47,-9.6c-10.8,-53.2 -57.8,-93.3 -114.2,-93.3 -12.9,0 -25.3,2.1 -36.9,6z"
android:fillColor="#fff100"/>
<path
android:pathData="m111.75,473.8 l31.8,-36c-14.2,-12.6 -23.1,-30.9 -23.1,-51.4 0,-20.4 8.9,-38.8 23.1,-51.3l-31.8,-35.9c-24.1,21.4 -39.3,52.5 -39.3,87.3 0,34.7 15.2,65.9 39.3,87.3z"
android:fillColor="#00a3df"/>
<path
android:pathData="m256.15,400.2c-6.4,31.3 -34,54.8 -67.2,54.8 -7.6,0 -14.9,-1.2 -21.8,-3.5l-15.2,45.5c11.6,3.9 24.1,6 37,6 56.4,0 103.4,-40 114.2,-93.2z"
android:fillColor="#ee4023"/>
<path
android:pathData="m459.75,432.4c-7.8,7.6 -18.3,12.2 -29.9,12 -8,-0.1 -15.4,-2.5 -21.6,-6.5l-15.6,24.8c10.7,6.7 23.2,10.7 36.8,10.9 19.7,0.3 37.7,-7.5 50.8,-20.2zM431.55,331.3c-39.2,-0.6 -71.6,30.8 -72.2,70 -0.2,14.7 4,28.5 11.5,39.9l128.8,-55.1c-7.2,-30.9 -34.8,-54.2 -68.1,-54.8m-42.7,75.6c-0.2,-1.6 -0.3,-3.3 -0.3,-5 0.4,-23.1 19.4,-41.6 42.5,-41.2 12.6,0.2 23.8,5.9 31.3,14.9zM540.15,299.3v137.3l23.8,9.9 -11.3,27.1 -23.6,-9.8c-5.3,-2.3 -8.9,-5.8 -11.6,-9.8 -2.6,-4 -4.6,-9.6 -4.6,-17v-137.7zM626.05,362.8c4.2,-1.4 8.6,-2.1 13.3,-2.1 20.3,0 37.1,14.4 41,33.5l28.7,-5.9c-6.6,-32.5 -35.3,-56.9 -69.7,-56.9 -7.9,0 -15.5,1.3 -22.5,3.6zM592.15,455.7 L611.55,433.8c-8.7,-7.7 -14.1,-18.9 -14.1,-31.4 0,-12.5 5.5,-23.7 14.1,-31.3L592.15,349.2c-14.7,13 -24,32.1 -24,53.3 0,21.2 9.3,40.2 24,53.2zM680.35,410.9c-3.9,19.1 -20.8,33.5 -41,33.5 -4.6,0 -9.1,-0.8 -13.3,-2.2l-9.3,27.8c7.1,2.4 14.7,3.7 22.6,3.7 34.4,0 63.1,-24.4 69.7,-56.9z"
android:fillColor="#ffffff"/>
</vector>

View File

@ -0,0 +1,55 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="780dp"
android:height="780dp"
android:viewportWidth="780"
android:viewportHeight="780">
<path
android:pathData="M0,0h780v780h-780z"
android:fillColor="#0e4c96"/>
<path
android:pathData="m632.24,501.27c0,41.62 -33.73,75.36 -75.36,75.36L147.75,576.63L147.75,278.75c0,-41.63 33.73,-75.37 75.36,-75.37l409.12,-0 0,297.89z"
android:fillColor="#ffffff"/>
<path
android:pathData="m498.86,396.54c11.68,0.25 23.44,-0.52 35.08,0.4 11.79,2.2 14.63,20.04 4.16,25.89 -7.14,3.85 -15.63,1.43 -23.38,2.11h-15.85zM540.69,364.4c2.6,9.16 -6.24,17.39 -15.07,16.13L498.86,380.53c0.19,-8.64 -0.37,-18.02 0.27,-26.21 10.73,0.3 21.55,-0.62 32.21,0.48 4.58,1.15 8.41,4.92 9.35,9.6zM605.12,228.5c0.5,17.5 0.07,35.93 0.21,53.78 -0.04,72.6 0.07,145.19 -0.05,217.79 -0.47,27.21 -24.58,50.84 -51.6,51.39 -27.05,0.11 -54.1,0.02 -81.14,0.05v-109.75c29.47,-0.15 58.96,0.31 88.42,-0.23 13.67,-0.86 28.63,-9.88 29.27,-24.91 1.61,-15.1 -12.63,-25.55 -26.15,-27.2 -5.2,-0.14 -5.04,-1.52 0,-2.12 12.89,-2.79 23.02,-16.13 19.23,-29.5 -3.24,-14.06 -18.77,-19.5 -31.7,-19.47 -26.35,-0.18 -52.71,-0.03 -79.06,-0.08 0.17,-20.49 -0.35,-41 0.29,-61.47 2.09,-26.72 26.81,-48.75 53.45,-48.27h78.85z">
<aapt:attr name="android:fillColor">
<gradient
android:startX="472.02"
android:startY="390.6"
android:endX="604.89"
android:endY="390.6"
android:type="linear">
<item android:offset="0" android:color="#FF007B40"/>
<item android:offset="1" android:color="#FF55B330"/>
</gradient>
</aapt:attr>
</path>
<path
android:pathData="m174.74,279.54c0.67,-27.16 24.89,-50.61 51.88,-51.01 26.94,-0.08 53.89,-0.01 80.84,-0.04 -0.07,90.89 0.15,181.78 -0.11,272.66 -1.04,26.83 -24.99,49.83 -51.68,50.31 -27,0.1 -53.99,0.01 -80.99,0.04v-113.45c26.22,6.19 53.72,8.83 80.47,4.72 15.99,-2.57 33.49,-10.42 38.9,-27.01 3.99,-14.19 1.74,-29.13 2.33,-43.69v-33.82h-46.3c-0.21,22.37 0.43,44.78 -0.34,67.13 -1.25,13.73 -14.85,22.46 -27.8,21.99 -16.07,0.17 -47.9,-11.64 -47.9,-11.64 -0.08,-41.92 0.47,-94.41 0.69,-136.18z">
<aapt:attr name="android:fillColor">
<gradient
android:startX="174.98"
android:startY="390.6"
android:endX="307.75"
android:endY="390.6"
android:type="linear">
<item android:offset="0" android:color="#FF1D2970"/>
<item android:offset="1" android:color="#FF006DBA"/>
</gradient>
</aapt:attr>
</path>
<path
android:pathData="m324.72,351.89c-2.43,0.52 -0.49,-8.3 -1.11,-11.65 0.17,-21.15 -0.35,-42.32 0.28,-63.46 2.08,-26.83 26.99,-48.92 53.74,-48.29h78.77c-0.07,90.88 0.15,181.78 -0.11,272.66 -1.04,26.83 -24.99,49.83 -51.68,50.31 -27,0.1 -54,0.01 -81,0.04v-124.3c18.44,15.13 43.5,17.48 66.47,17.52 17.32,-0.01 34.53,-2.67 51.35,-6.67v-22.77c-18.95,9.45 -41.23,15.45 -62.24,10.02 -14.65,-3.65 -25.29,-17.81 -25.06,-32.94 -1.7,-15.73 7.52,-32.33 22.98,-37.01 19.19,-6.01 40.11,-1.41 58.1,6.4 3.85,2.02 7.76,4.52 6.22,-1.92v-17.9c-30.08,-7.16 -62.1,-9.79 -92.33,-2 -8.75,2.47 -17.27,6.21 -24.38,11.96z">
<aapt:attr name="android:fillColor">
<gradient
android:startX="323.72"
android:startY="394.14"
android:endX="456.54"
android:endY="394.14"
android:type="linear">
<item android:offset="0" android:color="#FF6E2B2F"/>
<item android:offset="1" android:color="#FFE30138"/>
</gradient>
</aapt:attr>
</path>
</vector>

View File

@ -0,0 +1,21 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="780dp"
android:height="780dp"
android:viewportWidth="780"
android:viewportHeight="780">
<path
android:pathData="M0,0h780v780h-780z"
android:fillColor="#000000"/>
<path
android:pathData="m690,390.01c0,99.14 -80.35,179.5 -179.48,179.5 -99.12,0 -179.48,-80.36 -179.48,-179.5 0,-99.14 80.36,-179.51 179.48,-179.51 99.13,0 179.48,80.37 179.48,179.51"
android:fillColor="#d9222a"/>
<path
android:pathData="m371.87,503.99c-4.97,-6.03 -9.54,-12.38 -13.67,-19.01h63.61c3.83,-6.12 7.28,-12.47 10.34,-19.01h-84.29c-2.89,-6.18 -5.43,-12.53 -7.6,-19h99.48c5.99,-17.9 9.23,-37.05 9.23,-56.96 0,-13.05 -1.39,-25.76 -4.03,-38.01h-109.86c1.38,-6.43 3.12,-12.77 5.21,-19.01h99.44c-2.17,-6.47 -4.7,-12.82 -7.59,-19L347.88,313.98c3.06,-6.54 6.52,-12.88 10.34,-19.01h63.57c-4.14,-6.62 -8.71,-12.96 -13.67,-18.99h-36.23c5.57,-6.76 11.62,-13.11 18.11,-19 -31.85,-28.88 -74.14,-46.48 -120.52,-46.48 -99.13,0 -179.49,80.37 -179.49,179.51 0,99.14 80.36,179.5 179.49,179.5 46.39,0 88.67,-17.6 120.52,-46.47 6.5,-5.9 12.56,-12.26 18.13,-19.04L371.87,503.99"
android:fillColor="#0097d0"/>
<path
android:fillColor="#FF000000"
android:pathData="m666.08,490.04c0,-3.2 2.6,-5.8 5.8,-5.8 3.2,0 5.79,2.6 5.79,5.8 0,3.2 -2.59,5.8 -5.79,5.8 -3.2,0 -5.8,-2.6 -5.8,-5.8zM671.88,494.45c2.43,0 4.4,-1.97 4.4,-4.4v-0.01c0,-2.43 -1.97,-4.4 -4.4,-4.4h-0.01c-2.43,-0 -4.4,1.96 -4.41,4.39v0c-0,2.43 1.97,4.41 4.4,4.41zM671.09,492.59h-1.18v-5.09h2.15c0.45,0 0.9,0 1.3,0.26 0.42,0.28 0.65,0.77 0.65,1.27 0,0.58 -0.34,1.11 -0.88,1.32l0.93,2.25h-1.32l-0.77,-2.01h-0.88zM671.09,489.71h0.66c0.25,0 0.5,0.02 0.73,-0.1 0.2,-0.13 0.3,-0.37 0.3,-0.59 -0.01,-0.21 -0.12,-0.4 -0.29,-0.51 -0.21,-0.13 -0.54,-0.1 -0.76,-0.1h-0.63zM387.45,438.5c-7.67,2.03 -15.09,3.03 -22.93,3.01 -25.02,-0.03 -38.04,-11.42 -38.04,-33.2 0,-25.46 16.59,-44.18 39.1,-44.18 18.42,0 30.17,10.5 30.17,26.95 0,5.46 -0.8,10.77 -2.75,18.3h-44.49c-1.58,10.63 6.19,15.3 19.41,15.3 7.93,0 15.09,-1.42 23.02,-4.61zM375.49,394.35c0,-1.61 2.47,-13.03 -10.4,-13.28 -7.11,0 -12.21,4.72 -14.27,13.28zM402.52,389.36c0,9.4 5.3,15.9 17.33,20.74 9.2,3.77 10.65,4.86 10.65,8.22 0,4.66 -4.07,6.8 -13.09,6.75 -6.78,-0.05 -12.96,-0.87 -20.26,-2.9l-3.23,17.15c6.49,1.5 15.59,2 23.65,2.19 24.03,0 35.12,-7.87 35.12,-24.87 0,-10.22 -4.63,-16.23 -16.03,-20.71 -9.54,-3.81 -10.66,-4.64 -10.66,-8.08 0,-4.05 3.78,-6.1 11.15,-6.1 4.46,0 10.58,0.41 16.38,1.11l3.26,-17.24c-5.91,-0.82 -14.88,-1.48 -20.08,-1.48 -25.45,0 -34.26,11.46 -34.18,25.23m-88.24,50.92L295.62,440.28l0.44,-7.82c-5.69,6.17 -13.27,9.04 -23.56,9.04 -12.18,0 -20.52,-8.32 -20.52,-20.3 0,-18.19 14.5,-28.69 39.43,-28.69 2.56,0 5.82,0.19 9.17,0.56 0.69,-2.43 0.88,-3.48 0.88,-4.81 0,-4.98 -3.92,-6.81 -14.41,-6.81 -10.34,0.04 -17.32,1.57 -23.8,3.31l3.19,-16.7c11.2,-2.85 18.53,-3.94 26.83,-3.94 19.31,0 29.5,7.57 29.5,21.8 0.17,3.8 -1.16,11.41 -1.82,14.75 -0.76,4.85 -6.11,32.97 -6.67,39.61zM297.9,407.09c-2.37,-0.24 -3.39,-0.31 -5.01,-0.31 -12.73,0 -19.18,3.79 -19.18,11.27 0,4.69 3.15,7.63 8.06,7.63 9.15,-0 15.75,-7.65 16.14,-18.59zM492.01,439.1c-6.13,1.68 -10.9,2.41 -16.06,2.41 -11.43,0 -17.67,-5.84 -17.67,-16.25 -0.36,-2.86 2.43,-16.06 3.07,-19.74 0.63,-3.69 10.54,-57.49 10.54,-57.49h22.21l-3.36,17.8h11.39l-3.1,18.17h-11.44c0,0 -6.28,31.53 -6.28,33.93 0,3.83 2.32,5.49 7.63,5.49 2.55,0 4.51,-0.24 6.03,-0.69l-2.96,16.37m99.25,-74.97c-16.28,0 -29,6.7 -36.39,17.89l6.41,-16.6c-11.82,-4.34 -19.43,1.85 -26.33,10.65 0,0 -1.15,1.46 -2.3,2.8v-13.05L511.8,365.82c-2.83,23.03 -7.82,46.38 -11.73,69.45l-0.94,5.02h22.44c2.13,-11.71 3.88,-21.21 5.62,-28.79 4.77,-20.79 12.79,-27.14 24.83,-24.33 -2.78,5.98 -4.3,12.89 -4.3,20.55 0,18.58 10.09,33.79 35.15,33.79 25.29,0 43.6,-13.51 43.6,-44.31 -0,-18.58 -12.2,-33.08 -35.2,-33.08zM584.73,423.44C576.8,423.57 572,416.92 572,406.97c0,-11.79 7.01,-25.11 18.27,-25.11 9.09,0 12.2,7.2 12.2,14.88 0,16.78 -6.87,26.7 -17.75,26.7zM241.54,440.29h-22.34l13.28,-69.95 -30.57,69.95h-20.37l-3.72,-69.55 -13.32,69.55L144.22,440.29l17.27,-91L196.4,349.29l2.91,50.73 22.12,-50.73h37.72l-17.61,91"/>
<path
android:pathData="m628.15,428.88c0,-3.2 2.6,-5.79 5.8,-5.8 3.2,0 5.8,2.6 5.8,5.8 0.01,3.2 -2.58,5.8 -5.78,5.81 -3.2,0.01 -5.8,-2.58 -5.81,-5.78zM633.95,433.29c2.43,-0 4.41,-1.98 4.41,-4.41 -0,-2.43 -1.98,-4.4 -4.41,-4.4 -2.43,0 -4.41,1.97 -4.41,4.4 0,2.43 1.97,4.41 4.41,4.41zM633.16,431.43h-1.19v-5.08h2.15c0.45,0 0.91,0 1.3,0.25 0.41,0.28 0.65,0.77 0.65,1.27 0,0.58 -0.34,1.12 -0.88,1.32l0.93,2.25h-1.32l-0.77,-2.01h-0.88zM633.16,428.54h0.66c0.24,0 0.5,0.02 0.73,-0.1 0.19,-0.14 0.3,-0.35 0.3,-0.59 -0.01,-0.21 -0.11,-0.4 -0.28,-0.51 -0.21,-0.13 -0.54,-0.1 -0.76,-0.1h-0.63zM393.05,432.89c-7.67,2.03 -15.09,3.03 -22.92,3.01 -25.02,-0.03 -38.05,-11.42 -38.05,-33.21 0,-25.45 16.58,-44.18 39.1,-44.18 18.42,0 30.17,10.5 30.17,26.94 0,5.47 -0.8,10.77 -2.74,18.3h-44.49c-1.58,10.63 6.18,15.31 19.41,15.31 7.93,0 15.09,-1.42 23.03,-4.62zM381.09,388.74c0,-1.6 2.47,-13.03 -10.4,-13.28 -7.11,0 -12.2,4.73 -14.27,13.28zM408.13,383.75c0,9.41 5.29,15.9 17.32,20.75 9.2,3.77 10.65,4.86 10.65,8.21 0,4.67 -4.07,6.81 -13.09,6.75 -6.78,-0.05 -12.97,-0.87 -20.26,-2.9l-3.24,17.15c6.49,1.52 15.6,2.01 23.65,2.2 24.02,0 35.12,-7.87 35.12,-24.87 0,-10.22 -4.63,-16.24 -16.04,-20.71 -9.54,-3.81 -10.65,-4.64 -10.65,-8.08 0,-4.05 3.78,-6.1 11.15,-6.1 4.47,0 10.58,0.42 16.39,1.11l3.25,-17.25c-5.91,-0.82 -14.88,-1.48 -20.07,-1.48 -25.46,0 -34.26,11.45 -34.18,25.23m-88.24,50.93L301.22,434.68l0.45,-7.82c-5.7,6.16 -13.27,9.03 -23.56,9.03 -12.18,0 -20.52,-8.33 -20.52,-20.29 0,-18.2 14.49,-28.69 39.43,-28.69 2.56,0 5.82,0.19 9.17,0.56 0.69,-2.43 0.88,-3.47 0.88,-4.81 0,-4.98 -3.92,-6.81 -14.41,-6.81 -10.34,0.04 -17.32,1.58 -23.8,3.31l3.18,-16.7c11.2,-2.85 18.53,-3.94 26.83,-3.94 19.3,0 29.5,7.57 29.5,21.79 0.17,3.8 -1.16,11.41 -1.82,14.75 -0.76,4.85 -6.11,32.97 -6.67,39.61zM303.5,401.48c-2.36,-0.24 -3.39,-0.31 -5.01,-0.31 -12.72,0 -19.18,3.79 -19.18,11.27 0,4.7 3.15,7.63 8.06,7.63 9.15,0 15.76,-7.65 16.14,-18.59zM497.61,433.5c-6.12,1.67 -10.9,2.41 -16.06,2.41 -11.43,0 -17.67,-5.85 -17.67,-16.25 -0.36,-2.85 2.43,-16.06 3.06,-19.74 0.63,-3.69 10.54,-57.49 10.54,-57.49h22.21l-3.35,17.8h11.39l-3.1,18.17h-11.44c0,0 -6.28,31.53 -6.28,33.94 0,3.83 2.32,5.48 7.63,5.48 2.54,0 4.51,-0.23 6.03,-0.69l-2.96,16.38m110.47,-42.37c0,16.77 -6.88,26.71 -17.75,26.71 -7.92,0.11 -12.73,-6.53 -12.73,-16.48 0,-11.79 7.01,-25.11 18.27,-25.11 9.09,0 12.21,7.21 12.21,14.88zM632.06,391.6c0,-18.58 -12.21,-33.08 -35.19,-33.08 -26.45,0 -43.55,17.63 -43.55,43.6 0,18.58 10.08,33.79 35.15,33.79 25.29,-0 43.6,-13.51 43.6,-44.31zM517.4,360.21c-2.82,23.03 -7.82,46.38 -11.72,69.45l-0.95,5.02h22.43c8.09,-44.56 10.8,-57.25 27.74,-52.78l8.15,-21.09c-11.81,-4.34 -19.42,1.85 -26.31,10.66 0.62,-3.96 1.79,-7.78 1.51,-11.26h-20.86m-270.26,74.47L224.8,434.68l13.27,-69.96 -30.58,69.96h-20.36l-3.72,-69.56 -13.32,69.56L149.82,434.68l17.26,-91h34.92l1.85,56.33 24.58,-56.33h36.33l-17.61,91"
android:fillColor="#ffffff"/>
</vector>

View File

@ -0,0 +1,27 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="780dp"
android:height="780dp"
android:viewportWidth="780"
android:viewportHeight="780">
<path
android:pathData="M0,0h780v780h-780z"
android:fillColor="#16366f"/>
<path
android:pathData="m449.01,390c0,99.14 -80.37,179.5 -179.51,179.5C170.36,569.5 90,489.14 90,390 90,290.87 170.36,210.5 269.5,210.5c99.14,0 179.51,80.37 179.51,179.5"
android:fillColor="#d9222a"/>
<path
android:pathData="m510.49,210.5c-46.38,0 -88.64,17.6 -120.5,46.47 -6.49,5.89 -12.55,12.24 -18.13,19h36.27c4.97,6.04 9.54,12.39 13.69,19.01h-63.63c-3.83,6.12 -7.28,12.47 -10.34,19.01h84.31c2.89,6.18 5.43,12.53 7.6,19L340.24,332.98c-2.09,6.24 -3.83,12.58 -5.22,19.01h109.94c2.69,12.49 4.04,25.23 4.04,38.01 0,19.93 -3.25,39.11 -9.25,57.02h-99.51c2.16,6.48 4.7,12.82 7.59,19.01h84.32c-3.06,6.54 -6.52,12.89 -10.35,19.01h-63.63c4.15,6.63 8.73,12.98 13.69,19h36.26c-5.57,6.77 -11.63,13.13 -18.13,19.01 31.86,28.87 74.12,46.45 120.5,46.45 99.14,-0 179.51,-80.36 179.51,-179.5 0,-99.13 -80.37,-179.5 -179.51,-179.5"
android:fillColor="#ee9f2d"/>
<path
android:fillColor="#FF000000"
android:pathData="m666.08,490.06c0,-3.2 2.59,-5.8 5.8,-5.8 3.2,0 5.8,2.6 5.8,5.8 0,3.2 -2.59,5.8 -5.8,5.8 -3.2,-0 -5.8,-2.6 -5.8,-5.8zM671.88,494.47c2.43,-0 4.41,-1.98 4.41,-4.41 0,-2.43 -1.97,-4.4 -4.4,-4.4h-0c-2.43,-0 -4.4,1.96 -4.4,4.39v0.01c-0,2.43 1.97,4.41 4.4,4.41 0,-0 0,-0 0,-0zM671.09,492.61h-1.19v-5.09h2.15c0.45,0 0.91,0 1.3,0.25 0.41,0.28 0.65,0.77 0.65,1.28 0,0.57 -0.34,1.1 -0.88,1.31l0.94,2.25h-1.32l-0.78,-2.02h-0.87v2.02zM671.09,489.72h0.66c0.25,0 0.5,0.02 0.73,-0.1 0.2,-0.13 0.3,-0.36 0.3,-0.58 0,-0.19 -0.12,-0.42 -0.29,-0.52 -0.21,-0.13 -0.54,-0.1 -0.76,-0.1h-0.63zM227.59,409.65c-2.05,-0.24 -2.94,-0.3 -4.35,-0.3 -11.05,0 -16.64,3.79 -16.64,11.27 0,4.61 2.73,7.55 6.99,7.55 7.94,0 13.66,-7.56 14,-18.51zM241.76,442.65h-16.15l0.37,-7.68c-4.93,6.07 -11.5,8.95 -20.42,8.95 -10.56,0 -17.8,-8.25 -17.8,-20.23 0,-18.02 12.6,-28.54 34.22,-28.54 2.21,0 5.04,0.2 7.94,0.57 0.61,-2.44 0.76,-3.49 0.76,-4.8 0,-4.91 -3.4,-6.74 -12.5,-6.74 -9.53,-0.11 -17.4,2.27 -20.63,3.33 0.2,-1.23 2.7,-16.66 2.7,-16.66 9.71,-2.85 16.12,-3.92 23.33,-3.92 16.73,0 25.6,7.51 25.58,21.71 0.03,3.81 -0.6,8.5 -1.58,14.67 -1.69,10.73 -5.32,33.72 -5.82,39.32zM179.61,442.65h-19.49l11.16,-70 -24.92,70h-13.28l-1.64,-69.6 -11.73,69.6L101.46,442.65l15.24,-91.05h28.02l1.7,50.97 17.09,-50.97h31.17l-15.07,91.05m354.98,-33c-2.04,-0.24 -2.94,-0.3 -4.34,-0.3 -11.04,0 -16.63,3.79 -16.63,11.27 0,4.61 2.73,7.55 6.98,7.55 7.94,0 13.66,-7.56 13.99,-18.51zM548.77,442.65h-16.15l0.37,-7.68c-4.93,6.07 -11.5,8.95 -20.42,8.95 -10.57,0 -17.8,-8.25 -17.8,-20.23 0,-18.02 12.59,-28.54 34.21,-28.54 2.21,0 5.04,0.2 7.93,0.57 0.6,-2.44 0.76,-3.49 0.76,-4.8 0,-4.91 -3.39,-6.74 -12.5,-6.74 -9.53,-0.11 -17.39,2.27 -20.63,3.33 0.2,-1.23 2.71,-16.66 2.71,-16.66 9.71,-2.85 16.11,-3.92 23.31,-3.92 16.74,0 25.6,7.51 25.59,21.71 0.03,3.81 -0.6,8.5 -1.58,14.67 -1.68,10.73 -5.32,33.72 -5.81,39.32zM328.38,441.53c-5.33,1.68 -9.49,2.4 -14,2.4 -9.96,0 -15.4,-5.72 -15.4,-16.27 -0.14,-3.27 1.43,-11.88 2.67,-19.74 1.13,-6.92 8.45,-50.53 8.45,-50.53h19.37l-2.26,11.21h11.7l-2.64,17.8h-11.74c-2.25,14.08 -5.45,31.63 -5.49,33.95 0,3.82 2.04,5.48 6.67,5.48 2.22,0 3.94,-0.23 5.26,-0.7l-2.58,16.4m59.39,-0.6c-6.65,2.03 -13.07,3.02 -19.88,3 -21.68,-0.02 -32.99,-11.35 -32.99,-33.03 0,-25.31 14.38,-43.95 33.9,-43.95 15.97,0 26.17,10.43 26.17,26.8 0,5.43 -0.7,10.73 -2.39,18.21h-38.58c-1.3,10.74 5.57,15.22 16.84,15.22 6.93,0 13.19,-1.43 20.14,-4.66zM376.88,397.03c0.11,-1.54 2.05,-13.22 -9.01,-13.22 -6.17,0 -10.58,4.7 -12.38,13.22zM253.46,392.01c0,9.37 4.54,15.82 14.84,20.68 7.89,3.71 9.11,4.81 9.11,8.17 0,4.62 -3.48,6.7 -11.19,6.7 -5.81,0 -11.22,-0.91 -17.46,-2.92 0,0 -2.56,16.32 -2.68,17.1 4.43,0.97 8.38,1.86 20.28,2.19 20.56,0 30.06,-7.83 30.06,-24.75 0,-10.18 -3.97,-16.15 -13.74,-20.63 -8.17,-3.75 -9.11,-4.59 -9.11,-8.05 0,-4 3.24,-6.05 9.54,-6.05 3.83,0 9.05,0.41 14,1.11l2.78,-17.17c-5.05,-0.8 -12.7,-1.44 -17.15,-1.44 -21.8,0 -29.35,11.39 -29.28,25.06m229.09,-23.12c5.41,0 10.46,1.42 17.41,4.92l3.19,-19.76c-2.85,-1.12 -12.9,-7.7 -21.42,-7.7 -13.04,0 -24.07,6.47 -31.82,17.15 -11.31,-3.75 -15.96,3.83 -21.66,11.37l-5.06,1.18c0.38,-2.48 0.73,-4.95 0.61,-7.45h-17.9c-2.44,22.92 -6.78,46.13 -10.17,69.07l-0.88,4.98h19.5c3.25,-21.14 5.04,-34.68 6.12,-43.84l7.34,-4.08c1.1,-4.08 4.53,-5.46 11.42,-5.29 -0.93,5.01 -1.39,10.09 -1.38,15.18 0,24.23 13.07,39.31 34.05,39.31 5.4,0 10.04,-0.71 17.22,-2.66l3.43,-20.76c-6.46,3.18 -11.76,4.68 -16.56,4.68 -11.33,0 -18.18,-8.36 -18.18,-22.18 -0,-20.05 10.19,-34.11 24.75,-34.11"/>
<path
android:pathData="m185.21,437.24h-19.49l11.17,-69.99 -24.92,69.99h-13.28l-1.64,-69.59 -11.73,69.59h-18.24l15.24,-91.04h28.02l0.79,56.36 18.9,-56.36h30.27L185.21,437.24"
android:fillColor="#ffffff"/>
<path
android:fillColor="#FF000000"
android:pathData="m647.52,351.6 l-4.32,26.31c-5.33,-7.01 -11.05,-12.09 -18.61,-12.09 -9.83,0 -18.78,7.45 -24.64,18.42 -8.16,-1.69 -16.6,-4.56 -16.6,-4.56l-0,0.07c0.66,-6.13 0.92,-9.88 0.86,-11.15h-17.9c-2.44,22.92 -6.77,46.13 -10.16,69.07l-0.89,4.98h19.49c2.63,-17.1 4.65,-31.29 6.13,-42.55 6.66,-6.02 9.99,-11.27 16.72,-10.92 -2.98,7.21 -4.72,15.5 -4.72,24.02 0,18.51 9.37,30.73 23.53,30.73 7.14,0 12.62,-2.46 17.97,-8.17l-0.91,6.88L651.9,442.64L666.74,351.6ZM623.15,425.54c-6.63,0 -9.98,-4.91 -9.98,-14.6 0,-14.55 6.27,-24.88 15.11,-24.88 6.7,0 10.32,5.1 10.32,14.51 0,14.68 -6.37,24.96 -15.45,24.96z"/>
<path
android:pathData="m233.19,404.26c-2.04,-0.24 -2.95,-0.3 -4.35,-0.3 -11.05,0 -16.63,3.79 -16.63,11.27 0,4.6 2.73,7.55 6.98,7.55 7.95,-0 13.67,-7.56 14,-18.51zM247.37,437.24h-16.15l0.37,-7.66c-4.92,6.05 -11.5,8.95 -20.42,8.95 -10.57,0 -17.8,-8.25 -17.8,-20.23 0,-18.03 12.59,-28.54 34.22,-28.54 2.21,0 5.04,0.2 7.94,0.57 0.6,-2.44 0.76,-3.49 0.76,-4.81 0,-4.91 -3.39,-6.73 -12.5,-6.73 -9.54,-0.11 -17.4,2.27 -20.63,3.32 0.2,-1.23 2.7,-16.64 2.7,-16.64 9.71,-2.86 16.12,-3.93 23.32,-3.93 16.74,0 25.6,7.52 25.59,21.7 0.03,3.82 -0.61,8.51 -1.58,14.68 -1.69,10.73 -5.32,33.72 -5.81,39.32zM508.75,348.65 L505.56,368.42c-6.95,-3.5 -12,-4.92 -17.41,-4.92 -14.55,0 -24.75,14.06 -24.75,34.11 0,13.82 6.86,22.18 18.18,22.18 4.8,0 10.1,-1.49 16.55,-4.68l-3.42,20.75c-7.18,1.96 -11.82,2.67 -17.23,2.67 -20.98,0 -34.05,-15.08 -34.05,-39.31 0,-32.55 18.06,-55.3 43.89,-55.3 8.51,0 18.56,3.61 21.42,4.73m31.44,55.61c-2.04,-0.24 -2.94,-0.3 -4.35,-0.3 -11.04,0 -16.63,3.79 -16.63,11.27 0,4.6 2.73,7.55 6.98,7.55 7.94,-0 13.66,-7.56 14,-18.51zM554.37,437.24h-16.15l0.37,-7.66c-4.92,6.05 -11.5,8.95 -20.42,8.95 -10.56,0 -17.8,-8.25 -17.8,-20.23 0,-18.03 12.6,-28.54 34.21,-28.54 2.21,0 5.04,0.2 7.94,0.57 0.6,-2.44 0.76,-3.49 0.76,-4.81 0,-4.91 -3.39,-6.73 -12.5,-6.73 -9.53,-0.11 -17.4,2.27 -20.63,3.32 0.2,-1.23 2.7,-16.64 2.7,-16.64 9.71,-2.86 16.12,-3.93 23.32,-3.93 16.74,0 25.6,7.52 25.58,21.7 0.03,3.82 -0.6,8.51 -1.58,14.68 -1.68,10.73 -5.32,33.72 -5.81,39.32zM333.98,436.12c-5.34,1.68 -9.5,2.41 -14,2.41 -9.96,0 -15.4,-5.73 -15.4,-16.27 -0.14,-3.28 1.44,-11.88 2.67,-19.74 1.12,-6.93 8.45,-50.53 8.45,-50.53h19.37l-2.26,11.21h9.94l-2.65,17.79h-9.98c-2.25,14.09 -5.46,31.62 -5.5,33.95 0,3.83 2.04,5.48 6.67,5.48 2.22,0 3.94,-0.22 5.25,-0.69l-2.58,16.39m59.39,-0.59c-6.65,2.03 -13.08,3.01 -19.88,3 -21.68,-0.02 -32.99,-11.35 -32.99,-33.03 0,-25.32 14.38,-43.95 33.9,-43.95 15.97,0 26.17,10.43 26.17,26.8 0,5.43 -0.7,10.73 -2.38,18.21h-38.58c-1.31,10.74 5.57,15.22 16.84,15.22 6.93,0 13.19,-1.43 20.14,-4.68zM382.48,391.62c0.12,-1.54 2.06,-13.22 -9.01,-13.22 -6.17,0 -10.58,4.72 -12.38,13.22zM259.06,386.61c0,9.36 4.54,15.82 14.84,20.67 7.89,3.71 9.11,4.81 9.11,8.17 0,4.62 -3.48,6.7 -11.19,6.7 -5.82,0 -11.23,-0.91 -17.47,-2.92 0,0 -2.55,16.32 -2.67,17.1 4.42,0.97 8.37,1.85 20.27,2.19 20.57,0 30.06,-7.83 30.06,-24.75 0,-10.18 -3.97,-16.15 -13.74,-20.64 -8.17,-3.76 -9.11,-4.58 -9.11,-8.05 0,-4 3.24,-6.06 9.54,-6.06 3.82,0 9.05,0.42 14,1.13l2.77,-17.18c-5.04,-0.8 -12.69,-1.44 -17.15,-1.44 -21.8,0 -29.34,11.38 -29.28,25.07m398.45,50.63h-18.44l0.92,-6.89c-5.35,5.72 -10.82,8.18 -17.97,8.18 -14.17,0 -23.53,-12.21 -23.53,-30.73 0,-24.63 14.52,-45.39 31.71,-45.39 7.56,0 13.28,3.09 18.6,10.1l4.32,-26.31h19.22zM628.77,420.14c9.07,0 15.45,-10.28 15.45,-24.95 0,-9.4 -3.63,-14.51 -10.32,-14.51 -8.84,0 -15.12,10.32 -15.12,24.88 -0,9.69 3.36,14.59 9.99,14.59zM571.92,363.21c-2.44,22.92 -6.77,46.13 -10.16,69.06l-0.89,4.97h19.49c6.97,-45.28 8.66,-54.12 19.59,-53.01 1.74,-9.27 4.98,-17.38 7.4,-21.48 -8.16,-1.7 -12.72,2.91 -18.69,11.68 0.47,-3.79 1.33,-7.47 1.16,-11.23h-17.9m-160.42,0c-2.45,22.92 -6.78,46.13 -10.17,69.06l-0.89,4.97h19.5c6.96,-45.28 8.65,-54.12 19.57,-53.01 1.75,-9.27 4.99,-17.38 7.4,-21.48 -8.15,-1.7 -12.72,2.91 -18.68,11.68 0.47,-3.79 1.33,-7.47 1.16,-11.23h-17.9m254.57,68.24c0,-3.21 2.6,-5.8 5.8,-5.8 3.2,-0 5.79,2.59 5.8,5.78v0.01c-0,3.2 -2.6,5.79 -5.8,5.8 -3.2,-0 -5.79,-2.6 -5.8,-5.8zM671.87,435.85c2.43,0 4.4,-1.97 4.4,-4.4v-0c0,-2.43 -1.97,-4.41 -4.4,-4.41h-0c-2.43,0 -4.41,1.97 -4.41,4.41 0,2.43 1.98,4.4 4.41,4.4zM671.08,433.98h-1.19v-5.08h2.15c0.45,0 0.91,0.01 1.3,0.25 0.42,0.28 0.65,0.77 0.65,1.27 0,0.57 -0.34,1.11 -0.89,1.32l0.94,2.24h-1.32l-0.78,-2.01h-0.87v2.01zM671.08,431.1h0.65c0.25,0 0.51,0.02 0.73,-0.1 0.19,-0.13 0.29,-0.36 0.29,-0.59 -0.01,-0.21 -0.12,-0.4 -0.29,-0.52 -0.2,-0.12 -0.54,-0.09 -0.76,-0.09h-0.63v1.3z"
android:fillColor="#ffffff"/>
</vector>

View File

@ -0,0 +1,33 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="780dp"
android:height="780dp"
android:viewportWidth="780"
android:viewportHeight="780">
<path
android:pathData="M0,0h780v780h-780z"
android:fillColor="#FFFFFF"/>
<path
android:pathData="m544.1,380.5v108h60v-64h68c28.6,-0.2 52.9,-18.5 62.1,-44z"
android:fillColor="#37A72E"/>
<path
android:pathData="m536.1,291.5c3.5,44.1 45.3,79 96.3,79 0.2,0 104.3,0 104.3,0 0.8,-4 1.2,-8.2 1.2,-12.5 0,-36.6 -29.5,-66.2 -66,-66.5z">
<aapt:attr name="android:fillColor">
<gradient
android:startX="536.12"
android:startY="331"
android:endX="737.89"
android:endY="331"
android:type="linear">
<item android:offset="0" android:color="#FF00A0E5"/>
<item android:offset="1" android:color="#FF0077C3"/>
</gradient>
</aapt:attr>
</path>
<path
android:pathData="m447.3,369.4v-0.1,0.1c0.7,-1.2 1.8,-1.9 3.2,-1.9 2,0 3.5,1.6 3.6,3.5v0,116.5h60v-196h-60c-7.6,0.3 -16.2,5.8 -19.4,12.7L387,406.6c-0.1,0.4 -0.3,0.8 -0.5,1.2v0,0c-0.7,1 -1.9,1.7 -3.3,1.7 -2.2,0 -4,-1.8 -4,-4v-114h-60v196h60v0c7.5,-0.4 15.9,-5.9 19.1,-12.7l49,-105.1c-0.1,-0.1 0,-0.2 0,-0.3z"
android:fillColor="#37A72E"/>
<path
android:pathData="M223.3,372.8 L188.2,487.5L145,487.5L110,372.7c-0.3,-1.8 -1.9,-3.2 -3.9,-3.2 -2.2,0 -3.9,1.8 -3.9,3.9 0,0 0,0 0,0v114h-60v-196L93.7,291.4 109,291.4c11,0 22.6,8.6 25.8,19.1L164,406c1.5,4.8 3.8,4.7 5.3,0l29.2,-95.5c3.2,-10.6 14.8,-19.1 25.8,-19.1h15.3,51.5v196h-60v-114c0,0 0,0 0,-0.1 0,-2.2 -1.8,-3.9 -3.9,-3.9 -2,0.1 -3.6,1.5 -3.9,3.4z"
android:fillColor="#37A72E"/>
</vector>

View File

@ -0,0 +1,33 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="780dp"
android:height="780dp"
android:viewportWidth="780"
android:viewportHeight="780">
<path
android:pathData="M0,0h780v780h-780z"
android:fillColor="#ffffff"/>
<path
android:pathData="m216.4,209.79h142.39c19.87,0 32.29,16.41 27.63,36.47l-66.33,287.48c-4.66,20.06 -24.63,36.47 -44.5,36.47h-142.39c-19.87,0 -32.29,-16.41 -27.63,-36.47L171.9,246.26c4.66,-20.17 24.53,-36.47 44.4,-36.47h0.1z"
android:fillColor="#d10429"/>
<path
android:pathData="m346.34,209.79h163.82c19.87,0 10.86,16.41 6.21,36.47l-66.33,287.48c-4.66,20.06 -3.21,36.47 -23.08,36.47h-163.81c-19.97,0 -32.29,-16.41 -27.53,-36.47l66.33,-287.48c4.66,-20.17 24.52,-36.47 44.5,-36.47h-0.1z"
android:fillColor="#022e64"/>
<path
android:pathData="m504.41,209.79h142.4c19.87,0 32.29,16.41 27.63,36.47l-66.33,287.48c-4.66,20.06 -24.63,36.47 -44.5,36.47h-142.39c-19.97,0 -32.29,-16.41 -27.63,-36.47l66.33,-287.48c4.66,-20.17 24.52,-36.47 44.39,-36.47h0.1z"
android:fillColor="#076f74"/>
<path
android:pathData="m480.5,480.81h13.45l3.83,-13.06h-13.35zM491.26,444.86 L486.6,460.33c0,0 5.07,-2.61 7.86,-3.45 2.79,-0.63 6.93,-1.15 6.93,-1.15l3.21,-10.76L491.16,444.96ZM497.99,422.71 L493.54,437.55c0,0 4.97,-2.3 7.76,-3.03 2.79,-0.73 6.93,-0.94 6.93,-0.94l3.21,-10.76h-13.35zM527.69,422.71 L510.3,480.7h4.66l-3.62,12.02h-4.66l-1.14,3.66h-16.56l1.14,-3.66h-33.53l3.31,-11.08h3.41l17.59,-58.94 3.52,-11.91h16.87l-1.76,5.96c0,0 4.45,-3.24 8.8,-4.39 4.24,-1.15 28.67,-1.57 28.67,-1.57l-3.62,11.81h-5.8z"
android:fillColor="#fefefe"/>
<path
android:pathData="m534.59,410.79h18.01l0.21,6.79c-0.1,1.15 0.83,1.67 3,1.67h3.62l-3.31,11.18h-9.73c-8.38,0.63 -11.59,-3.03 -11.38,-7.11l-0.31,-12.44zM536.81,463.99h-17.18l2.9,-9.93h19.66l2.79,-9.09h-19.35l3.31,-11.18h53.81l-3.31,11.18h-18.11l-2.79,9.09h18.11l-3,9.93h-19.56l-3.52,4.18h7.97l1.97,12.54c0.21,1.25 0.21,2.09 0.62,2.61 0.41,0.42 2.8,0.63 4.14,0.63h2.38l-3.72,12.23h-6.11c-0.93,0 -2.38,-0.1 -4.35,-0.1 -1.86,-0.21 -3.1,-1.25 -4.35,-1.88 -1.14,-0.52 -2.79,-1.88 -3.21,-4.28l-1.86,-12.54 -8.9,12.33c-2.8,3.87 -6.62,6.9 -13.14,6.9h-12.42l3.31,-10.87h4.76c1.35,0 2.59,-0.52 3.52,-1.04 0.93,-0.42 1.76,-0.84 2.59,-2.19zM348.91,436.79h45.43l-3.31,10.97h-18.11l-2.79,9.3h18.63l-3.41,11.29h-18.52l-4.55,15.15c-0.52,1.67 4.45,1.88 6.21,1.88l9.31,-1.25 -3.73,12.54h-20.9c-1.65,0 -2.9,-0.21 -4.76,-0.63 -1.76,-0.42 -2.59,-1.25 -3.31,-2.4 -0.73,-1.25 -1.97,-2.19 -1.14,-4.91l6,-20.06h-10.35l3.41,-11.49h10.35l2.79,-9.3h-10.35l3.31,-10.97zM380.29,416.96h18.63l-3.41,11.39h-25.46l-2.79,2.4c-1.24,1.15 -1.55,0.73 -3.11,1.57 -1.45,0.73 -4.45,2.19 -8.38,2.19h-8.18l3.31,-10.97h2.48c2.07,0 3.52,-0.21 4.24,-0.63 0.83,-0.52 1.76,-1.67 2.69,-3.55l4.66,-8.57h18.52l-3.21,6.27zM415.4,435.77c0,0 5.07,-4.7 13.76,-6.16 1.97,-0.42 14.38,-0.21 14.38,-0.21l1.86,-6.27h-26.18l-3.83,12.75zM440.03,440.57h-25.98l-1.55,5.33h22.56c2.69,-0.31 3.21,0.1 3.41,-0.1l1.65,-5.22zM406.29,410.89h15.83l-2.28,8.05c0,0 4.97,-4.07 8.48,-5.54 3.52,-1.25 11.38,-2.51 11.38,-2.51l25.66,-0.1 -8.8,29.47c-1.45,5.02 -3.21,8.26 -4.24,9.82 -0.93,1.46 -2.07,2.82 -4.35,4.07 -2.17,1.15 -4.14,1.88 -6,1.99 -1.66,0.1 -4.35,0.21 -7.86,0.21h-24.73l-6.93,23.3c-0.62,2.3 -0.93,3.45 -0.52,4.07 0.31,0.52 1.24,1.15 2.38,1.15l10.86,-1.04 -3.73,12.75h-12.21c-3.93,0 -6.73,-0.1 -8.69,-0.21 -1.86,-0.21 -3.83,0 -5.18,-1.04 -1.14,-1.04 -2.9,-2.4 -2.79,-3.76 0.1,-1.25 0.62,-3.34 1.45,-6.27z"
android:fillColor="#fefefe"/>
<path
android:pathData="m452.43,457.79 l-1.45,7.11c-0.62,2.19 -1.14,3.87 -2.79,5.33 -1.76,1.46 -3.72,3.03 -8.48,3.03l-8.8,0.42 -0.1,7.94c-0.1,2.19 0.52,1.98 0.83,2.4 0.41,0.42 0.72,0.52 1.14,0.73l2.79,-0.21 8.38,-0.42 -3.52,11.7h-9.62c-6.73,0 -11.8,-0.21 -13.35,-1.46 -1.65,-1.05 -1.86,-2.3 -1.86,-4.6l0.62,-31.14h15.42l-0.21,6.37h3.72c1.24,0 2.17,-0.1 2.69,-0.42 0.52,-0.31 0.83,-0.84 1.03,-1.57l1.55,-5.02h12.11zM233.06,301.79c-0.52,2.51 -10.45,48.59 -10.45,48.59 -2.17,9.3 -3.73,15.99 -8.9,20.27 -3,2.51 -6.52,3.66 -10.56,3.66 -6.52,0 -10.24,-3.24 -10.87,-9.4l-0.1,-2.09c0,0 1.97,-12.44 1.97,-12.54 0,0 10.35,-42.01 12.21,-47.55 0.1,-0.31 0.1,-0.52 0.1,-0.63 -20.18,0.21 -23.8,0 -24.01,-0.31 -0.1,0.42 -0.62,3.03 -0.62,3.03l-10.56,47.34 -0.93,3.97 -1.76,13.17c0,3.87 0.72,7.11 2.28,9.72 4.86,8.57 18.63,9.82 26.39,9.82 10.04,0 19.45,-2.19 25.77,-6.06 11.07,-6.58 13.97,-16.93 16.45,-26.02l1.24,-4.7c0,0 10.66,-43.58 12.52,-49.22 0.1,-0.31 0.1,-0.52 0.21,-0.63 -14.69,0.1 -18.94,0 -20.39,-0.31zM292.09,388.41c-7.14,-0.1 -9.73,-0.1 -18.11,0.31l-0.31,-0.63c0.72,-3.24 1.55,-6.37 2.17,-9.61l1.03,-4.39c1.55,-6.79 3,-14.84 3.21,-17.24 0.21,-1.46 0.62,-5.12 -3.52,-5.12 -1.76,0 -3.52,0.83 -5.38,1.67 -1.04,3.66 -3,13.9 -4.04,18.5 -2.07,9.82 -2.17,10.97 -3.1,15.78l-0.62,0.63c-7.35,-0.1 -9.93,-0.1 -18.42,0.31l-0.41,-0.73c1.45,-5.85 2.79,-11.7 4.14,-17.56 3.52,-15.78 4.45,-21.84 5.38,-29.89l0.73,-0.42c8.28,-1.15 10.24,-1.46 19.25,-3.24l0.72,0.84 -1.35,5.02c1.55,-0.94 3,-1.88 4.55,-2.61 4.24,-2.09 8.9,-2.72 11.49,-2.72 3.93,0 8.28,1.15 10.04,5.75 1.66,4.07 0.62,9.09 -1.66,19.02l-1.14,5.02c-2.28,11.08 -2.69,13.06 -3.93,20.59l-0.83,0.63zM321.15,388.44c-4.35,0 -7.14,-0.1 -9.83,0 -2.69,0 -5.28,0.21 -9.31,0.31l-0.21,-0.31 -0.21,-0.42c1.14,-4.18 1.66,-5.64 2.28,-7.11 0.52,-1.46 1.03,-2.93 2.07,-7.21 1.24,-5.54 2.07,-9.4 2.59,-12.85 0.62,-3.24 0.93,-6.06 1.35,-9.3l0.31,-0.21 0.31,-0.31c4.35,-0.63 7.04,-1.04 9.83,-1.46 2.79,-0.42 5.69,-0.94 10.14,-1.78l0.21,0.42 0.1,0.42 -2.48,10.35c-0.83,3.45 -1.66,6.9 -2.38,10.35 -1.55,7.32 -2.28,10.03 -2.59,12.02 -0.41,1.88 -0.52,2.82 -1.14,6.58l-0.41,0.31 -0.41,0.31zM367.09,362.77c-0.31,1.88 -1.97,8.88 -4.14,11.81 -1.55,2.19 -3.31,3.55 -5.38,3.55 -0.62,0 -4.14,0 -4.24,-5.33 0,-2.61 0.52,-5.33 1.14,-8.26 1.86,-8.47 4.14,-15.47 9.83,-15.47 4.45,0 4.76,5.22 2.79,13.69zM385.82,363.6c2.48,-11.08 0.52,-16.3 -1.86,-19.44 -3.73,-4.81 -10.35,-6.37 -17.18,-6.37 -4.14,0 -13.87,0.42 -21.52,7.52 -5.48,5.12 -8.07,12.12 -9.52,18.81 -1.55,6.79 -3.31,19.02 7.86,23.62 3.41,1.46 8.38,1.88 11.59,1.88 8.18,0 16.56,-2.3 22.87,-8.99 4.86,-5.43 7.04,-13.59 7.86,-17.03zM560.25,389.68c-8.69,-0.1 -11.18,-0.1 -19.15,0.31l-0.52,-0.63c2.17,-8.26 4.35,-16.62 6.31,-24.98 2.48,-10.87 3.1,-15.47 3.93,-21.84l0.62,-0.52c8.59,-1.25 10.97,-1.57 19.97,-3.24l0.21,0.73c-1.66,6.9 -3.21,13.69 -4.86,20.48 -3.31,14.32 -4.45,21.63 -5.69,29.16l-0.83,0.63z"
android:fillColor="#fefefe"/>
<path
android:pathData="m547.75,364.16c-0.41,1.78 -2.07,8.88 -4.24,11.81 -1.45,2.09 -4.97,3.45 -6.93,3.45 -0.62,0 -4.04,0 -4.24,-5.22 0,-2.61 0.52,-5.33 1.14,-8.26 1.86,-8.26 4.14,-15.26 9.83,-15.26 4.45,0 6.42,5.12 4.45,13.59zM564.83,365c2.48,-11.08 -7.66,-0.94 -9.21,-4.6 -2.48,-5.75 -0.93,-17.24 -10.87,-21.11 -3.83,-1.57 -12.83,0.42 -20.49,7.52 -5.38,5.02 -8.07,12.02 -9.52,18.7 -1.55,6.69 -3.31,19.02 7.76,23.3 3.52,1.57 6.73,1.99 9.94,1.78 11.18,-0.63 19.66,-17.66 25.98,-24.35 4.86,-5.33 5.69,1.99 6.41,-1.25zM434.89,388.41c-7.14,-0.1 -9.62,-0.1 -18.01,0.31l-0.31,-0.63c0.73,-3.24 1.55,-6.37 2.28,-9.61l0.93,-4.39c1.55,-6.79 3.11,-14.84 3.21,-17.24 0.21,-1.46 0.62,-5.12 -3.41,-5.12 -1.76,0 -3.62,0.83 -5.38,1.67 -0.93,3.66 -3,13.9 -4.04,18.5 -1.97,9.82 -2.17,10.97 -3.1,15.78l-0.62,0.63c-7.35,-0.1 -9.93,-0.1 -18.42,0.31l-0.41,-0.73c1.45,-5.85 2.79,-11.7 4.14,-17.56 3.52,-15.78 4.35,-21.84 5.38,-29.89l0.62,-0.42c8.28,-1.15 10.35,-1.46 19.25,-3.24l0.73,0.84 -1.24,5.02c1.45,-0.94 3,-1.88 4.45,-2.61 4.24,-2.09 8.9,-2.72 11.48,-2.72 3.93,0 8.18,1.15 10.04,5.75 1.66,4.07 0.52,9.09 -1.76,19.02l-1.14,5.02c-2.38,11.08 -2.69,13.06 -3.93,20.59l-0.83,0.63zM496.89,301.89 L490.88,301.99c-15.52,0.21 -21.73,0.1 -24.22,-0.21 -0.21,1.15 -0.62,3.13 -0.62,3.13 0,0 -5.59,25.92 -5.59,26.02 0,0 -13.25,55.18 -13.87,57.79 13.56,-0.21 19.04,-0.21 21.42,0.1 0.52,-2.61 3.62,-17.97 3.73,-17.97 0,0 2.69,-11.29 2.8,-11.7 0,0 0.83,-1.15 1.65,-1.67h1.24c11.69,0 24.84,0 35.19,-7.63 7.04,-5.22 11.8,-13.06 13.97,-22.47 0.52,-2.3 0.93,-5.02 0.93,-7.84 0,-3.66 -0.72,-7.21 -2.79,-10.03 -5.28,-7.42 -15.73,-7.52 -27.84,-7.63zM504.65,328.96c-1.24,5.75 -4.97,10.66 -9.73,12.96 -3.93,1.99 -8.69,2.19 -13.66,2.19h-3.21l0.21,-1.25c0,0 5.9,-25.92 5.9,-25.81l0.21,-1.36 0.1,-1.04 2.38,0.21c0,0 12.21,1.04 12.42,1.04 4.76,1.88 6.83,6.69 5.38,13.06zM631.86,337.62 L631.13,336.79c-8.8,1.78 -10.45,2.09 -18.52,3.24l-0.62,0.63c0,0.1 -0.1,0.21 -0.1,0.42v-0.1c-6,14.11 -5.9,11.08 -10.76,22.15 0,-0.52 0,-0.84 -0.1,-1.36l-1.24,-24.03 -0.72,-0.84c-9.31,1.78 -9.52,2.09 -18.01,3.24l-0.62,0.63c-0.1,0.31 -0.1,0.63 -0.1,0.94l0.1,0.1c1.03,5.54 0.83,4.28 1.86,12.96 0.52,4.28 1.14,8.57 1.65,12.75 0.83,7.11 1.35,10.55 2.38,21.32 -5.8,9.61 -7.14,13.27 -12.73,21.73l0.31,0.84c8.38,-0.31 10.25,-0.31 16.45,-0.31l1.35,-1.57c4.66,-10.14 40.26,-71.79 40.26,-71.79zM329.14,344.54c4.76,-3.34 5.38,-7.94 1.35,-10.35 -4.04,-2.4 -11.18,-1.67 -15.94,1.67 -4.76,3.24 -5.28,7.84 -1.24,10.35 3.93,2.3 11.07,1.67 15.83,-1.67z"
android:fillColor="#fefefe"/>
<path
android:pathData="m590.33,410.9 l-6.93,12.02c-2.17,4.07 -6.31,7.21 -12.73,7.21l-11.07,-0.21 3.21,-10.87h2.17c1.14,0 1.97,-0.1 2.59,-0.42 0.62,-0.21 0.93,-0.63 1.45,-1.25l4.14,-6.58h17.28z"
android:fillColor="#fefefe"/>
</vector>

View File

@ -0,0 +1,15 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="780dp"
android:height="780dp"
android:viewportWidth="780"
android:viewportHeight="780">
<path
android:pathData="M0,0h780v780h-780z"
android:fillColor="#0e4595"/>
<path
android:pathData="m293.2,488.73 l33.36,-195.76h53.36L346.54,488.73ZM539.31,297.19c-10.57,-3.97 -27.14,-8.22 -47.82,-8.22 -52.72,0 -89.86,26.55 -90.18,64.6 -0.3,28.13 26.51,43.82 46.75,53.19 20.77,9.6 27.75,15.71 27.65,24.28 -0.13,13.12 -16.59,19.12 -31.92,19.12 -21.36,0 -32.7,-2.97 -50.23,-10.28l-6.88,-3.11 -7.49,43.82c12.46,5.46 35.51,10.2 59.44,10.44 56.09,0 92.5,-26.25 92.92,-66.88 0.2,-22.27 -14.02,-39.22 -44.8,-53.19 -18.65,-9.06 -30.07,-15.1 -29.95,-24.27 0,-8.14 9.67,-16.84 30.56,-16.84 17.45,-0.27 30.09,3.54 39.94,7.5l4.78,2.26 7.23,-42.43m137.31,-4.22h-41.23c-12.77,0 -22.33,3.49 -27.94,16.23l-79.24,179.4h56.03c0,0 9.16,-24.12 11.23,-29.42 6.13,0 60.56,0.08 68.34,0.08 1.6,6.85 6.49,29.33 6.49,29.33h49.51L676.62,292.96ZM611.2,419.38c4.41,-11.28 21.26,-54.72 21.26,-54.72 -0.32,0.52 4.38,-11.33 7.07,-18.68l3.61,16.88c0,0 10.22,46.73 12.35,56.53zM247.9,292.97 L195.66,426.47 190.1,399.34C180.37,368.06 150.07,334.18 116.2,317.22l47.77,171.2 56.46,-0.06 84,-195.39h-56.52"
android:fillColor="#ffffff"/>
<path
android:pathData="M146.92,292.96L60.88,292.96l-0.68,4.07c66.94,16.2 111.23,55.36 129.62,102.41l-18.71,-89.96c-3.23,-12.4 -12.6,-16.09 -24.19,-16.53"
android:fillColor="#f2ae14"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="74dp"
android:height="79dp"
android:viewportWidth="74"
android:viewportHeight="79">
<path
android:pathData="M73.701,17.959C72.562,9.62 65.177,3.049 56.424,1.775C54.947,1.56 49.352,0.777 36.39,0.777H36.293C23.328,0.777 20.546,1.56 19.07,1.775C10.56,3.013 2.789,8.918 0.903,17.356C-0.004,21.511 -0.1,26.118 0.068,30.344C0.308,36.404 0.355,42.453 0.914,48.489C1.301,52.498 1.975,56.475 2.932,60.39C4.724,67.622 11.979,73.64 19.088,76.094C26.698,78.655 34.882,79.08 42.724,77.322C43.587,77.124 44.44,76.895 45.283,76.634C47.187,76.038 49.42,75.371 51.062,74.2C51.084,74.184 51.103,74.163 51.116,74.138C51.129,74.114 51.136,74.087 51.137,74.059V68.211C51.136,68.185 51.13,68.16 51.118,68.136C51.107,68.113 51.09,68.093 51.069,68.077C51.049,68.061 51.025,68.05 50.999,68.045C50.974,68.039 50.947,68.039 50.922,68.045C45.898,69.226 40.749,69.818 35.584,69.809C26.694,69.809 24.303,65.657 23.618,63.929C23.068,62.435 22.719,60.876 22.579,59.293C22.577,59.267 22.583,59.24 22.593,59.216C22.604,59.192 22.621,59.17 22.642,59.153C22.663,59.137 22.688,59.125 22.714,59.119C22.74,59.113 22.768,59.114 22.794,59.121C27.735,60.294 32.799,60.886 37.881,60.884C39.104,60.884 40.322,60.884 41.545,60.853C46.656,60.711 52.044,60.454 57.073,59.487C57.198,59.463 57.324,59.442 57.431,59.41C65.364,57.911 72.913,53.205 73.68,41.29C73.709,40.82 73.78,36.376 73.78,35.889C73.784,34.235 74.322,24.153 73.701,17.959ZM61.493,47.692H53.151V27.586C53.151,23.353 51.359,21.194 47.714,21.194C43.706,21.194 41.699,23.748 41.699,28.792V39.797H33.408V28.792C33.408,23.748 31.397,21.194 27.389,21.194C23.765,21.194 21.955,23.353 21.952,27.586V47.692H13.618V26.975C13.618,22.742 14.716,19.379 16.912,16.887C19.177,14.4 22.149,13.123 25.837,13.123C30.106,13.123 33.333,14.739 35.483,17.966L37.559,21.395L39.638,17.966C41.788,14.739 45.014,13.123 49.277,13.123C52.961,13.123 55.933,14.4 58.206,16.887C60.402,19.377 61.5,22.74 61.5,26.975L61.493,47.692Z"
android:fillColor="#ffffff"/>
</vector>

Some files were not shown because too many files have changed in this diff Show More