chore: Compose 1.9.10 + Kotlin 2.0 + Compose resources
This commit is contained in:
parent
b598d7f8f2
commit
e61537f3ab
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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: |
|
||||
|
|
|
@ -19,6 +19,9 @@ out/
|
|||
.gradle/
|
||||
build/
|
||||
|
||||
# Kotlin files
|
||||
.kotlin/
|
||||
|
||||
# Local configuration file (sdk path, etc)
|
||||
local.properties
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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,
|
||||
)
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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),
|
||||
)
|
||||
|
|
|
@ -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)
|
||||
},
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
),
|
||||
)
|
||||
},
|
||||
|
|
|
@ -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)
|
|
@ -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))
|
||||
}
|
|
@ -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()
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
package com.artemchep.keyguard.platform.parcelize
|
||||
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
actual typealias LeParcelize = Parcelize
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
|
@ -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
Loading…
Reference in New Issue