main #1

Merged
dsutanto merged 2 commits from ariska/bChot-android:main into main 2025-12-31 10:00:30 +07:00
77 changed files with 933 additions and 94 deletions

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"java.compile.nullAnalysis.mode": "automatic"
}

View File

@@ -44,7 +44,7 @@ plugins {
setupKover() setupKover()
android { android {
namespace = "io.element.android.x" namespace = "id.databisnis.android.bchot"
defaultConfig { defaultConfig {
applicationId = BuildTimeConfig.APPLICATION_ID applicationId = BuildTimeConfig.APPLICATION_ID
@@ -187,6 +187,8 @@ android {
isDefault = true isDefault = true
buildConfigFieldStr("SHORT_FLAVOR_DESCRIPTION", "G") buildConfigFieldStr("SHORT_FLAVOR_DESCRIPTION", "G")
buildConfigFieldStr("FLAVOR_DESCRIPTION", "GooglePlay") buildConfigFieldStr("FLAVOR_DESCRIPTION", "GooglePlay")
targetSdk = 36
minSdk = 29
} }
create("fdroid") { create("fdroid") {
dimension = "store" dimension = "store"

View File

@@ -68,5 +68,5 @@
# Also needed after AGP 8.13.1 upgrade, it seems like proguard is now more aggressive on removing unused code # Also needed after AGP 8.13.1 upgrade, it seems like proguard is now more aggressive on removing unused code
-keep class org.matrix.rustcomponents.sdk.** { *;} -keep class org.matrix.rustcomponents.sdk.** { *;}
-keep class uniffi.** { *;} -keep class uniffi.** { *;}
-keep class io.element.android.x.di.** { *; } -keep class id.databisnis.android.bchot.di.** { *; }
-keepnames class io.element.android.x.** -keepnames class id.databisnis.android.bchot.**

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x package id.databisnis.android.bchot
import android.app.Application import android.app.Application
import androidx.startup.AppInitializer import androidx.startup.AppInitializer
@@ -14,11 +14,11 @@ import androidx.work.Configuration
import dev.zacsweers.metro.createGraphFactory import dev.zacsweers.metro.createGraphFactory
import io.element.android.libraries.di.DependencyInjectionGraphOwner import io.element.android.libraries.di.DependencyInjectionGraphOwner
import io.element.android.libraries.workmanager.api.di.MetroWorkerFactory import io.element.android.libraries.workmanager.api.di.MetroWorkerFactory
import io.element.android.x.di.AppGraph import id.databisnis.android.bchot.di.AppGraph
import io.element.android.x.info.logApplicationInfo import id.databisnis.android.bchot.info.logApplicationInfo
import io.element.android.x.initializer.CacheCleanerInitializer import id.databisnis.android.bchot.initializer.CacheCleanerInitializer
import io.element.android.x.initializer.CrashInitializer import id.databisnis.android.bchot.initializer.CrashInitializer
import io.element.android.x.initializer.PlatformInitializer import id.databisnis.android.bchot.initializer.PlatformInitializer
class ElementXApplication : Application(), DependencyInjectionGraphOwner, Configuration.Provider { class ElementXApplication : Application(), DependencyInjectionGraphOwner, Configuration.Provider {
override val graph: AppGraph = createGraphFactory<AppGraph.Factory>().create(this) override val graph: AppGraph = createGraphFactory<AppGraph.Factory>().create(this)

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x package id.databisnis.android.bchot
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
@@ -40,8 +40,8 @@ import io.element.android.libraries.core.log.logger.LoggerTag
import io.element.android.libraries.designsystem.theme.ElementThemeApp import io.element.android.libraries.designsystem.theme.ElementThemeApp
import io.element.android.libraries.designsystem.utils.snackbar.LocalSnackbarDispatcher import io.element.android.libraries.designsystem.utils.snackbar.LocalSnackbarDispatcher
import io.element.android.services.analytics.compose.LocalAnalyticsService import io.element.android.services.analytics.compose.LocalAnalyticsService
import io.element.android.x.di.AppBindings import id.databisnis.android.bchot.di.AppBindings
import io.element.android.x.intent.SafeUriHandler import id.databisnis.android.bchot.intent.SafeUriHandler
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import timber.log.Timber import timber.log.Timber

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x package id.databisnis.android.bchot
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.di package id.databisnis.android.bchot.di
import dev.zacsweers.metro.AppScope import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesTo import dev.zacsweers.metro.ContributesTo

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.di package id.databisnis.android.bchot.di
import android.content.Context import android.content.Context
import androidx.work.ListenableWorker import androidx.work.ListenableWorker

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.di package id.databisnis.android.bchot.di
import android.content.Context import android.content.Context
import android.content.SharedPreferences import android.content.SharedPreferences
@@ -30,8 +30,8 @@ import io.element.android.libraries.di.annotations.AppCoroutineScope
import io.element.android.libraries.di.annotations.ApplicationContext import io.element.android.libraries.di.annotations.ApplicationContext
import io.element.android.libraries.recentemojis.api.EmojibaseProvider import io.element.android.libraries.recentemojis.api.EmojibaseProvider
import io.element.android.libraries.recentemojis.impl.DefaultEmojibaseProvider import io.element.android.libraries.recentemojis.impl.DefaultEmojibaseProvider
import io.element.android.x.BuildConfig import id.databisnis.android.bchot.BuildConfig
import io.element.android.x.R import id.databisnis.android.bchot.R
import kotlinx.coroutines.CoroutineName import kotlinx.coroutines.CoroutineName
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.MainScope import kotlinx.coroutines.MainScope

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.di package id.databisnis.android.bchot.di
import dev.zacsweers.metro.ContributesBinding import dev.zacsweers.metro.ContributesBinding
import io.element.android.appnav.di.RoomGraphFactory import io.element.android.appnav.di.RoomGraphFactory

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.di package id.databisnis.android.bchot.di
import dev.zacsweers.metro.AppScope import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding import dev.zacsweers.metro.ContributesBinding

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.di package id.databisnis.android.bchot.di
import dev.zacsweers.metro.GraphExtension import dev.zacsweers.metro.GraphExtension
import dev.zacsweers.metro.Provides import dev.zacsweers.metro.Provides

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.di package id.databisnis.android.bchot.di
import dev.zacsweers.metro.GraphExtension import dev.zacsweers.metro.GraphExtension
import dev.zacsweers.metro.Provides import dev.zacsweers.metro.Provides

View File

@@ -6,11 +6,11 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.info package id.databisnis.android.bchot.info
import android.content.Context import android.content.Context
import io.element.android.libraries.androidutils.system.getVersionCodeFromManifest import io.element.android.libraries.androidutils.system.getVersionCodeFromManifest
import io.element.android.x.BuildConfig import id.databisnis.android.bchot.BuildConfig
import timber.log.Timber import timber.log.Timber
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Date import java.util.Date

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.initializer package id.databisnis.android.bchot.initializer
import android.content.Context import android.content.Context
import androidx.startup.Initializer import androidx.startup.Initializer

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.initializer package id.databisnis.android.bchot.initializer
import android.content.Context import android.content.Context
import androidx.startup.Initializer import androidx.startup.Initializer

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.initializer package id.databisnis.android.bchot.initializer
import android.content.Context import android.content.Context
import android.system.Os import android.system.Os
@@ -15,7 +15,7 @@ import io.element.android.features.rageshake.api.logs.createWriteToFilesConfigur
import io.element.android.libraries.architecture.bindings import io.element.android.libraries.architecture.bindings
import io.element.android.libraries.featureflag.api.FeatureFlags import io.element.android.libraries.featureflag.api.FeatureFlags
import io.element.android.libraries.matrix.api.tracing.TracingConfiguration import io.element.android.libraries.matrix.api.tracing.TracingConfiguration
import io.element.android.x.di.AppBindings import id.databisnis.android.bchot.di.AppBindings
import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.first
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import timber.log.Timber import timber.log.Timber

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.intent package id.databisnis.android.bchot.intent
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
@@ -21,7 +21,7 @@ import io.element.android.libraries.matrix.api.core.RoomId
import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.core.ThreadId import io.element.android.libraries.matrix.api.core.ThreadId
import io.element.android.libraries.push.impl.intent.IntentProvider import io.element.android.libraries.push.impl.intent.IntentProvider
import io.element.android.x.MainActivity import id.databisnis.android.bchot.MainActivity
@ContributesBinding(AppScope::class) @ContributesBinding(AppScope::class)
class DefaultIntentProvider( class DefaultIntentProvider(

View File

@@ -6,7 +6,7 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.intent package id.databisnis.android.bchot.intent
import android.app.Activity import android.app.Activity
import androidx.compose.ui.platform.UriHandler import androidx.compose.ui.platform.UriHandler

View File

@@ -6,13 +6,13 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.oidc package id.databisnis.android.bchot.oidc
import dev.zacsweers.metro.AppScope import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding import dev.zacsweers.metro.ContributesBinding
import io.element.android.libraries.matrix.api.auth.OidcRedirectUrlProvider import io.element.android.libraries.matrix.api.auth.OidcRedirectUrlProvider
import io.element.android.services.toolbox.api.strings.StringProvider import io.element.android.services.toolbox.api.strings.StringProvider
import io.element.android.x.R import id.databisnis.android.bchot.R
@ContributesBinding(AppScope::class) @ContributesBinding(AppScope::class)
class DefaultOidcRedirectUrlProvider( class DefaultOidcRedirectUrlProvider(

View File

@@ -8,7 +8,7 @@
@file:Suppress("SameParameterValue") @file:Suppress("SameParameterValue")
package io.element.android.x.intent package id.databisnis.android.bchot.intent
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
@@ -24,7 +24,7 @@ import io.element.android.libraries.matrix.test.A_SESSION_ID
import io.element.android.libraries.matrix.test.A_THREAD_ID import io.element.android.libraries.matrix.test.A_THREAD_ID
import io.element.android.tests.testutils.lambda.lambdaRecorder import io.element.android.tests.testutils.lambda.lambdaRecorder
import io.element.android.tests.testutils.lambda.value import io.element.android.tests.testutils.lambda.value
import io.element.android.x.MainActivity import id.databisnis.android.bchot.MainActivity
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner

View File

@@ -6,11 +6,11 @@
* Please see LICENSE files in the repository root for full details. * Please see LICENSE files in the repository root for full details.
*/ */
package io.element.android.x.oidc package id.databisnis.android.bchot.oidc
import com.google.common.truth.Truth.assertThat import com.google.common.truth.Truth.assertThat
import io.element.android.services.toolbox.test.strings.FakeStringProvider import io.element.android.services.toolbox.test.strings.FakeStringProvider
import io.element.android.x.R import id.databisnis.android.bchot.R
import org.junit.Test import org.junit.Test
class DefaultOidcRedirectUrlProviderTest { class DefaultOidcRedirectUrlProviderTest {

View File

@@ -17,19 +17,19 @@ object ApplicationConfig {
* - "Element X dbg" for debug builds; * - "Element X dbg" for debug builds;
* - "Element X nightly" for nightly builds. * - "Element X nightly" for nightly builds.
*/ */
const val APPLICATION_NAME: String = "" const val APPLICATION_NAME: String = "bChot"
/** /**
* Used in the strings to reference the Element client. * Used in the strings to reference the Element client.
* Cannot be empty. * Cannot be empty.
* For Element, the value is "Element". * For Element, the value is "Element".
*/ */
const val PRODUCTION_APPLICATION_NAME: String = "Element" const val PRODUCTION_APPLICATION_NAME: String = "bChot"
/** /**
* Used in the strings to reference the Element Desktop client, for instance Element Web. * Used in the strings to reference the Element Desktop client, for instance Element Web.
* Cannot be empty. * Cannot be empty.
* For Element, the value is "Element". We use the same name for desktop and mobile for now. * For Element, the value is "Element". We use the same name for desktop and mobile for now.
*/ */
const val DESKTOP_APPLICATION_NAME: String = "Element" const val DESKTOP_APPLICATION_NAME: String = "bChot"
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 98 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<vector
android:height="108dp"
android:width="108dp"
android:viewportHeight="108"
android:viewportWidth="108"
xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z"/>
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
</vector>

View File

@@ -1,12 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- <?xml version="1.0" encoding="utf-8"?>
~ Copyright (c) 2025 Element Creations Ltd.
~ Copyright 2023 New Vector Ltd.
~
~ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
~ Please see LICENSE files in the repository root for full details.
-->
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/> <background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/> <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@mipmap/ic_launcher_monochrome"/> </adaptive-icon>
</adaptive-icon>

View File

@@ -1,12 +1,5 @@
<?xml version="1.0" encoding="utf-8"?><!-- <?xml version="1.0" encoding="utf-8"?>
~ Copyright (c) 2025 Element Creations Ltd.
~ Copyright 2023 New Vector Ltd.
~
~ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
~ Please see LICENSE files in the repository root for full details.
-->
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/> <background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/> <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
<monochrome android:drawable="@mipmap/ic_launcher_monochrome"/> </adaptive-icon>
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -0,0 +1,660 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0.00 0.00 428.00 423.00">
<g stroke-width="2.00" fill="none" stroke-linecap="butt">
<path stroke="#ada0cc" vector-effect="non-scaling-stroke" d="
M 149.95 227.27
Q 213.25 227.19 274.66 227.31
Q 287.57 227.33 294.45 226.25
C 328.25 220.93 355.78 192.12 359.50 157.95
Q 362.43 131.02 350.13 109.38
C 338.71 89.27 318.26 74.17 295.43 70.37
Q 287.13 68.99 275.79 69.07
Q 240.77 69.32 206.83 69.06
Q 195.42 68.98 187.58 69.63
C 162.77 71.71 141.24 85.39 126.66 105.50
Q 114.09 122.82 111.77 145.26
Q 111.24 150.38 111.29 164.17
Q 111.49 211.93 111.31 256.09
C 111.25 269.86 100.70 279.95 87.14 279.97
C 72.01 280.00 62.76 297.65 71.95 309.98
C 75.90 315.26 81.34 317.95 87.85 317.88
C 106.99 317.67 123.95 309.21 136.07 294.38
Q 149.52 277.92 149.31 254.92
Q 149.17 240.53 149.31 227.90
Q 149.32 227.27 149.95 227.27"
/>
<path stroke="#ada0cc" vector-effect="non-scaling-stroke" d="
M 262.59 315.68
Q 262.46 322.59 262.61 328.92
C 262.98 343.98 274.60 355.20 289.44 356.31
C 299.61 357.06 303.38 344.75 294.57 339.84
C 293.23 339.10 291.48 339.03 289.95 338.95
C 283.93 338.63 279.92 333.48 279.90 327.81
Q 279.85 304.29 279.91 282.70
Q 279.96 262.05 263.51 249.95
Q 253.69 242.72 240.57 242.73
Q 220.89 242.74 202.39 242.76
C 182.14 242.78 166.54 258.82 166.36 278.66
C 166.21 295.61 177.71 309.86 193.69 313.91
Q 198.61 315.16 212.16 315.04
Q 237.82 314.82 261.94 315.01
Q 262.61 315.01 262.59 315.68"
/>
<path stroke="#ada0cc" vector-effect="non-scaling-stroke" d="
M 278.4366 113.8147
A 2.65 2.65 0.0 0 0 275.7912 111.1601
L 275.6912 111.1599
A 2.65 2.65 0.0 0 0 273.0366 113.8053
L 272.9834 144.2653
A 2.65 2.65 0.0 0 0 275.6288 146.9199
L 275.7288 146.9201
A 2.65 2.65 0.0 0 0 278.3834 144.2747
L 278.4366 113.8147"
/>
<path stroke="#ada0cc" vector-effect="non-scaling-stroke" d="
M 186.56 130.11
C 192.44 133.22 190.31 141.61 183.76 141.51
Q 178.73 141.44 173.28 141.57
C 168.58 141.68 165.05 139.20 165.05 134.26
Q 165.04 123.56 165.04 114.11
Q 165.04 111.47 162.41 111.16
Q 162.05 111.11 161.71 111.23
Q 159.67 111.92 159.70 114.08
Q 159.81 122.87 159.65 132.61
C 159.48 142.28 165.11 147.43 174.69 147.04
C 178.92 146.87 184.01 147.61 187.90 146.23
C 195.53 143.52 197.88 133.67 192.32 127.81
Q 189.17 124.50 185.31 124.30
Q 178.73 123.97 171.07 124.21
Q 168.95 124.27 168.42 126.32
Q 168.34 126.63 168.38 126.94
Q 168.68 129.63 171.39 129.60
Q 178.27 129.54 184.87 129.66
Q 185.73 129.68 186.56 130.11"
/>
<path stroke="#ada0cc" vector-effect="non-scaling-stroke" d="
M 293.91 134.50
L 304.51 128.90
Q 306.39 127.90 306.02 125.81
Q 305.95 125.43 305.75 125.12
Q 304.34 122.92 302.04 124.14
L 280.74 135.43
A 2.41 2.41 0.0 0 0 279.58 138.31
Q 280.24 140.35 282.29 140.38
Q 288.54 140.48 295.92 140.40
C 298.30 140.38 300.04 141.88 300.20 144.26
Q 300.37 146.88 303.00 146.88
Q 303.34 146.88 303.66 146.78
Q 305.55 146.18 305.54 144.20
Q 305.52 138.70 300.47 135.96
C 298.44 134.85 296.23 135.06 294.00 134.93
Q 293.19 134.88 293.91 134.50"
/>
<path stroke="#ada0cc" vector-effect="non-scaling-stroke" d="
M 202.87 139.40
Q 203.42 138.26 204.69 138.26
L 221.52 138.26
Q 224.19 138.26 224.49 135.60
Q 224.52 135.32 224.46 135.05
A 2.93 2.93 0.0 0 0 221.58 132.83
Q 214.47 132.94 206.06 132.78
Q 203.18 132.73 201.17 133.72
C 196.54 136.02 196.21 142.41 200.18 145.49
Q 202.32 147.16 206.17 147.07
Q 213.49 146.90 220.92 147.00
C 233.37 147.16 238.23 130.97 226.84 125.34
Q 224.18 124.02 219.47 124.09
Q 210.64 124.23 202.58 124.14
Q 200.33 124.11 199.63 126.25
Q 199.50 126.64 199.59 127.06
Q 200.12 129.53 202.64 129.55
Q 211.19 129.63 219.58 129.54
Q 223.00 129.50 224.38 130.18
C 230.23 133.03 228.06 141.56 221.40 141.53
Q 212.54 141.49 204.41 141.51
A 1.40 1.40 0.0 0 1 203.42 141.10
Q 202.50 140.18 202.87 139.40"
/>
<path stroke="#ada0cc" vector-effect="non-scaling-stroke" d="
M 247.20 141.53
C 238.40 141.57 238.18 129.34 247.99 129.52
Q 256.97 129.69 265.98 129.56
Q 268.45 129.52 268.85 127.08
Q 268.91 126.72 268.82 126.38
Q 268.25 124.13 265.94 124.14
Q 257.87 124.18 247.85 124.10
C 231.20 123.97 231.30 146.90 247.12 146.98
Q 257.47 147.03 267.88 146.98
Q 270.55 146.97 270.96 144.33
Q 271.03 143.88 270.83 143.46
Q 269.92 141.54 267.79 141.53
Q 257.62 141.49 247.20 141.53"
/>
<path stroke="#ada0cc" vector-effect="non-scaling-stroke" d="
M 201.50 163.08
L 201.50 153.97
Q 201.50 151.82 199.55 150.93
Q 199.14 150.74 198.71 150.79
Q 196.13 151.09 196.13 153.69
L 196.14 184.24
A 2.14 2.14 0.0 0 0 197.36 186.17
Q 198.45 186.69 199.34 186.46
Q 201.50 185.91 201.50 183.68
L 201.50 169.98
Q 201.50 169.30 202.18 169.30
Q 211.19 169.25 219.48 169.21
C 224.41 169.18 226.74 173.18 226.53 177.69
Q 226.39 180.93 226.54 183.82
Q 226.65 185.83 228.56 186.45
Q 228.91 186.56 229.26 186.53
Q 231.88 186.27 231.89 183.64
Q 231.89 181.03 231.99 178.42
C 232.22 172.26 229.99 167.04 223.95 164.69
Q 220.88 163.50 213.96 163.79
Q 208.22 164.03 202.17 163.78
Q 201.50 163.76 201.50 163.08"
/>
<path stroke="#ada0cc" vector-effect="non-scaling-stroke" d="
M 277.04 163.09
Q 277.10 162.21 277.11 161.29
C 277.14 159.15 275.48 157.40 273.29 158.35
A 2.64 2.63 -12.2 0 0 271.69 160.83
Q 271.86 168.30 271.66 175.67
C 271.49 182.08 274.26 186.75 281.14 186.75
Q 292.39 186.74 304.75 186.74
A 2.35 2.33 21.5 0 0 306.45 186.01
Q 307.78 184.61 307.43 183.45
Q 306.78 181.26 304.49 181.26
L 280.67 181.26
Q 277.07 181.26 277.07 177.66
L 277.07 169.75
A 0.44 0.43 -90.0 0 1 277.50 169.31
L 293.50 169.32
Q 295.76 169.32 296.62 167.23
Q 296.78 166.83 296.70 166.42
Q 296.19 163.86 293.58 163.86
L 277.74 163.85
Q 276.98 163.85 277.04 163.09"
/>
<path stroke="#ada0cc" vector-effect="non-scaling-stroke" d="
M 170.22 181.28
C 161.66 181.33 161.73 169.29 169.88 169.31
Q 180.32 169.34 189.28 169.28
Q 191.35 169.27 191.86 167.27
Q 191.94 166.97 191.93 166.66
Q 191.84 163.95 189.13 163.91
Q 179.19 163.76 169.65 163.91
Q 164.71 163.99 161.37 167.61
C 154.43 175.14 160.14 186.56 169.78 186.69
Q 179.75 186.82 191.80 186.71
A 2.19 2.18 10.5 0 0 193.80 185.34
Q 194.21 184.33 193.99 183.40
Q 193.49 181.30 191.33 181.29
Q 181.14 181.22 170.22 181.28"
/>
<path stroke="#ada0cc" vector-effect="non-scaling-stroke" d="
M 239.36 179.43
Q 239.75 178.00 241.24 178.00
L 258.19 178.00
Q 260.78 178.00 260.99 175.41
Q 261.07 174.42 260.22 173.41
A 2.28 2.26 -19.5 0 0 258.50 172.60
Q 249.51 172.53 241.28 172.61
C 231.55 172.71 231.70 186.58 240.88 186.71
Q 249.83 186.83 258.38 186.68
C 265.65 186.55 271.33 179.60 269.33 172.59
Q 266.81 163.77 256.99 163.84
Q 247.48 163.90 239.14 163.86
Q 236.47 163.84 236.07 166.48
Q 235.89 167.70 237.30 168.80
A 2.23 2.19 63.9 0 0 238.63 169.27
Q 246.67 169.42 256.31 169.24
C 260.20 169.17 263.82 170.37 264.18 174.77
C 264.50 178.76 261.57 181.28 257.77 181.28
Q 248.88 181.27 241.15 181.24
Q 239.89 181.23 239.40 180.07
Q 239.27 179.76 239.36 179.43"
/>
</g>
<path fill="#5a4098" d="
M 231.85 423.00
L 196.77 423.00
Q 135.79 417.45 87.61 381.38
C 43.91 348.67 14.30 299.48 5.88 245.23
C -7.30 160.26 32.33 75.75 106.14 31.69
C 151.12 4.83 204.68 -4.40 256.03 6.00
C 338.89 22.76 403.77 87.46 420.79 170.28
C 438.17 254.82 402.46 340.54 330.95 388.44
Q 286.66 418.10 231.85 423.00
Z
M 149.95 227.27
Q 213.25 227.19 274.66 227.31
Q 287.57 227.33 294.45 226.25
C 328.25 220.93 355.78 192.12 359.50 157.95
Q 362.43 131.02 350.13 109.38
C 338.71 89.27 318.26 74.17 295.43 70.37
Q 287.13 68.99 275.79 69.07
Q 240.77 69.32 206.83 69.06
Q 195.42 68.98 187.58 69.63
C 162.77 71.71 141.24 85.39 126.66 105.50
Q 114.09 122.82 111.77 145.26
Q 111.24 150.38 111.29 164.17
Q 111.49 211.93 111.31 256.09
C 111.25 269.86 100.70 279.95 87.14 279.97
C 72.01 280.00 62.76 297.65 71.95 309.98
C 75.90 315.26 81.34 317.95 87.85 317.88
C 106.99 317.67 123.95 309.21 136.07 294.38
Q 149.52 277.92 149.31 254.92
Q 149.17 240.53 149.31 227.90
Q 149.32 227.27 149.95 227.27
Z
M 262.59 315.68
Q 262.46 322.59 262.61 328.92
C 262.98 343.98 274.60 355.20 289.44 356.31
C 299.61 357.06 303.38 344.75 294.57 339.84
C 293.23 339.10 291.48 339.03 289.95 338.95
C 283.93 338.63 279.92 333.48 279.90 327.81
Q 279.85 304.29 279.91 282.70
Q 279.96 262.05 263.51 249.95
Q 253.69 242.72 240.57 242.73
Q 220.89 242.74 202.39 242.76
C 182.14 242.78 166.54 258.82 166.36 278.66
C 166.21 295.61 177.71 309.86 193.69 313.91
Q 198.61 315.16 212.16 315.04
Q 237.82 314.82 261.94 315.01
Q 262.61 315.01 262.59 315.68
Z"
/>
<path fill="#ffffff" d="
M 149.31 227.90
Q 149.17 240.53 149.31 254.92
Q 149.52 277.92 136.07 294.38
C 123.95 309.21 106.99 317.67 87.85 317.88
C 81.34 317.95 75.90 315.26 71.95 309.98
C 62.76 297.65 72.01 280.00 87.14 279.97
C 100.70 279.95 111.25 269.86 111.31 256.09
Q 111.49 211.93 111.29 164.17
Q 111.24 150.38 111.77 145.26
Q 114.09 122.82 126.66 105.50
C 141.24 85.39 162.77 71.71 187.58 69.63
Q 195.42 68.98 206.83 69.06
Q 240.77 69.32 275.79 69.07
Q 287.13 68.99 295.43 70.37
C 318.26 74.17 338.71 89.27 350.13 109.38
Q 362.43 131.02 359.50 157.95
C 355.78 192.12 328.25 220.93 294.45 226.25
Q 287.57 227.33 274.66 227.31
Q 213.25 227.19 149.95 227.27
Q 149.32 227.27 149.31 227.90
Z
M 278.4366 113.8147
A 2.65 2.65 0.0 0 0 275.7912 111.1601
L 275.6912 111.1599
A 2.65 2.65 0.0 0 0 273.0366 113.8053
L 272.9834 144.2653
A 2.65 2.65 0.0 0 0 275.6288 146.9199
L 275.7288 146.9201
A 2.65 2.65 0.0 0 0 278.3834 144.2747
L 278.4366 113.8147
Z
M 186.56 130.11
C 192.44 133.22 190.31 141.61 183.76 141.51
Q 178.73 141.44 173.28 141.57
C 168.58 141.68 165.05 139.20 165.05 134.26
Q 165.04 123.56 165.04 114.11
Q 165.04 111.47 162.41 111.16
Q 162.05 111.11 161.71 111.23
Q 159.67 111.92 159.70 114.08
Q 159.81 122.87 159.65 132.61
C 159.48 142.28 165.11 147.43 174.69 147.04
C 178.92 146.87 184.01 147.61 187.90 146.23
C 195.53 143.52 197.88 133.67 192.32 127.81
Q 189.17 124.50 185.31 124.30
Q 178.73 123.97 171.07 124.21
Q 168.95 124.27 168.42 126.32
Q 168.34 126.63 168.38 126.94
Q 168.68 129.63 171.39 129.60
Q 178.27 129.54 184.87 129.66
Q 185.73 129.68 186.56 130.11
Z
M 293.91 134.50
L 304.51 128.90
Q 306.39 127.90 306.02 125.81
Q 305.95 125.43 305.75 125.12
Q 304.34 122.92 302.04 124.14
L 280.74 135.43
A 2.41 2.41 0.0 0 0 279.58 138.31
Q 280.24 140.35 282.29 140.38
Q 288.54 140.48 295.92 140.40
C 298.30 140.38 300.04 141.88 300.20 144.26
Q 300.37 146.88 303.00 146.88
Q 303.34 146.88 303.66 146.78
Q 305.55 146.18 305.54 144.20
Q 305.52 138.70 300.47 135.96
C 298.44 134.85 296.23 135.06 294.00 134.93
Q 293.19 134.88 293.91 134.50
Z
M 202.87 139.40
Q 203.42 138.26 204.69 138.26
L 221.52 138.26
Q 224.19 138.26 224.49 135.60
Q 224.52 135.32 224.46 135.05
A 2.93 2.93 0.0 0 0 221.58 132.83
Q 214.47 132.94 206.06 132.78
Q 203.18 132.73 201.17 133.72
C 196.54 136.02 196.21 142.41 200.18 145.49
Q 202.32 147.16 206.17 147.07
Q 213.49 146.90 220.92 147.00
C 233.37 147.16 238.23 130.97 226.84 125.34
Q 224.18 124.02 219.47 124.09
Q 210.64 124.23 202.58 124.14
Q 200.33 124.11 199.63 126.25
Q 199.50 126.64 199.59 127.06
Q 200.12 129.53 202.64 129.55
Q 211.19 129.63 219.58 129.54
Q 223.00 129.50 224.38 130.18
C 230.23 133.03 228.06 141.56 221.40 141.53
Q 212.54 141.49 204.41 141.51
A 1.40 1.40 0.0 0 1 203.42 141.10
Q 202.50 140.18 202.87 139.40
Z
M 247.20 141.53
C 238.40 141.57 238.18 129.34 247.99 129.52
Q 256.97 129.69 265.98 129.56
Q 268.45 129.52 268.85 127.08
Q 268.91 126.72 268.82 126.38
Q 268.25 124.13 265.94 124.14
Q 257.87 124.18 247.85 124.10
C 231.20 123.97 231.30 146.90 247.12 146.98
Q 257.47 147.03 267.88 146.98
Q 270.55 146.97 270.96 144.33
Q 271.03 143.88 270.83 143.46
Q 269.92 141.54 267.79 141.53
Q 257.62 141.49 247.20 141.53
Z
M 201.50 163.08
L 201.50 153.97
Q 201.50 151.82 199.55 150.93
Q 199.14 150.74 198.71 150.79
Q 196.13 151.09 196.13 153.69
L 196.14 184.24
A 2.14 2.14 0.0 0 0 197.36 186.17
Q 198.45 186.69 199.34 186.46
Q 201.50 185.91 201.50 183.68
L 201.50 169.98
Q 201.50 169.30 202.18 169.30
Q 211.19 169.25 219.48 169.21
C 224.41 169.18 226.74 173.18 226.53 177.69
Q 226.39 180.93 226.54 183.82
Q 226.65 185.83 228.56 186.45
Q 228.91 186.56 229.26 186.53
Q 231.88 186.27 231.89 183.64
Q 231.89 181.03 231.99 178.42
C 232.22 172.26 229.99 167.04 223.95 164.69
Q 220.88 163.50 213.96 163.79
Q 208.22 164.03 202.17 163.78
Q 201.50 163.76 201.50 163.08
Z
M 277.04 163.09
Q 277.10 162.21 277.11 161.29
C 277.14 159.15 275.48 157.40 273.29 158.35
A 2.64 2.63 -12.2 0 0 271.69 160.83
Q 271.86 168.30 271.66 175.67
C 271.49 182.08 274.26 186.75 281.14 186.75
Q 292.39 186.74 304.75 186.74
A 2.35 2.33 21.5 0 0 306.45 186.01
Q 307.78 184.61 307.43 183.45
Q 306.78 181.26 304.49 181.26
L 280.67 181.26
Q 277.07 181.26 277.07 177.66
L 277.07 169.75
A 0.44 0.43 -90.0 0 1 277.50 169.31
L 293.50 169.32
Q 295.76 169.32 296.62 167.23
Q 296.78 166.83 296.70 166.42
Q 296.19 163.86 293.58 163.86
L 277.74 163.85
Q 276.98 163.85 277.04 163.09
Z
M 170.22 181.28
C 161.66 181.33 161.73 169.29 169.88 169.31
Q 180.32 169.34 189.28 169.28
Q 191.35 169.27 191.86 167.27
Q 191.94 166.97 191.93 166.66
Q 191.84 163.95 189.13 163.91
Q 179.19 163.76 169.65 163.91
Q 164.71 163.99 161.37 167.61
C 154.43 175.14 160.14 186.56 169.78 186.69
Q 179.75 186.82 191.80 186.71
A 2.19 2.18 10.5 0 0 193.80 185.34
Q 194.21 184.33 193.99 183.40
Q 193.49 181.30 191.33 181.29
Q 181.14 181.22 170.22 181.28
Z
M 239.36 179.43
Q 239.75 178.00 241.24 178.00
L 258.19 178.00
Q 260.78 178.00 260.99 175.41
Q 261.07 174.42 260.22 173.41
A 2.28 2.26 -19.5 0 0 258.50 172.60
Q 249.51 172.53 241.28 172.61
C 231.55 172.71 231.70 186.58 240.88 186.71
Q 249.83 186.83 258.38 186.68
C 265.65 186.55 271.33 179.60 269.33 172.59
Q 266.81 163.77 256.99 163.84
Q 247.48 163.90 239.14 163.86
Q 236.47 163.84 236.07 166.48
Q 235.89 167.70 237.30 168.80
A 2.23 2.19 63.9 0 0 238.63 169.27
Q 246.67 169.42 256.31 169.24
C 260.20 169.17 263.82 170.37 264.18 174.77
C 264.50 178.76 261.57 181.28 257.77 181.28
Q 248.88 181.27 241.15 181.24
Q 239.89 181.23 239.40 180.07
Q 239.27 179.76 239.36 179.43
Z"
/>
<path fill="#5a4098" d="
M 278.3834 144.2747
A 2.65 2.65 0.0 0 1 275.7288 146.9201
L 275.6288 146.9199
A 2.65 2.65 0.0 0 1 272.9834 144.2653
L 273.0366 113.8053
A 2.65 2.65 0.0 0 1 275.6912 111.1599
L 275.7912 111.1601
A 2.65 2.65 0.0 0 1 278.4366 113.8147
L 278.3834 144.2747
Z"
/>
<path fill="#5a4098" d="
M 186.56 130.11
Q 185.73 129.68 184.87 129.66
Q 178.27 129.54 171.39 129.60
Q 168.68 129.63 168.38 126.94
Q 168.34 126.63 168.42 126.32
Q 168.95 124.27 171.07 124.21
Q 178.73 123.97 185.31 124.30
Q 189.17 124.50 192.32 127.81
C 197.88 133.67 195.53 143.52 187.90 146.23
C 184.01 147.61 178.92 146.87 174.69 147.04
C 165.11 147.43 159.48 142.28 159.65 132.61
Q 159.81 122.87 159.70 114.08
Q 159.67 111.92 161.71 111.23
Q 162.05 111.11 162.41 111.16
Q 165.04 111.47 165.04 114.11
Q 165.04 123.56 165.05 134.26
C 165.05 139.20 168.58 141.68 173.28 141.57
Q 178.73 141.44 183.76 141.51
C 190.31 141.61 192.44 133.22 186.56 130.11
Z"
/>
<path fill="#5a4098" d="
M 293.91 134.50
Q 293.19 134.88 294.00 134.93
C 296.23 135.06 298.44 134.85 300.47 135.96
Q 305.52 138.70 305.54 144.20
Q 305.55 146.18 303.66 146.78
Q 303.34 146.88 303.00 146.88
Q 300.37 146.88 300.20 144.26
C 300.04 141.88 298.30 140.38 295.92 140.40
Q 288.54 140.48 282.29 140.38
Q 280.24 140.35 279.58 138.31
A 2.41 2.41 0.0 0 1 280.74 135.43
L 302.04 124.14
Q 304.34 122.92 305.75 125.12
Q 305.95 125.43 306.02 125.81
Q 306.39 127.90 304.51 128.90
L 293.91 134.50
Z"
/>
<path fill="#5a4098" d="
M 202.87 139.40
Q 202.50 140.18 203.42 141.10
A 1.40 1.40 0.0 0 0 204.41 141.51
Q 212.54 141.49 221.40 141.53
C 228.06 141.56 230.23 133.03 224.38 130.18
Q 223.00 129.50 219.58 129.54
Q 211.19 129.63 202.64 129.55
Q 200.12 129.53 199.59 127.06
Q 199.50 126.64 199.63 126.25
Q 200.33 124.11 202.58 124.14
Q 210.64 124.23 219.47 124.09
Q 224.18 124.02 226.84 125.34
C 238.23 130.97 233.37 147.16 220.92 147.00
Q 213.49 146.90 206.17 147.07
Q 202.32 147.16 200.18 145.49
C 196.21 142.41 196.54 136.02 201.17 133.72
Q 203.18 132.73 206.06 132.78
Q 214.47 132.94 221.58 132.83
A 2.93 2.93 0.0 0 1 224.46 135.05
Q 224.52 135.32 224.49 135.60
Q 224.19 138.26 221.52 138.26
L 204.69 138.26
Q 203.42 138.26 202.87 139.40
Z"
/>
<path fill="#5a4098" d="
M 247.99 129.52
C 238.18 129.34 238.40 141.57 247.20 141.53
Q 257.62 141.49 267.79 141.53
Q 269.92 141.54 270.83 143.46
Q 271.03 143.88 270.96 144.33
Q 270.55 146.97 267.88 146.98
Q 257.47 147.03 247.12 146.98
C 231.30 146.90 231.20 123.97 247.85 124.10
Q 257.87 124.18 265.94 124.14
Q 268.25 124.13 268.82 126.38
Q 268.91 126.72 268.85 127.08
Q 268.45 129.52 265.98 129.56
Q 256.97 129.69 247.99 129.52
Z"
/>
<path fill="#5a4098" d="
M 202.17 163.78
Q 208.22 164.03 213.96 163.79
Q 220.88 163.50 223.95 164.69
C 229.99 167.04 232.22 172.26 231.99 178.42
Q 231.89 181.03 231.89 183.64
Q 231.88 186.27 229.26 186.53
Q 228.91 186.56 228.56 186.45
Q 226.65 185.83 226.54 183.82
Q 226.39 180.93 226.53 177.69
C 226.74 173.18 224.41 169.18 219.48 169.21
Q 211.19 169.25 202.18 169.30
Q 201.50 169.30 201.50 169.98
L 201.50 183.68
Q 201.50 185.91 199.34 186.46
Q 198.45 186.69 197.36 186.17
A 2.14 2.14 0.0 0 1 196.14 184.24
L 196.13 153.69
Q 196.13 151.09 198.71 150.79
Q 199.14 150.74 199.55 150.93
Q 201.50 151.82 201.50 153.97
L 201.50 163.08
Q 201.50 163.76 202.17 163.78
Z"
/>
<path fill="#5a4098" d="
M 277.74 163.85
L 293.58 163.86
Q 296.19 163.86 296.70 166.42
Q 296.78 166.83 296.62 167.23
Q 295.76 169.32 293.50 169.32
L 277.50 169.31
A 0.44 0.43 -90.0 0 0 277.07 169.75
L 277.07 177.66
Q 277.07 181.26 280.67 181.26
L 304.49 181.26
Q 306.78 181.26 307.43 183.45
Q 307.78 184.61 306.45 186.01
A 2.35 2.33 21.5 0 1 304.75 186.74
Q 292.39 186.74 281.14 186.75
C 274.26 186.75 271.49 182.08 271.66 175.67
Q 271.86 168.30 271.69 160.83
A 2.64 2.63 -12.2 0 1 273.29 158.35
C 275.48 157.40 277.14 159.15 277.11 161.29
Q 277.10 162.21 277.04 163.09
Q 276.98 163.85 277.74 163.85
Z"
/>
<path fill="#5a4098" d="
M 169.88 169.31
C 161.73 169.29 161.66 181.33 170.22 181.28
Q 181.14 181.22 191.33 181.29
Q 193.49 181.30 193.99 183.40
Q 194.21 184.33 193.80 185.34
A 2.19 2.18 10.5 0 1 191.80 186.71
Q 179.75 186.82 169.78 186.69
C 160.14 186.56 154.43 175.14 161.37 167.61
Q 164.71 163.99 169.65 163.91
Q 179.19 163.76 189.13 163.91
Q 191.84 163.95 191.93 166.66
Q 191.94 166.97 191.86 167.27
Q 191.35 169.27 189.28 169.28
Q 180.32 169.34 169.88 169.31
Z"
/>
<path fill="#5a4098" d="
M 239.36 179.43
Q 239.27 179.76 239.40 180.07
Q 239.89 181.23 241.15 181.24
Q 248.88 181.27 257.77 181.28
C 261.57 181.28 264.50 178.76 264.18 174.77
C 263.82 170.37 260.20 169.17 256.31 169.24
Q 246.67 169.42 238.63 169.27
A 2.23 2.19 63.9 0 1 237.30 168.80
Q 235.89 167.70 236.07 166.48
Q 236.47 163.84 239.14 163.86
Q 247.48 163.90 256.99 163.84
Q 266.81 163.77 269.33 172.59
C 271.33 179.60 265.65 186.55 258.38 186.68
Q 249.83 186.83 240.88 186.71
C 231.70 186.58 231.55 172.71 241.28 172.61
Q 249.51 172.53 258.50 172.60
A 2.28 2.26 -19.5 0 1 260.22 173.41
Q 261.07 174.42 260.99 175.41
Q 260.78 178.00 258.19 178.00
L 241.24 178.00
Q 239.75 178.00 239.36 179.43
Z"
/>
<path fill="#ffffff" d="
M 261.94 315.01
Q 237.82 314.82 212.16 315.04
Q 198.61 315.16 193.69 313.91
C 177.71 309.86 166.21 295.61 166.36 278.66
C 166.54 258.82 182.14 242.78 202.39 242.76
Q 220.89 242.74 240.57 242.73
Q 253.69 242.72 263.51 249.95
Q 279.96 262.05 279.91 282.70
Q 279.85 304.29 279.90 327.81
C 279.92 333.48 283.93 338.63 289.95 338.95
C 291.48 339.03 293.23 339.10 294.57 339.84
C 303.38 344.75 299.61 357.06 289.44 356.31
C 274.60 355.20 262.98 343.98 262.61 328.92
Q 262.46 322.59 262.59 315.68
Q 262.61 315.01 261.94 315.01
Z"
/>
</svg>

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0.00 0.00 428.00 423.00">
<path fill="#5a4098" d="
M 231.85 423.00
L 196.77 423.00
Q 135.79 417.45 87.61 381.38
C 19.31 330.25 -11.21 242.53 10.08 159.97
C 37.94 51.97 145.55 -15.72 254.99 5.80
C 338.33 22.19 403.84 87.23 420.84 170.47
C 438.10 254.97 402.42 340.57 330.95 388.44
Q 286.66 418.10 231.85 423.00
Z
M 150.07 227.51
Q 212.38 227.44 276.22 227.55
Q 288.41 227.57 295.77 226.30
Q 305.89 224.54 315.06 220.14
C 333.86 211.13 350.31 193.57 356.56 173.13
C 363.45 150.56 361.08 124.96 347.83 105.09
C 333.06 82.96 309.55 69.05 282.64 69.06
Q 242.10 69.07 201.50 68.97
Q 190.36 68.94 183.77 69.80
Q 156.51 73.34 135.83 94.33
Q 116.71 113.73 112.36 139.32
Q 111.25 145.90 111.25 159.24
Q 111.26 205.26 111.23 251.25
Q 111.22 259.87 109.99 263.61
C 106.93 272.96 97.99 279.52 88.07 279.65
C 81.96 279.73 77.07 281.59 72.84 286.28
C 62.25 298.06 70.56 317.68 86.25 317.94
Q 109.72 318.33 127.22 303.79
Q 149.30 285.44 149.49 255.99
Q 149.57 242.01 149.48 228.11
Q 149.48 227.51 150.07 227.51
Z
M 262.54 315.74
Q 262.54 321.76 262.51 327.29
C 262.41 343.62 274.23 355.65 290.36 356.34
C 302.04 356.84 302.74 339.23 290.81 338.93
C 284.12 338.77 279.85 333.82 279.90 327.28
Q 280.07 305.71 279.95 282.63
Q 279.83 260.36 261.46 248.51
Q 252.62 242.82 241.98 242.77
Q 222.95 242.69 202.68 242.72
C 184.83 242.75 170.18 254.90 166.90 272.04
C 164.93 282.35 167.50 293.45 174.40 301.70
Q 185.52 315.00 203.09 315.00
Q 232.87 315.00 261.78 314.98
Q 262.53 314.98 262.54 315.74
Z"
/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<vector
android:height="108dp"
android:width="108dp"
android:viewportHeight="108"
android:viewportWidth="108"
xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z"/>
<path android:fillColor="#00000000" android:pathData="M9,0L9,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,0L19,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,0L29,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,0L39,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,0L49,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,0L59,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,0L69,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,0L79,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M89,0L89,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M99,0L99,108"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,9L108,9"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,19L108,19"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,29L108,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,39L108,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,49L108,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,59L108,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,69L108,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,79L108,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,89L108,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M0,99L108,99"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,29L89,29"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,39L89,39"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,49L89,49"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,59L89,59"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,69L89,69"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M19,79L89,79"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M29,19L29,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M39,19L39,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M49,19L49,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M59,19L59,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M69,19L69,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
<path android:fillColor="#00000000" android:pathData="M79,19L79,89"
android:strokeColor="#33FFFFFF" android:strokeWidth="0.8"/>
</vector>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (c) 2025 Element Creations Ltd.
~ Copyright 2024 New Vector Ltd.
~
~ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
~ Please see LICENSE files in the repository root for full details.
-->
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background_enterprise"/>
<foreground android:drawable="@mipmap/ic_launcher_foreground_enterprise"/>
</adaptive-icon>

View File

@@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?><!--
~ Copyright (c) 2025 Element Creations Ltd.
~ Copyright 2024 New Vector Ltd.
~
~ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
~ Please see LICENSE files in the repository root for full details.
-->
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background_enterprise" />
<foreground android:drawable="@mipmap/ic_launcher_foreground_enterprise" />
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -24,7 +24,7 @@ import kotlinx.coroutines.sync.withLock
import timber.log.Timber import timber.log.Timber
import java.util.concurrent.ConcurrentHashMap import java.util.concurrent.ConcurrentHashMap
private const val SAVE_INSTANCE_KEY = "io.element.android.x.di.MatrixClientsHolder.SaveInstanceKey" private const val SAVE_INSTANCE_KEY = "id.databisnis.android.bchot.di.MatrixClientsHolder.SaveInstanceKey"
/** /**
* In-memory cache for logged in Matrix sessions. * In-memory cache for logged in Matrix sessions.

View File

@@ -21,7 +21,7 @@ import kotlinx.coroutines.flow.combine
import kotlinx.coroutines.flow.flow import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
private const val SAVE_INSTANCE_KEY = "io.element.android.x.RootNavStateFlowFactory.SAVE_INSTANCE_KEY" private const val SAVE_INSTANCE_KEY = "id.databisnis.android.bchot.RootNavStateFlowFactory.SAVE_INSTANCE_KEY"
/** /**
* This class is responsible for creating a flow of [RootNavState]. * This class is responsible for creating a flow of [RootNavState].

View File

@@ -13,7 +13,7 @@
# http://www.gradle.org/docs/current/userguide/build_environment.html # http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process. # Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings. # The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx4g -Dfile.encoding=UTF-8 -XX:+UseG1GC org.gradle.jvmargs=-Xmx8g -Dfile.encoding=UTF-8 -XX:+UseG1GC
# AndroidX package structure to make it clearer which packages are bundled with the # AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK # Android operating system, and which are packaged with your app"s APK

View File

@@ -13,8 +13,8 @@ import io.element.android.libraries.core.meta.BuildType
fun BuildMeta.isElement(): Boolean { fun BuildMeta.isElement(): Boolean {
return when (buildType) { return when (buildType) {
BuildType.RELEASE -> applicationId == "io.element.android.x" BuildType.RELEASE -> applicationId == "id.databisnis.android.bchot"
BuildType.NIGHTLY -> applicationId == "io.element.android.x.nightly" BuildType.NIGHTLY -> applicationId == "id.databisnis.android.bchot.nightly"
BuildType.DEBUG -> applicationId == "io.element.android.x.debug" BuildType.DEBUG -> applicationId == "id.databisnis.android.bchot.debug"
} }
} }

View File

@@ -52,7 +52,7 @@ data class NotifiableMessageEvent(
override val description: String = body ?: "" override val description: String = body ?: ""
// Example of value: // Example of value:
// content://io.element.android.x.debug.notifications.fileprovider/downloads/temp/notif/matrix.org/XGItzSDOnSyXjYtOPfiKexDJ // content://id.databisnis.android.bchot.debug.notifications.fileprovider/downloads/temp/notif/matrix.org/XGItzSDOnSyXjYtOPfiKexDJ
val imageUri: Uri? val imageUri: Uri?
get() = imageUriString?.toUri() get() = imageUriString?.toUri()
} }

View File

@@ -41,7 +41,7 @@ class UserPushStoreDataStore(
init { init {
// Migrate legacy data. Previous file can be too long if the userId is too long. The userId can be up to 255 chars. // Migrate legacy data. Previous file can be too long if the userId is too long. The userId can be up to 255 chars.
// Example of long file path, with `averylonguserid` replacing a very longer name // Example of long file path, with `averylonguserid` replacing a very longer name
// /data/user/0/io.element.android.x.debug/files/datastore/push_store_@averylonguserid:example.org.preferences_pb // /data/user/0/id.databisnis.android.bchot.debug/files/datastore/push_store_@averylonguserid:example.org.preferences_pb
val legacyFile = context.preferencesDataStoreFile("push_store_$userId") val legacyFile = context.preferencesDataStoreFile("push_store_$userId")
if (legacyFile.exists()) { if (legacyFile.exists()) {
Timber.d("Migrating legacy push data store for $userId") Timber.d("Migrating legacy push data store for $userId")

View File

@@ -9,8 +9,8 @@
package config package config
object BuildTimeConfig { object BuildTimeConfig {
const val APPLICATION_ID = "io.element.android.x" const val APPLICATION_ID = "id.databisnis.android.bchot"
const val APPLICATION_NAME = "Element X" const val APPLICATION_NAME = "bChot"
const val GOOGLE_APP_ID_RELEASE = "1:912726360885:android:d097de99a4c23d2700427c" const val GOOGLE_APP_ID_RELEASE = "1:912726360885:android:d097de99a4c23d2700427c"
const val GOOGLE_APP_ID_DEBUG = "1:912726360885:android:def0a4e454042e9b00427c" const val GOOGLE_APP_ID_DEBUG = "1:912726360885:android:def0a4e454042e9b00427c"
const val GOOGLE_APP_ID_NIGHTLY = "1:912726360885:android:e17435e0beb0303000427c" const val GOOGLE_APP_ID_NIGHTLY = "1:912726360885:android:e17435e0beb0303000427c"

View File

@@ -19,7 +19,7 @@ class KonsistContentTest {
Konsist Konsist
.scopeFromProduction() .scopeFromProduction()
.files .files
.withImportNamed("io.element.android.x.BuildConfig") .withImportNamed("id.databisnis.android.bchot.BuildConfig")
.assertFalse(additionalMessage = "Please do not use BuildConfig.VERSION_CODE, but use the versionCode from BuildMeta") { .assertFalse(additionalMessage = "Please do not use BuildConfig.VERSION_CODE, but use the versionCode from BuildMeta") {
it.text.contains("BuildConfig.VERSION_CODE") it.text.contains("BuildConfig.VERSION_CODE")
} }

View File

@@ -22,7 +22,7 @@ private val PACKAGE_TREES = arrayOf(
"io.element.android.services", "io.element.android.services",
"io.element.android.appicon", "io.element.android.appicon",
"io.element.android.appnav", "io.element.android.appnav",
"io.element.android.x", "id.databisnis.android.bchot",
) )
object ComposablePreviewProvider : TestParameterValuesProvider() { object ComposablePreviewProvider : TestParameterValuesProvider() {

View File

@@ -11,7 +11,7 @@
echo " => Standby OFF" echo " => Standby OFF"
set -x set -x
package_name="io.element.android.x.debug" package_name="id.databisnis.android.bchot.debug"
adb shell dumpsys battery reset adb shell dumpsys battery reset
adb shell am set-inactive "${package_name}" false adb shell am set-inactive "${package_name}" false
adb shell am get-inactive "${package_name}" adb shell am get-inactive "${package_name}"

View File

@@ -11,7 +11,7 @@
echo " => Standby ON" echo " => Standby ON"
set -x set -x
package_name="io.element.android.x.debug" package_name="id.databisnis.android.bchot.debug"
adb shell dumpsys battery unplug adb shell dumpsys battery unplug
adb shell am set-inactive "${package_name}" true adb shell am set-inactive "${package_name}" true
adb shell am get-inactive "${package_name}" adb shell am get-inactive "${package_name}"