Compare commits
45 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 857e016678 | |||
| cced1a34ce | |||
| d501255c6b | |||
|
|
2d676f27ee | ||
|
|
b913dacebf | ||
|
|
fb0d13dffb | ||
|
|
ec853d8bdc | ||
|
|
ef964c4531 | ||
|
|
956165c6c3 | ||
|
|
ff7a97347c | ||
|
|
a4505fc1bf | ||
|
|
207af66f25 | ||
|
|
cd9fcaf764 | ||
|
|
3a8cc6c1d3 | ||
|
|
9b42d2c36a | ||
|
|
41a8f28037 | ||
|
|
5f72b4c728 | ||
|
|
4ac1d78856 | ||
|
|
18d706878e | ||
|
|
16d66f3169 | ||
|
|
9bc203dea4 | ||
|
|
a2808f3e68 | ||
|
|
1d0966d8bf | ||
|
|
fb360508ff | ||
|
|
9b7171826c | ||
|
|
c390f54b69 | ||
|
|
88715cbf6d | ||
|
|
eb3244e047 | ||
|
|
c7e3ec8e8e | ||
|
|
2b22483741 | ||
|
|
22d6721d03 | ||
|
|
8f52977c73 | ||
|
|
becad732ef | ||
|
|
fe6aae23de | ||
|
|
8bd87998d6 | ||
|
|
26fcd91546 | ||
|
|
9a6c809b09 | ||
|
|
e6fd1d1e23 | ||
|
|
565cd84761 | ||
|
|
8a0a0216b4 | ||
|
|
613ce03f6d | ||
|
|
b2e0f8d717 | ||
|
|
c9ac523935 | ||
|
|
b7349c3d09 | ||
|
|
e274d28ba2 |
74
.gitignore
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
# Built application files
|
||||
*.apk
|
||||
*.ap_
|
||||
|
||||
# Built libraries
|
||||
#*.aar
|
||||
# *.so
|
||||
|
||||
# Files for the ART/Dalvik VM
|
||||
*.dex
|
||||
|
||||
# Java class files
|
||||
*.class
|
||||
|
||||
# Generated files
|
||||
bin/
|
||||
gen/
|
||||
out/
|
||||
target/
|
||||
|
||||
# Gradle files
|
||||
.gradle/
|
||||
build/
|
||||
|
||||
# Local configuration file (sdk path, etc)
|
||||
local.properties
|
||||
.DS_Store
|
||||
|
||||
# Proguard folder generated by Eclipse
|
||||
proguard/
|
||||
|
||||
# Log Files
|
||||
*.log
|
||||
|
||||
# Android Studio Navigation editor temp files
|
||||
.navigation/
|
||||
|
||||
# Android Studio captures folder
|
||||
captures/
|
||||
|
||||
# IntelliJ
|
||||
*.iml
|
||||
.idea
|
||||
|
||||
# Keystore files
|
||||
*.jks
|
||||
|
||||
# External native build folder generated in Android Studio 2.2 and later
|
||||
.externalNativeBuild
|
||||
|
||||
# Google Services (e.g. APIs or Firebase)
|
||||
|
||||
# allow our dummy file to live in the repo to make building easier
|
||||
#google-services.json
|
||||
|
||||
# Freeline
|
||||
freeline.py
|
||||
freeline/
|
||||
freeline_project_description.json
|
||||
|
||||
# fastlane
|
||||
fastlane/report.xml
|
||||
fastlane/Preview.html
|
||||
fastlane/screenshots
|
||||
fastlane/test_output
|
||||
fastlane/readme.md
|
||||
|
||||
# rust
|
||||
.cargo/
|
||||
|
||||
# misc.
|
||||
backup/
|
||||
.editorconfig
|
||||
external/
|
||||
47
README.md
@@ -1,5 +1,5 @@
|
||||
# hush-android-wallet
|
||||
A sample Android wallet using the [Hush Android SDK](https://git.hush.is/hush/hush-android-wallet-sdk) which is based on the [Zcash Android SDK](https://github.com/zcash/zcash-android-wallet-sdk).
|
||||
# SilentDragonXAndroid
|
||||
A sample Android wallet using the [DragonX Android SDK](https://git.hush.is/dragonx/dragonx-android-wallet-sdk) which is based on the [Zcash Android SDK](https://github.com/zcash/zcash-android-wallet-sdk).
|
||||
|
||||
### Motivation
|
||||
[Dogfooding](https://en.wikipedia.org/wiki/Eating_your_own_dog_food) - _transitive verb_ - is the practice of an organization using its own product. This app was created to help us learn.
|
||||
@@ -23,24 +23,39 @@ This a sample wallet for the following set of features:
|
||||
- reply-to formatted memos
|
||||
|
||||
# Prerequisites
|
||||
- [The code](https://git.hush.is/hush/hush-android-wallet)
|
||||
- [Android Studio](https://developer.android.com/studio/index.html) or [adb](https://www.xda-developers.com/what-is-adb/)
|
||||
- [The app code](https://git.hush.is/dragonx/SilentDragonXAndroid)
|
||||
- [The SDK code](https://git.hush.is/dragonx/dragonx-android-wallet-sdk)
|
||||
- [Android Studio](https://developer.android.com/studio/index.html) last tested with Android Studio Dolphin | 2021.3.1 Patch 1 or [adb](https://www.xda-developers.com/what-is-adb/)
|
||||
- An Android device or emulator. Android 10 or higher is recommended.
|
||||
|
||||
# Building the App
|
||||
To run, clone the repo, open it in Android Studio and press play. It should just work.™
|
||||
1. Clone the SDK:
|
||||
```git clone https://git.hush.is/dragonx/dragonx-android-wallet-sdk.git```
|
||||
2. Add any new checkpoints to the SDK - Checkpoints are located in ```dragonx-android-wallet-sdk\sdk-lib\src\main\assets\co.electriccoin.zcash\checkpoint\mainnet``` You may use the [sda_checkpoints.pl](https://git.hush.is/hush/hush3/src/branch/dev/contrib/sda_checkpoints.pl) script and modify the start and end block heights accordingly.
|
||||
|
||||
By default, this script will generate many checkpoints in a single file IE: ```./contrib/sda_checkpoints.pl > newcheckpoints.json```. You may then copy/paste to individual .json files named as the block height the checkpoint is for or modify this script to save individual .json files for each block height.
|
||||
3. Compile and publish the SDK locally as the app's code currently relies on mavenLocal for the SDK.
|
||||
```
|
||||
./gradlew clean
|
||||
./gradlew build
|
||||
./gradlew build publishToMavenLocal
|
||||
```
|
||||
4. Clone the app repo:
|
||||
```git clone https://git.hush.is/dragonx/SilentDragonXAndroid```
|
||||
5. Open the app in Android Studio and press play to install and run on connected device. It should just work.™
|
||||
6. If you want to build APKs instead of installing on a device or emulator, select Build > Build Bundle(s) / APK(s) > Build APK(s)
|
||||
|
||||
## Install from Android Studio
|
||||
1. [Install Android Studio](https://developer.android.com/studio/install) and setup an emulator
|
||||
1a. If using a device, be sure to [put it in developer mode](https://developer.android.com/studio/debug/dev-options) to enable side-loading apps
|
||||
2. `Import` the hush-android-wallet folder.
|
||||
2. `Import` the SilentDragonXAndroid folder.
|
||||
It will be recognized as an Android project.
|
||||
3. Press play (once it is done opening and indexing)
|
||||
|
||||
## OR Install from the command line
|
||||
To build from the command line, [setup ADB](https://www.xda-developers.com/install-adb-windows-macos-linux/) and connect your device. Then simply run this and it will both build and install the app:
|
||||
```bash
|
||||
cd /path/to/hush-android-wallet
|
||||
cd /path/to/SilentDragonXAndroid
|
||||
./gradlew
|
||||
```
|
||||
Note: The lack of an explicit Gradle task is not a typo. A default task is configured via [build.gradle.kts](build.gradle.kts).
|
||||
@@ -49,20 +64,20 @@ Tip: On macOS and Linux, Gradle is invoked with `./gradlew`. On Windows, Gradle
|
||||
|
||||
|
||||
# Included builds
|
||||
To simplify implementation of SDK features in conjunction with changes to the app, a Gradle [Included Build](https://docs.gradle.org/current/userguide/composite_builds.html) can be configured.
|
||||
These notes are included from upstream and for reference only if looking to create an included build. To simplify implementation of SDK features in conjunction with changes to the app, a Gradle [Included Build](https://docs.gradle.org/current/userguide/composite_builds.html) can be configured.
|
||||
|
||||
1. Check out the SDK to a directory path of `../hush-android-sdk` relative to the root of this app's repo. For example:
|
||||
1. Check out the SDK to a directory path of `../dragonx-android-wallet-sdk` relative to the root of this app's repo. For example:
|
||||
|
||||
parent/
|
||||
hush-android-wallet/
|
||||
hush-android-sdk/
|
||||
SilentDragonXAndroid/
|
||||
dragonx-android-wallet-sdk/
|
||||
|
||||
1. Verify that the `hush-android-sdk` builds correctly on its own
|
||||
1. Build `hush-android-wallet`, setting the Gradle property `IS_SDK_INCLUDED_BUILD=true`
|
||||
1. Verify that the `dragonx-android-wallet-sdk` builds correctly on its own
|
||||
1. Build `SilentDragonXAndroid`, setting the Gradle property `IS_SDK_INCLUDED_BUILD=true`
|
||||
|
||||
There are some limitations of included builds:
|
||||
1. Properties from `hush-android-wallet` will override those set in `hush-android-sdk` with the same name
|
||||
1. Modules in each project cannot share the same name. For this reason, build-conventions have different names in each repo (`hush-android-sdk/build-conventions` vs `other-android-wallet/build-convention`)
|
||||
1. Properties from `SilentDragonXAndroid` will override those set in `dragonx-android-wallet-sdk` with the same name
|
||||
1. Modules in each project cannot share the same name. For this reason, build-conventions have different names in each repo (`dragonx-android-wallet-sdk/build-conventions` vs `other-android-wallet/build-convention`)
|
||||
1. Kotlin and KSP versions will need to be coordinated between the two projects, because KSP is tightly coupled to the Kotlin version
|
||||
|
||||
# Contributing
|
||||
@@ -75,7 +90,7 @@ Contact us on [Telegram](https://hush.is/tg) or [Matrix](https://hush.is/matrix)
|
||||
|
||||
# Copyright
|
||||
|
||||
Copyright 2016-2022 The Hush developers
|
||||
Copyright 2016-2023 The Hush developers
|
||||
|
||||
# License
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ apply plugin: 'kotlin-kapt'
|
||||
apply plugin: "androidx.navigation.safeargs.kotlin"
|
||||
apply plugin: 'com.github.ben-manes.versions'
|
||||
|
||||
archivesBaseName = 'hush-android-wallet'
|
||||
group = 'hush.android'
|
||||
archivesBaseName = 'dragonx-android-wallet'
|
||||
group = 'dragonx.android'
|
||||
version = Deps.versionName
|
||||
|
||||
android {
|
||||
@@ -30,6 +30,14 @@ android {
|
||||
// per https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.VectorDrawablesOptions.html: If set to an empty collection, all special handling of vector drawables will be disabled.
|
||||
vectorDrawables.generatedDensities = []
|
||||
}
|
||||
splits {
|
||||
abi {
|
||||
enable true
|
||||
reset()
|
||||
universalApk true
|
||||
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
|
||||
}
|
||||
}
|
||||
buildFeatures {
|
||||
viewBinding true
|
||||
}
|
||||
@@ -39,13 +47,13 @@ android {
|
||||
zcashtestnet {
|
||||
dimension 'network'
|
||||
applicationId 'cash.z.ecc.android.testnet'
|
||||
buildConfigField "String", "DEFAULT_SERVER_URL", '"lite2.hushpool.is"'
|
||||
buildConfigField "String", "DEFAULT_SERVER_URL", '"lite.dragonx.is"'
|
||||
matchingFallbacks = ['zcashtestnet', 'debug']
|
||||
}
|
||||
|
||||
zcashmainnet {
|
||||
dimension 'network'
|
||||
buildConfigField "String", "DEFAULT_SERVER_URL", '"lite2.hushpool.is"'
|
||||
buildConfigField "String", "DEFAULT_SERVER_URL", '"lite.dragonx.is"'
|
||||
matchingFallbacks = ['zcashmainnet', 'release']
|
||||
}
|
||||
}
|
||||
@@ -68,6 +76,7 @@ android {
|
||||
minifyEnabled false
|
||||
shrinkResources false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
signingConfig signingConfigs.placeholder
|
||||
}
|
||||
// builds for testing only in the wallet team, typically unfinished features
|
||||
// this flavor can be installed alongside the others
|
||||
@@ -110,11 +119,8 @@ android {
|
||||
}
|
||||
namespace 'cash.z.ecc.android'
|
||||
applicationVariants.all { variant ->
|
||||
variant.outputs.all {
|
||||
if (variant.buildType.name == "qa") {
|
||||
it.versionNameOverride = "${Deps.versionName}-QA"
|
||||
}
|
||||
outputFileName = "$archivesBaseName-v${Deps.versionName}-${variant.buildType.name}.apk"
|
||||
variant.outputs.all { output ->
|
||||
outputFileName = "$archivesBaseName-v${Deps.versionName}-${variant.buildType.name}-${output.getFilter("ABI")}.apk"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -144,7 +150,7 @@ dependencies {
|
||||
implementation Deps.AndroidX.PAGING
|
||||
implementation Deps.AndroidX.RECYCLER
|
||||
|
||||
def camerax_version = "1.2.0-rc01"
|
||||
def camerax_version = "1.1.0"
|
||||
implementation "androidx.camera:camera-core:${camerax_version}"
|
||||
implementation "androidx.camera:camera-camera2:${camerax_version}"
|
||||
implementation "androidx.camera:camera-lifecycle:${camerax_version}"
|
||||
@@ -175,7 +181,10 @@ dependencies {
|
||||
|
||||
// Misc.
|
||||
implementation Deps.Misc.LOTTIE
|
||||
implementation Deps.Misc.CHIPS
|
||||
implementation Deps.Misc.CHIPS, {
|
||||
exclude module: 'ChipsLayoutManager'
|
||||
}
|
||||
implementation 'com.github.BelooS:ChipsLayoutManager:v0.3.7'
|
||||
implementation Deps.Misc.Plugins.QR_SCANNER
|
||||
|
||||
// Tests
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"network": "main",
|
||||
"height": 1225600,
|
||||
"hash": "0000000000196bafb2472eb7a3b1aa85bccc00904d5650a7952dd437859fc38c",
|
||||
"time": 1619215931,
|
||||
"tree": "0128411e8cb2f543c46ca943736c96ab4fa86cab1e3e2e394ed458d56b395bd5050120303bbaf4f19e37a06c1e9ea815567fc23990cc65494c2be29f8e6e4a9d9a6c130001010e9388fdf9bf49e3adf4adb57d83e0b5ba34f63a2681eceb54d3aaaf236b210001c0920d177f77815c4f643c2b331bd6b86d291d6bc2c1c20f6bc501f49adcdb3b000001b7958828206f53c25465943d4173af16de3cee94ae01b2e17a32c51c06fde3630001b31ed2e29d0d894604f0d7bf4735d4bcf25dc9f859c5e296a5689af7ca8c94720134ca9a7c4309349dfe003f3b4b95898b4303631e9be3a25b4e917a4f3472b52f00000121c25bceccda091622bfac1b7973ffaa638abe1f334b3b56f48dc93dc549c9070001ece344ca21dbd3b681f167163d4792165efe8239390afc13378e50d044fee65a01089a1f9d50a037cc66aba4400b1703bcbb66f5f2993fd0dd3bb726e35940916700000118f64df255c9c43db708255e7bf6bffd481e5c2f38fe9ed8f3d189f7f9cf2644"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"network": "main",
|
||||
"height": 1250000,
|
||||
"hash": "0000000000f3d2c352c395d66866032bcb67094228dd4a27e561b1c399ea612e",
|
||||
"time": 1621056898,
|
||||
"tree": "01c9a0dd6f6dfaaafe6ae4b432c2d1c41d2a73e564c8cb6d2c5ab637c7001a2456001300000000017da32b486a8ea9f13afb93b99d2b1de69aa969e7c2fd7b9ee958bece70c08d6b000001b3a4486b176dfcedc0b3d9287c0333ff464ecbd02bac7c89bcda7932e6a0a36100010d451c18b56877b8a11cb401ab7024c82b9669ede862a53e461087f57220035001a1c5260bc4dfe010510b8135209c6f64229965f71717f1e693abdcf88a58f36700012f0bf70e372e536fc3b76ecd7e2b69eebf2fbcf71b828c64b0a8b99390fbf754018e7922ca798cd3e26d3369ca2425ec19baa7d79407a979ec1090ae48fdcd094a01ece344ca21dbd3b681f167163d4792165efe8239390afc13378e50d044fee65a01089a1f9d50a037cc66aba4400b1703bcbb66f5f2993fd0dd3bb726e35940916700000118f64df255c9c43db708255e7bf6bffd481e5c2f38fe9ed8f3d189f7f9cf2644"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"network": "main",
|
||||
"height": 1290000,
|
||||
"hash": "00000000014836c3cbc011276cbd3702a76a1fea7eb2c0c2c257321220376450",
|
||||
"time": 1624075741,
|
||||
"tree": "01accf4fc3dc4233bbe757f94e0d4cd23b4aa2e6ac472601f4f53ca4dc86a8a05901fae977171a6103a0338990e073ffe50e29fc8bf0400dcd3378ebfe7a146ed1481300014f7b33dd5159ac66f2670b7db8925065e7154e0199ff7ee7559b276ba56ad1200173e9881f21357e54027a4275114f0f6ad4ca17143554182f63c77f3288a23a20011d65465ab942440e200d429ef892452b4b05c5b21e9a6e6d968a719c67b5e85b000000000000000150926c74975e2d8ff095defb75a4a6d9f17007e87a74230a65a3265d8f45032900012ffde6dccbef68b60cd7b4e7a8fe7989f5954fa4bacad01b247d16b9bfa5084000000125911f4524469c00ccb1ba69e64f0ee7380c8d17bbfc76ecd238421b86eb6e09000118f64df255c9c43db708255e7bf6bffd481e5c2f38fe9ed8f3d189f7f9cf2644"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"network": "main",
|
||||
"height": 1300000,
|
||||
"hash": "00000000027222bdbcf9c5f807f851f97312ac6e0dbbc2b93f2be21a69c59d44",
|
||||
"time": 1624830312,
|
||||
"tree": "01f5a97e2679a2bb9103caf37b825f92fcd73fff836234844dfcf1815394522b2c01526587b9b9e8aeb0eb572d81fec1f5127b8278ba0f57e451bd6b796596940a2213000131c7ff90fafff6159b8fb6544a2bcbba6c102903158fce8f9a9d3c6654abb23300013555cb7f4f79badeaca9bf2dca5a8704f0929053d50e95c03002f9a4d5286c3a01ad3557e11c1607ec888dc84f5f8899c3c79fb1f50b613946452ec7dd5e53763c0001c4583f4482b949390dba355fc8fa63019c83acd644ddd633cb50211d236f870600000001088da0d78eefd0c222507927e403b972d0890d0c31e08b02268fbe39ac4a6e170001edf82d4e2b4893ea2028ca8c5149e50a4c358b856d73f2de2b9a22034fa78f22012ffde6dccbef68b60cd7b4e7a8fe7989f5954fa4bacad01b247d16b9bfa5084000000125911f4524469c00ccb1ba69e64f0ee7380c8d17bbfc76ecd238421b86eb6e09000118f64df255c9c43db708255e7bf6bffd481e5c2f38fe9ed8f3d189f7f9cf2644"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"network": "main",
|
||||
"height": 1335000,
|
||||
"hash": "00000000001d428474214f2844ac7adacab9c9b706f89ebb24e1e43189edff2d",
|
||||
"time": 1627468889,
|
||||
"tree": "01105d94f868041b1680f862dad6211ab815a30c79a63b839c2b2043ce6530834801e53ee3fef11ddfaef984c8653dffa0354929b79aad7321b00c10cb3b60c8b7111301f5693ff9b17a8fc0b032c192841d1fc08b7ec9fe4fcc2b628a550434af70886a01838a7001b5ed5dcdec7bce1ea4250bbeebe8c22aa27fd69e7baf343458e95c7101030f11dfda75a9e4a63bab19fe3bf92c545a3f58a57ca41ae7609290dad01436018923004af490f5718e834215ef61f2f60aee24685c1c2cffb3c686dff57ab82501eb86680f83fa0f9c47da3875645344a2734d56edcf1d99747ecbf25ea0e86e22000001cf6872911593b4f1af2fd03dce8a48d434af849ad1bc872442e7881bbc04e8610168fbde909e21c25e1a686fac9982ee11fb0d05da3568579bfba8b71f7632d62700012965494015cdab2ce010c1ae4ea88306c286128275de391dcf57d3fa85be7e1b01a090ee174239a34a5d684425d09006d238c6075a61c5842d0fc26043f09ccd7001a2b7ee187c7b8ce18ebda8600bed7695b12f7d35ac971ed6ee67184a7ceebd490001b35fe4a943a47404f68db220c77b0573e13c3378a65c6f2396f93be7609d8f2a000125911f4524469c00ccb1ba69e64f0ee7380c8d17bbfc76ecd238421b86eb6e09000118f64df255c9c43db708255e7bf6bffd481e5c2f38fe9ed8f3d189f7f9cf2644"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"network": "test",
|
||||
"height": 1380300,
|
||||
"hash": "00342c648fb9c5d109df4dd5b7849a4357f27f1dfdb8d3a0071e8254072d1a4a",
|
||||
"time": 1619216615,
|
||||
"tree": "01f5b47ef533c9b6240826210d7e66691f36b21ac1ce1e4a231399ff4f8b1286600198dc26bbe8f037c5dbd8a43e94c482bb513898bd1ee1a734c07c57450b9ec01b1000000001b18e52aa826dcf85a08ae15d1bb4c8559166fcd5cffd74b597a8b50bf32d311100018dc0c02e20384fcdc238a6c01a0e4598da69f546646acc177fd91b86a0f8236200000001ba0d7aa9e68417291c63b835fa64114f5899208238de59ee360f594c8b6c1b72018469338dcbdf2f7e54bca5bc3e1c5fad4a656f206040436d3d0433a901218b5e016d559de7a1a382349cf97fe01a2fba41a49bb5e3b306d9ff8c2bcc301c731c00000001f08f39275112dd8905b854170b7f247cf2df18454d4fa94e6e4f9320cca05f24011f8322ef806eb2430dc4a7a41c1b344bea5be946efc7b4349c1c9edb14ff9d39"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"network": "test",
|
||||
"height": 1450000,
|
||||
"hash": "000008a97bc133de13ca304e0c6a2a1b3f2facdceac2cde5b4141179f2a743cc",
|
||||
"time": 1623815069,
|
||||
"tree": "0175626cf9d8448de98f68fcc585dd7a276c946c11bbc3b192ee08db99c542b86b01acf5a110dc7ab911b534984c46bf56592f0c4cc8cf70dbd6a9cc4a5b47d2c81c1001c91f518ccb74093a217a640c537b69b095de058e0430046c8783f231caa1fa4201f7c982ce76b2c9343fb771e077357322f9a7dabfd7ab93b7adee32806c930d6600000170910ab6355ec614412fae56dad5fdc1747ce1b306a4b8ae03b77513b612b00800000000000000013d2fd009bf8a22d68f720eac19c411c99014ed9c5f85d5942e15d1fc039e28680001f08f39275112dd8905b854170b7f247cf2df18454d4fa94e6e4f9320cca05f24011f8322ef806eb2430dc4a7a41c1b344bea5be946efc7b4349c1c9edb14ff9d39"
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"network": "test",
|
||||
"height": 1454000,
|
||||
"hash": "003254b452f221d36ba81d051a1a63edeb203de7ab457500d08b4110bcc86620",
|
||||
"time": 1624073536,
|
||||
"tree": "01007501338f9d31446b9c0228b87e81886555100fbb1b5bec7966617559d5400901d830393653a5379f1f071bffa191f9b56d0664859d9b19b9e9ae4e1c76f7d34f1001ca92ad0eeb818c3bb57ca30ed500dd58703fe14c4837f14ac8a1491622f0a8550001a1d6a89c888e46ce950d5af54739e9847fab81f383586ad5dc51dd00f65ed85d0160f01e9c484861b220f5a4650119f192217a89854ada30019fae9ab46ff4c4120001462c8d06a58ddec91ed309dcb041cdedcca73446889496332054d54e1561633b000000000000013d2fd009bf8a22d68f720eac19c411c99014ed9c5f85d5942e15d1fc039e28680001f08f39275112dd8905b854170b7f247cf2df18454d4fa94e6e4f9320cca05f24011f8322ef806eb2430dc4a7a41c1b344bea5be946efc7b4349c1c9edb14ff9d39"
|
||||
}
|
||||
BIN
app/src/main/ic_launcher-playstore.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
@@ -55,7 +55,13 @@ class ZcashWalletApp : Application(), CameraXConfig.Provider {
|
||||
// reported by the crash reporting.
|
||||
if (BuildConfig.DEBUG) {
|
||||
StrictModeHelper.enableStrictMode()
|
||||
cash.z.ecc.android.sdk.internal.Twig.enabled(true)
|
||||
}
|
||||
if (BuildConfig.DEBUG) {
|
||||
cash.z.ecc.android.sdk.internal.Twig.plant(
|
||||
cash.z.ecc.android.sdk.internal.TroubleshootingTwig(
|
||||
printer = { android.util.Log.d("@TWIG", it); Unit }
|
||||
)
|
||||
)
|
||||
cash.z.ecc.android.util.Twig.enabled(true)
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,11 @@ import cash.z.ecc.android.ZcashWalletApp
|
||||
import cash.z.ecc.android.ext.Const
|
||||
import cash.z.ecc.android.feedback.*
|
||||
import cash.z.ecc.android.lockbox.LockBox
|
||||
import cash.z.ecc.android.sdk.Initializer
|
||||
import cash.z.ecc.android.sdk.Synchronizer
|
||||
import cash.z.ecc.android.sdk.model.BlockHeight
|
||||
import cash.z.ecc.android.sdk.model.LightWalletEndpoint
|
||||
import cash.z.ecc.android.sdk.type.UnifiedViewingKey
|
||||
import cash.z.ecc.android.ui.util.DebugFileTwig
|
||||
import cash.z.ecc.android.util.SilentTwig
|
||||
import cash.z.ecc.android.util.Twig
|
||||
@@ -18,7 +22,46 @@ object DependenciesHolder {
|
||||
|
||||
val initializerComponent by lazy { InitializerComponent() }
|
||||
|
||||
val synchronizer by lazy { Synchronizer.newBlocking(initializerComponent.initializer) }
|
||||
private var _synchronizer: Synchronizer? = null
|
||||
val synchronizer: Synchronizer
|
||||
get() {
|
||||
if (_synchronizer == null) {
|
||||
_synchronizer = Synchronizer.newBlocking(initializerComponent.initializer)
|
||||
}
|
||||
return _synchronizer!!
|
||||
}
|
||||
|
||||
/**
|
||||
* Stop the current synchronizer and reinitialize with the server
|
||||
* currently saved in preferences, so a new synchronizer will be
|
||||
* created on next access pointing to the new server.
|
||||
*/
|
||||
fun resetSynchronizer() {
|
||||
_synchronizer?.let {
|
||||
try {
|
||||
it.stop()
|
||||
} catch (e: Exception) {
|
||||
// Ignore errors during teardown
|
||||
}
|
||||
_synchronizer = null
|
||||
}
|
||||
// Rebuild the initializer with the new server from prefs
|
||||
val host = prefs[Const.Pref.SERVER_HOST] ?: Const.Default.Server.HOST
|
||||
val port = prefs[Const.Pref.SERVER_PORT] ?: Const.Default.Server.PORT
|
||||
val network = ZcashWalletApp.instance.defaultNetwork
|
||||
val extfvk = lockBox.getCharsUtf8(Const.Backup.VIEWING_KEY)
|
||||
val extpub = lockBox.getCharsUtf8(Const.Backup.PUBLIC_KEY)
|
||||
// Load the stored birthday so the processor uses the correct scan start height
|
||||
val birthdayHeight: BlockHeight? = lockBox.get<Int>(Const.Backup.BIRTHDAY_HEIGHT)?.let {
|
||||
BlockHeight.new(network, it.toLong())
|
||||
}
|
||||
if (extfvk != null && extpub != null) {
|
||||
val vk = UnifiedViewingKey(extfvk = String(extfvk), extpub = String(extpub))
|
||||
initializerComponent.createInitializer(Initializer.Config {
|
||||
it.importWallet(vk, birthdayHeight, network, LightWalletEndpoint(host, port, true))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
val clipboardManager by lazy { provideAppContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager }
|
||||
|
||||
@@ -36,9 +79,5 @@ object DependenciesHolder {
|
||||
}
|
||||
}
|
||||
|
||||
val feedbackFile by lazy { FeedbackFile() }
|
||||
|
||||
val feedbackConsole by lazy { FeedbackConsole() }
|
||||
|
||||
val mnemonics by lazy { Mnemonics() }
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package cash.z.ecc.android.ext
|
||||
|
||||
import cash.z.ecc.android.BuildConfig
|
||||
import kotlin.random.Random
|
||||
|
||||
object Const {
|
||||
/**
|
||||
@@ -22,6 +23,7 @@ object Const {
|
||||
const val FEEDBACK_ENABLED = "const.pref.feedback_enabled"
|
||||
const val SERVER_HOST = "const.pref.server_host"
|
||||
const val SERVER_PORT = "const.pref.server_port"
|
||||
const val STREET_MODE = "const.pref.street_mode"
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -45,8 +47,19 @@ object Const {
|
||||
*/
|
||||
object Default {
|
||||
object Server {
|
||||
// If you've forked the ECC repo, change this to your hosted lightwalletd instance
|
||||
const val HOST = BuildConfig.DEFAULT_SERVER_URL
|
||||
// Select a random server from list
|
||||
val serverList = listOf(
|
||||
"lite.dragonx.is",
|
||||
"lite1.dragonx.is",
|
||||
"lite2.dragonx.is",
|
||||
"lite3.dragonx.is",
|
||||
"lite4.dragonx.is",
|
||||
"lite5.dragonx.is"
|
||||
)
|
||||
private val randomIndex = Random.nextInt(serverList.size);
|
||||
private val randomServer = serverList[randomIndex]
|
||||
|
||||
val HOST = randomServer
|
||||
const val PORT = 443
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,10 +4,22 @@ import android.app.ActivityManager
|
||||
import android.app.Dialog
|
||||
import android.content.Context
|
||||
import android.text.Html
|
||||
import android.util.Log
|
||||
import android.widget.ArrayAdapter
|
||||
import android.widget.ListView
|
||||
import android.widget.TextView
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.core.content.getSystemService
|
||||
import cash.z.ecc.android.R
|
||||
import cash.z.ecc.android.feedback.Report
|
||||
import cash.z.ecc.android.ui.MainActivity
|
||||
import cash.z.ecc.android.ui.scan.ScanFragment
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import kotlinx.coroutines.*
|
||||
import java.net.InetSocketAddress
|
||||
import java.net.Socket
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
fun Context.showClearDataConfirmation(onDismiss: () -> Unit = {}, onCancel: () -> Unit = {}): Dialog {
|
||||
return MaterialAlertDialogBuilder(this)
|
||||
@@ -88,6 +100,18 @@ fun Context.showCriticalMessage(@StringRes titleResId: Int, @StringRes messageRe
|
||||
}
|
||||
|
||||
fun Context.showCriticalMessage(title: String, message: String, onDismiss: () -> Unit = {}): Dialog {
|
||||
Log.d("SilentDragon", "showCriticalMessage called: $message")
|
||||
|
||||
var delimiter = ":"
|
||||
val splitError = message.split(delimiter)
|
||||
var pluckedError = splitError[0]
|
||||
|
||||
if(pluckedError == "UNAVAILABLE" || pluckedError == "DEADLINE_EXCEEDED"){
|
||||
return showServerPickerDialog(onServerSelected = { host ->
|
||||
// Do NOT call onDismiss() here — it throws the original error
|
||||
})
|
||||
}
|
||||
|
||||
return MaterialAlertDialogBuilder(this)
|
||||
.setTitle(title)
|
||||
.setMessage(message)
|
||||
@@ -190,3 +214,91 @@ fun Context.showSharedLibraryCriticalError(e: Throwable): Dialog = showCriticalM
|
||||
messageResId = R.string.dialog_error_critical_link_message,
|
||||
onDismiss = { throw e }
|
||||
)
|
||||
|
||||
fun Context.showReorgRepairDialog(onDismiss: () -> Unit = {}): Dialog {
|
||||
return MaterialAlertDialogBuilder(this)
|
||||
.setTitle("Incompatible Block Data")
|
||||
.setMessage(
|
||||
"The wallet contains block data from an old or incompatible chain. " +
|
||||
"This prevents syncing.\n\n" +
|
||||
"Would you like to clear the old data and sync fresh from the network?\n" +
|
||||
"(Your wallet keys and addresses will be preserved)"
|
||||
)
|
||||
.setCancelable(false)
|
||||
.setPositiveButton("Clear & Resync") { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
onDismiss()
|
||||
getSystemService<ActivityManager>()?.clearApplicationUserData()
|
||||
}
|
||||
.setNegativeButton("Cancel") { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
onDismiss()
|
||||
}
|
||||
.show()
|
||||
}
|
||||
|
||||
fun Context.showServerPickerDialog(onServerSelected: (String) -> Unit = {}): Dialog {
|
||||
val servers = Const.Default.Server.serverList
|
||||
val port = Const.Default.Server.PORT
|
||||
// Display names start as "Checking..." and get updated
|
||||
val displayItems = servers.map { "$it — checking..." }.toMutableList()
|
||||
|
||||
val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, displayItems)
|
||||
|
||||
val listView = ListView(this).apply {
|
||||
this.adapter = adapter
|
||||
setPadding(32, 16, 32, 16)
|
||||
}
|
||||
|
||||
val dialog = MaterialAlertDialogBuilder(this)
|
||||
.setTitle("Select a Server")
|
||||
.setMessage("The current server is unavailable. Choose a server to connect to:")
|
||||
.setView(listView)
|
||||
.setCancelable(false)
|
||||
.setNegativeButton("Exit") { d, _ ->
|
||||
d.dismiss()
|
||||
exitProcess(0)
|
||||
}
|
||||
.show()
|
||||
|
||||
// Check each server's connectivity in the background
|
||||
val scope = CoroutineScope(Dispatchers.IO + SupervisorJob())
|
||||
servers.forEachIndexed { index, host ->
|
||||
scope.launch {
|
||||
val online = try {
|
||||
Socket().use { socket ->
|
||||
socket.connect(InetSocketAddress(host, port), 5000)
|
||||
true
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
false
|
||||
}
|
||||
withContext(Dispatchers.Main) {
|
||||
displayItems[index] = if (online) "✓ $host" else "✗ $host (offline)"
|
||||
adapter.notifyDataSetChanged()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
listView.setOnItemClickListener { _, _, position, _ ->
|
||||
val host = servers[position]
|
||||
// Save selected server to preferences
|
||||
val prefs = cash.z.ecc.android.di.DependenciesHolder.prefs
|
||||
prefs[Const.Pref.SERVER_HOST] = host
|
||||
prefs[Const.Pref.SERVER_PORT] = port
|
||||
dialog.dismiss()
|
||||
scope.cancel()
|
||||
onServerSelected(host)
|
||||
// Reconnect with the new server without restarting
|
||||
(this as? MainActivity)?.let { activity ->
|
||||
try {
|
||||
cash.z.ecc.android.di.DependenciesHolder.resetSynchronizer()
|
||||
activity.startSync(isRestart = true)
|
||||
} catch (e: Exception) {
|
||||
android.util.Log.e("SilentDragon", "Error reconnecting after server change", e)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return dialog
|
||||
}
|
||||
|
||||
@@ -232,6 +232,12 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) {
|
||||
|
||||
synchronizer.start(lifecycleScope)
|
||||
mainViewModel.setSyncReady(true)
|
||||
|
||||
// When restarting (e.g. after server switch), the HomeFragment's
|
||||
// flow is still bound to the old synchronizer. Signal it to rebind.
|
||||
if (isRestart) {
|
||||
mainViewModel.syncRestarted.value = true
|
||||
}
|
||||
}
|
||||
} else {
|
||||
twig("Ignoring request to start sync because sync has already been started!")
|
||||
@@ -528,6 +534,7 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) {
|
||||
|
||||
// TODO: clean up this error handling
|
||||
private var ignoredErrors = 0
|
||||
private var reorgCount = 0
|
||||
private fun onProcessorError(error: Throwable?): Boolean {
|
||||
var notified = false
|
||||
when (error) {
|
||||
@@ -553,6 +560,33 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) {
|
||||
}
|
||||
}
|
||||
}
|
||||
is CompactBlockProcessorException.FailedReorgRepair -> {
|
||||
if (dialog == null) {
|
||||
notified = true
|
||||
runOnUiThread {
|
||||
dialog = showReorgRepairDialog {
|
||||
dialog = null
|
||||
}
|
||||
}
|
||||
}
|
||||
return false // stop retrying
|
||||
}
|
||||
}
|
||||
// Handle gRPC connectivity errors (DEADLINE_EXCEEDED, UNAVAILABLE) by showing server picker
|
||||
if (!notified && error is io.grpc.StatusRuntimeException) {
|
||||
val code = (error as io.grpc.StatusRuntimeException).status.code
|
||||
if (code == io.grpc.Status.Code.DEADLINE_EXCEEDED || code == io.grpc.Status.Code.UNAVAILABLE) {
|
||||
if (dialog == null) {
|
||||
notified = true
|
||||
runOnUiThread {
|
||||
dialog = showServerPickerDialog { host ->
|
||||
dialog = null
|
||||
ignoredErrors = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
if (!notified) {
|
||||
ignoredErrors++
|
||||
@@ -573,6 +607,8 @@ class MainActivity : AppCompatActivity(R.layout.main_activity) {
|
||||
}
|
||||
|
||||
private fun onChainError(errorHeight: BlockHeight, rewindHeight: BlockHeight) {
|
||||
reorgCount++
|
||||
twig("Chain reorg detected (#$reorgCount): error at $errorHeight, rewinding to $rewindHeight")
|
||||
feedback.report(Reorg(errorHeight, rewindHeight))
|
||||
}
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import kotlinx.coroutines.flow.asStateFlow
|
||||
class MainViewModel : ViewModel() {
|
||||
private val _loadingMessage = MutableStateFlow<String?>("\u23F3 Loading...")
|
||||
private val _syncReady = MutableStateFlow(false)
|
||||
val syncRestarted = MutableStateFlow(false)
|
||||
val loadingMessage: StateFlow<String?> get() = _loadingMessage
|
||||
val isLoading get() = loadingMessage.value != null
|
||||
|
||||
|
||||
@@ -15,6 +15,8 @@ import cash.z.ecc.android.R
|
||||
import cash.z.ecc.android.ZcashWalletApp
|
||||
import cash.z.ecc.android.databinding.DialogSolicitFeedbackRatingBinding
|
||||
import cash.z.ecc.android.databinding.FragmentHomeBinding
|
||||
import cash.z.ecc.android.di.DependenciesHolder
|
||||
import cash.z.ecc.android.di.DependenciesHolder.lockBox
|
||||
import cash.z.ecc.android.ext.*
|
||||
import cash.z.ecc.android.feedback.Report
|
||||
import cash.z.ecc.android.feedback.Report.Tap.*
|
||||
@@ -36,11 +38,14 @@ import cash.z.ecc.android.util.twig
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.flow.catch
|
||||
import kotlinx.coroutines.flow.filter
|
||||
import kotlinx.coroutines.flow.launchIn
|
||||
import kotlinx.coroutines.flow.onCompletion
|
||||
import kotlinx.coroutines.flow.onEach
|
||||
import kotlinx.coroutines.flow.runningReduce
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
// There are deprecations with the use of BroadcastChannel
|
||||
@kotlinx.coroutines.ObsoleteCoroutinesApi
|
||||
@@ -112,15 +117,19 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
|
||||
)
|
||||
hitAreaProfile.onClickNavTo(R.id.action_nav_home_to_nav_profile) { tapped(HOME_PROFILE) }
|
||||
textHistory.onClickNavTo(R.id.action_nav_home_to_nav_history) { tapped(HOME_HISTORY) }
|
||||
textSendAmount.onClickNavTo(R.id.action_nav_home_to_nav_balance_detail) {
|
||||
tapped(
|
||||
HOME_BALANCE_DETAIL
|
||||
)
|
||||
}
|
||||
hitAreaBalance.onClickNavTo(R.id.action_nav_home_to_nav_balance_detail) {
|
||||
tapped(
|
||||
HOME_BALANCE_DETAIL
|
||||
)
|
||||
|
||||
// Only allow viewing balance detail when not in Street Mode
|
||||
if(!lockBox.getBoolean(Const.Pref.STREET_MODE)) {
|
||||
textSendAmount.onClickNavTo(R.id.action_nav_home_to_nav_balance_detail) {
|
||||
tapped(
|
||||
HOME_BALANCE_DETAIL
|
||||
)
|
||||
}
|
||||
hitAreaBalance.onClickNavTo(R.id.action_nav_home_to_nav_balance_detail) {
|
||||
tapped(
|
||||
HOME_BALANCE_DETAIL
|
||||
)
|
||||
}
|
||||
}
|
||||
hitAreaReceive.onClickNavTo(R.id.action_nav_home_to_nav_receive) { tapped(HOME_RECEIVE) }
|
||||
|
||||
@@ -183,6 +192,18 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
|
||||
twig("Sync ready! Monitoring synchronizer state...")
|
||||
monitorUiModelChanges()
|
||||
|
||||
// When the synchronizer is restarted (e.g. after a server switch),
|
||||
// rebind the UI flows to the new synchronizer instance.
|
||||
mainActivity?.mainViewModel?.syncRestarted
|
||||
?.filter { it }
|
||||
?.onEach {
|
||||
twig("Sync restarted detected — reinitializing HomeViewModel flows")
|
||||
mainActivity?.mainViewModel?.syncRestarted?.value = false
|
||||
viewModel.reinitialize()
|
||||
monitorUiModelChanges()
|
||||
}
|
||||
?.launchIn(resumedScope)
|
||||
|
||||
twig("HomeFragment.onSyncReady COMPLETE")
|
||||
}
|
||||
|
||||
@@ -234,23 +255,24 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
|
||||
|
||||
val sendText = when {
|
||||
uiModel.status == DISCONNECTED -> getString(R.string.home_button_send_disconnected)
|
||||
uiModel.isSynced -> if (uiModel.hasFunds) getString(R.string.home_button_send_has_funds) else getString(
|
||||
uiModel.isSynced || uiModel.isEffectivelySynced -> if (uiModel.hasFunds) getString(R.string.home_button_send_has_funds) else getString(
|
||||
R.string.home_button_send_no_funds
|
||||
)
|
||||
uiModel.status == STOPPED -> getString(R.string.home_button_send_idle)
|
||||
uiModel.isDownloading -> {
|
||||
val pct = (uiModel.totalProgress * 100).roundToInt()
|
||||
when (snake.downloadProgress) {
|
||||
0 -> "Preparing to download..."
|
||||
else -> getString(R.string.home_button_send_downloading, snake.downloadProgress)
|
||||
else -> "Downloading... $pct% (${uiModel.lastDownloadedBlockHeight}/${uiModel.networkHeight})"
|
||||
}
|
||||
}
|
||||
uiModel.isValidating -> getString(R.string.home_button_send_validating)
|
||||
uiModel.isValidating -> {
|
||||
val pct = (uiModel.totalProgress * 100).roundToInt()
|
||||
"Validating... $pct% (${uiModel.lastScannedBlockHeight}/${uiModel.networkHeight})"
|
||||
}
|
||||
uiModel.isScanning -> {
|
||||
when (snake.scanProgress) {
|
||||
0 -> "Preparing to scan..."
|
||||
100 -> "Finalizing..."
|
||||
else -> getString(R.string.home_button_send_scanning, snake.scanProgress)
|
||||
}
|
||||
val pct = (uiModel.totalProgress * 100).roundToInt()
|
||||
"Scanning... $pct% (${uiModel.lastScannedBlockHeight}/${uiModel.networkHeight})"
|
||||
}
|
||||
else -> getString(R.string.home_button_send_updating)
|
||||
}
|
||||
@@ -320,6 +342,15 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
|
||||
else -> getString(R.string.home_instruction_enter_amount)
|
||||
}
|
||||
}
|
||||
|
||||
// Hide balance and history if Street Mode is enabled
|
||||
if(lockBox.getBoolean(Const.Pref.STREET_MODE)) {
|
||||
binding.textBalanceAvailable.visibility = View.INVISIBLE
|
||||
binding.labelBalance.visibility = View.INVISIBLE
|
||||
binding.textBalanceDescription.visibility = View.INVISIBLE
|
||||
binding.textHistory.visibility = View.INVISIBLE
|
||||
binding.textSendAmount.isEnabled = false
|
||||
}
|
||||
}
|
||||
|
||||
fun setBanner(message: String = "", action: BannerAction = CLEAR) {
|
||||
@@ -476,19 +507,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
|
||||
mainActivity?.safeNavigate(R.id.action_nav_home_to_nav_receive)
|
||||
}
|
||||
.show()
|
||||
// MaterialAlertDialogBuilder(activity)
|
||||
// .setMessage("To make full use of this wallet, deposit funds to your address or tap the faucet to trigger a tiny automatic deposit.\n\nFaucet funds are made available for the community by the community for testing. So please be kind enough to return what you borrow!")
|
||||
// .setTitle("No Balance")
|
||||
// .setCancelable(true)
|
||||
// .setPositiveButton("Tap Faucet") { dialog, _ ->
|
||||
// dialog.dismiss()
|
||||
// setBanner("Tapping faucet...", CANCEL)
|
||||
// }
|
||||
// .setNegativeButton("View Address") { dialog, _ ->
|
||||
// dialog.dismiss()
|
||||
// mainActivity?.safeNavigate(R.id.action_nav_home_to_nav_receive)
|
||||
// }
|
||||
// .show()
|
||||
}
|
||||
CANCEL -> {
|
||||
// TODO: trigger banner / balance update
|
||||
|
||||
@@ -29,6 +29,12 @@ class HomeViewModel : ViewModel() {
|
||||
|
||||
var initialized = false
|
||||
|
||||
fun reinitialize() {
|
||||
twig("HomeViewModel.reinitialize: rebinding to new synchronizer")
|
||||
initialized = false
|
||||
initializeMaybe()
|
||||
}
|
||||
|
||||
fun initializeMaybe(preTypedChars: String = "0") {
|
||||
twig("init called")
|
||||
if (initialized) {
|
||||
@@ -94,6 +100,7 @@ class HomeViewModel : ViewModel() {
|
||||
)
|
||||
}.onStart { emit(UiModel(orchardBalance = null, saplingBalance = null, transparentBalance = null)) }
|
||||
}.conflate()
|
||||
initialized = true
|
||||
}
|
||||
|
||||
override fun onCleared() {
|
||||
@@ -120,6 +127,13 @@ class HomeViewModel : ViewModel() {
|
||||
val hasAutoshieldFunds: Boolean get() = (transparentBalance?.available?.value ?: 0) >= ZcashWalletApp.instance.autoshieldThreshold
|
||||
val isSynced: Boolean get() = status == SYNCED
|
||||
val isSendEnabled: Boolean get() = isSynced && hasFunds
|
||||
// Consider the wallet synced when within 100 blocks of the tip
|
||||
// so routine polling of 1-2 new blocks doesn't flash "Scanning..." text
|
||||
val isEffectivelySynced: Boolean get() {
|
||||
val scanned = processorInfo.lastScannedHeight?.value ?: return false
|
||||
val tip = processorInfo.networkBlockHeight?.value ?: return false
|
||||
return tip > 0 && (tip - scanned) < 100
|
||||
}
|
||||
|
||||
// Processor Info
|
||||
val isDownloading = status == DOWNLOADING
|
||||
@@ -149,6 +163,17 @@ class HomeViewModel : ViewModel() {
|
||||
}
|
||||
}
|
||||
}
|
||||
val overallProgress: Int get() {
|
||||
return processorInfo.run {
|
||||
val scanned = lastScannedHeight?.value ?: return@run 0
|
||||
val tip = networkBlockHeight?.value ?: return@run 0
|
||||
if (tip <= 0) 0
|
||||
else ((scanned.toFloat() / tip.toFloat()) * 100.0f).coerceIn(0f, 100f).roundToInt()
|
||||
}
|
||||
}
|
||||
val lastScannedBlockHeight: Long get() = processorInfo.lastScannedHeight?.value ?: 0
|
||||
val lastDownloadedBlockHeight: Long get() = processorInfo.lastDownloadedHeight?.value ?: 0
|
||||
val networkHeight: Long get() = processorInfo.networkBlockHeight?.value ?: 0
|
||||
val totalProgress: Float get() {
|
||||
val downloadWeighted = 0.40f * (downloadProgress.toFloat() / 100.0f).coerceAtMost(1.0f)
|
||||
val scanWeighted = 0.60f * (scanProgress.toFloat() / 100.0f).coerceAtMost(1.0f)
|
||||
|
||||
@@ -66,26 +66,21 @@ class ProfileFragment : BaseFragment<FragmentProfileBinding>() {
|
||||
openTelegramLink()
|
||||
}
|
||||
|
||||
// Matrix
|
||||
binding.matrixButton.setOnClickListener {
|
||||
openMatrixLink()
|
||||
}
|
||||
|
||||
// Mastodon
|
||||
binding.mastodonButton.setOnClickListener {
|
||||
openMastodonLink()
|
||||
}
|
||||
|
||||
// PeerTube
|
||||
binding.peertubeButton.setOnClickListener {
|
||||
openPeerTubeLink()
|
||||
}
|
||||
|
||||
// SilentDragon Gitea
|
||||
binding.textBannerMessage.setOnClickListener {
|
||||
openGiteaLink()
|
||||
}
|
||||
|
||||
// Fakebook
|
||||
binding.fakebookButton.setOnClickListener {
|
||||
openFakebookLink()
|
||||
}
|
||||
|
||||
// Twatter
|
||||
binding.twatterButton.setOnClickListener {
|
||||
openTwatterLink()
|
||||
}
|
||||
|
||||
// Add build version
|
||||
binding.textVersion.text = BuildConfig.VERSION_NAME
|
||||
|
||||
@@ -101,6 +96,12 @@ class ProfileFragment : BaseFragment<FragmentProfileBinding>() {
|
||||
}*/
|
||||
}
|
||||
|
||||
private fun openFakebookLink() {
|
||||
getString(R.string.fakebook_url).takeUnless { it.isBlank() }?.let { url ->
|
||||
mainActivity?.onLaunchUrl(url)
|
||||
}
|
||||
}
|
||||
|
||||
private fun openGiteaLink() {
|
||||
getString(R.string.gitea_url).takeUnless { it.isBlank() }?.let { url ->
|
||||
mainActivity?.onLaunchUrl(url)
|
||||
@@ -125,6 +126,12 @@ class ProfileFragment : BaseFragment<FragmentProfileBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun openTwatterLink() {
|
||||
getString(R.string.twatter_url).takeUnless { it.isBlank() }?.let { url ->
|
||||
mainActivity?.onLaunchUrl(url)
|
||||
}
|
||||
}
|
||||
|
||||
private fun openTelegramLink() {
|
||||
getString(R.string.telegram_url).takeUnless { it.isBlank() }?.let { url ->
|
||||
mainActivity?.onLaunchUrl(url)
|
||||
@@ -137,6 +144,12 @@ class ProfileFragment : BaseFragment<FragmentProfileBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun openYoutubeLink() {
|
||||
getString(R.string.youtube_url).takeUnless { it.isBlank() }?.let { url ->
|
||||
mainActivity?.onLaunchUrl(url)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
resumedScope.launch {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package cash.z.ecc.android.ui.scan
|
||||
|
||||
import android.net.UrlQuerySanitizer
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
@@ -16,14 +17,14 @@ import androidx.window.layout.WindowMetricsCalculator
|
||||
import cash.z.ecc.android.R
|
||||
import cash.z.ecc.android.databinding.FragmentScanBinding
|
||||
import cash.z.ecc.android.ext.onClickNavBack
|
||||
import cash.z.ecc.android.sdk.ext.convertZecToZatoshi
|
||||
import cash.z.ecc.android.sdk.ext.safelyConvertToBigDecimal
|
||||
import cash.z.ecc.android.ui.base.BaseFragment
|
||||
import cash.z.ecc.android.ui.send.SendViewModel
|
||||
import kotlinx.coroutines.launch
|
||||
import java.util.concurrent.ExecutorService
|
||||
import java.util.concurrent.Executors
|
||||
import kotlin.math.abs
|
||||
import kotlin.math.max
|
||||
import kotlin.math.min
|
||||
|
||||
|
||||
class ScanFragment : BaseFragment<FragmentScanBinding>() {
|
||||
@@ -111,17 +112,14 @@ class ScanFragment : BaseFragment<FragmentScanBinding>() {
|
||||
private fun bindCameraUseCases() {
|
||||
|
||||
// Get screen metrics used to setup camera for full screen resolution
|
||||
/*
|
||||
val metrics = WindowMetricsCalculator.getOrCreate().computeCurrentWindowMetrics(requireActivity()).bounds
|
||||
Log.d("SilentDragon", "Screen metrics: ${metrics.width()} x ${metrics.height()}")
|
||||
val screenAspectRatio = aspectRatio(metrics.width(), metrics.height())
|
||||
*/
|
||||
val windowMetrics = WindowMetricsCalculator.getOrCreate().computeCurrentWindowMetrics(requireActivity())
|
||||
Log.d(TAG, "Screen metrics: ${windowMetrics.bounds.width()} x ${windowMetrics.bounds.height()}")
|
||||
|
||||
// Hardcode to square for now otherwise scanning doesn't work
|
||||
val screenAspectRatio = aspectRatio(1, 1)
|
||||
Log.d("SilentDragon", "Preview aspect ratio: $screenAspectRatio")
|
||||
val screenAspectRatio = aspectRatio(windowMetrics.bounds.width(), windowMetrics.bounds.height())
|
||||
Log.d(TAG, "Preview aspect ratio: $screenAspectRatio")
|
||||
|
||||
val rotation = fragmentCameraBinding.viewFinder.display.rotation
|
||||
Log.d(TAG, "Rotation: $rotation")
|
||||
|
||||
// CameraProvider
|
||||
val cameraProvider = cameraProvider
|
||||
@@ -298,7 +296,8 @@ class ScanFragment : BaseFragment<FragmentScanBinding>() {
|
||||
* @return suitable aspect ratio
|
||||
*/
|
||||
private fun aspectRatio(width: Int, height: Int): Int {
|
||||
val previewRatio = max(width, height).toDouble() / min(width, height)
|
||||
val previewRatio = width.toDouble() / height
|
||||
Log.d(TAG, "previewRatio: $previewRatio")
|
||||
if (abs(previewRatio - RATIO_4_3_VALUE) <= abs(previewRatio - RATIO_16_9_VALUE)) {
|
||||
return AspectRatio.RATIO_4_3
|
||||
}
|
||||
@@ -323,17 +322,34 @@ class ScanFragment : BaseFragment<FragmentScanBinding>() {
|
||||
}
|
||||
|
||||
private fun onQrScanned(qrContent: String, image: ImageProxy) {
|
||||
//Log.d("SilentDragon", "QR scanned: $qrContent")
|
||||
resumedScope.launch {
|
||||
val parsed = viewModel.parse(qrContent)
|
||||
if (parsed == null) {
|
||||
val address = viewModel.parse(qrContent)
|
||||
val sanitizer = UrlQuerySanitizer(qrContent)
|
||||
val amt = sanitizer.getValue("amt")
|
||||
val memo = sanitizer.getValue("memo")
|
||||
|
||||
/*
|
||||
Log.d(TAG, "qrContent: $qrContent")
|
||||
Log.d(TAG, "address: $address")
|
||||
Log.d(TAG, "amt: $amt")
|
||||
Log.d(TAG, "memo: $memo")
|
||||
*/
|
||||
|
||||
if (address == null) {
|
||||
val network = viewModel.networkName
|
||||
_fragmentCameraBinding?.textScanError?.text =
|
||||
getString(R.string.scan_invalid_address, network, qrContent)
|
||||
image.close()
|
||||
} else { /* continue scanning*/
|
||||
_fragmentCameraBinding?.textScanError?.text = ""
|
||||
sendViewModel.toAddress = parsed
|
||||
sendViewModel.toAddress = address
|
||||
if(amt!=null){
|
||||
sendViewModel.zatoshiAmount =
|
||||
amt.safelyConvertToBigDecimal().convertZecToZatoshi()
|
||||
}
|
||||
if(memo!=null){
|
||||
sendViewModel.memo = memo
|
||||
}
|
||||
mainActivity?.safeNavigate(R.id.action_nav_scan_to_nav_send)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package cash.z.ecc.android.ui.scan
|
||||
|
||||
import android.util.Log
|
||||
import androidx.lifecycle.ViewModel
|
||||
import cash.z.ecc.android.di.DependenciesHolder
|
||||
import cash.z.ecc.android.sdk.Synchronizer
|
||||
@@ -15,10 +16,11 @@ class ScanViewModel : ViewModel() {
|
||||
// temporary parse code to allow both plain addresses and those that start with hush:
|
||||
// TODO: replace with more robust ZIP-321 handling of QR codes
|
||||
val address = if (qrCode.startsWith("hush:")) {
|
||||
qrCode.substring(6, qrCode.indexOf("?").takeUnless { it == -1 } ?: qrCode.length)
|
||||
qrCode.substring(5, qrCode.indexOf("?").takeUnless { it == -1 } ?: qrCode.length)
|
||||
} else {
|
||||
qrCode
|
||||
}
|
||||
Log.d("SilentDragon", "address: $address")
|
||||
return if (synchronizer.validateAddress(address).isNotValid) null else address
|
||||
}
|
||||
|
||||
|
||||
@@ -2,14 +2,18 @@ package cash.z.ecc.android.ui.settings
|
||||
|
||||
import android.content.res.ColorStateList
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.Toast
|
||||
import androidx.core.view.ViewCompat.jumpDrawablesToCurrentState
|
||||
import androidx.core.widget.doAfterTextChanged
|
||||
import androidx.fragment.app.viewModels
|
||||
import cash.z.ecc.android.R
|
||||
import cash.z.ecc.android.ZcashWalletApp
|
||||
import cash.z.ecc.android.databinding.FragmentSettingsBinding
|
||||
import cash.z.ecc.android.di.DependenciesHolder.lockBox
|
||||
import cash.z.ecc.android.di.DependenciesHolder.prefs
|
||||
import cash.z.ecc.android.ext.*
|
||||
import cash.z.ecc.android.sdk.exception.LightWalletException
|
||||
import cash.z.ecc.android.sdk.ext.collectWith
|
||||
@@ -37,6 +41,15 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding>() {
|
||||
hitAreaExit.onClickNavBack()
|
||||
buttonReset.setOnClickListener(::onResetClicked)
|
||||
buttonUpdate.setOnClickListener(::onUpdateClicked)
|
||||
streetMode.setOnClickListener(::onStreetModeChecked)
|
||||
|
||||
val streetmode = lockBox.getBoolean(Const.Pref.STREET_MODE)
|
||||
if(streetmode){
|
||||
streetMode.isChecked = true
|
||||
}
|
||||
|
||||
Log.d("SilentDragon", "streetMode: $streetmode")
|
||||
|
||||
buttonUpdate.isActivated = true
|
||||
buttonReset.isActivated = true
|
||||
inputHost.doAfterTextChanged {
|
||||
@@ -79,6 +92,17 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
private fun onStreetModeChecked(unused: View?) {
|
||||
val streetmode = lockBox.getBoolean(Const.Pref.STREET_MODE)
|
||||
Log.d("SilentDragon", "streetModeChecked! streetmode = $streetmode")
|
||||
if(streetmode) {
|
||||
lockBox.setBoolean(Const.Pref.STREET_MODE, false)
|
||||
}
|
||||
else{
|
||||
lockBox.setBoolean(Const.Pref.STREET_MODE, true)
|
||||
}
|
||||
}
|
||||
|
||||
private fun onUiModelUpdated(uiModel: SettingsViewModel.UiModel) {
|
||||
twig("onUiModelUpdated:::::$uiModel")
|
||||
binding.apply {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package cash.z.ecc.android.ui.settings
|
||||
|
||||
import android.util.Log
|
||||
import androidx.lifecycle.ViewModel
|
||||
import cash.z.ecc.android.di.DependenciesHolder
|
||||
import cash.z.ecc.android.ext.Const
|
||||
|
||||
@@ -142,7 +142,7 @@ class LandingFragment : BaseFragment<FragmentLandingBinding>() {
|
||||
ZcashNetwork.Mainnet -> {
|
||||
seedPhrase =
|
||||
"still champion voice habit trend flight survey between bitter process artefact blind carbon truly provide dizzy crush flush breeze blouse charge solid fish spread"
|
||||
birthday = BlockHeight.new(ZcashNetwork.Mainnet, 1170000) // 663174
|
||||
birthday = BlockHeight.new(ZcashNetwork.Mainnet, 420000)
|
||||
}
|
||||
ZcashNetwork.Testnet -> {
|
||||
seedPhrase =
|
||||
|
||||
@@ -127,7 +127,7 @@ class RestoreFragment : BaseFragment<FragmentRestoreBinding>(), View.OnKeyListen
|
||||
mainActivity?.hideKeyboard()
|
||||
val activation = ZcashWalletApp.instance.defaultNetwork.saplingActivationHeight
|
||||
val seedPhrase = binding.chipsInput.selectedChips.joinToString(" ") {
|
||||
it.title
|
||||
it.title.trim().lowercase()
|
||||
}
|
||||
var birthday = binding.root.findViewById<TextView>(R.id.input_birthdate).text.toString()
|
||||
.let { birthdateString ->
|
||||
|
||||
@@ -61,9 +61,11 @@ class SeedWordAdapter : ChipsAdapter {
|
||||
|
||||
override fun onKeyboardActionDone(text: String?) {
|
||||
if (TextUtils.isEmpty(text)) return
|
||||
val normalizedText = text!!.trim().lowercase()
|
||||
if (normalizedText.isEmpty()) return
|
||||
|
||||
if (mDataSource.originalChips.firstOrNull { it.title == text } != null) {
|
||||
mDataSource.addSelectedChip(DefaultCustomChip(text))
|
||||
if (mDataSource.originalChips.firstOrNull { it.title.equals(normalizedText, ignoreCase = true) } != null) {
|
||||
mDataSource.addSelectedChip(DefaultCustomChip(normalizedText))
|
||||
mEditText.apply {
|
||||
postDelayed(
|
||||
{
|
||||
@@ -78,13 +80,23 @@ class SeedWordAdapter : ChipsAdapter {
|
||||
|
||||
// this function is called with the contents of the field, split by the delimiter
|
||||
override fun onKeyboardDelimiter(text: String) {
|
||||
val firstMatchingWord = (mDataSource.filteredChips.firstOrNull() as? SeedWordChip)?.word?.takeUnless {
|
||||
!it.startsWith(text)
|
||||
}
|
||||
if (firstMatchingWord != null) {
|
||||
onKeyboardActionDone(firstMatchingWord)
|
||||
val normalizedText = text.trim().lowercase()
|
||||
if (normalizedText.isEmpty()) return
|
||||
// Prefer an exact match from the word list over autocomplete
|
||||
val exactMatch = mDataSource.originalChips.firstOrNull {
|
||||
it.title.equals(normalizedText, ignoreCase = true)
|
||||
}?.title
|
||||
if (exactMatch != null) {
|
||||
onKeyboardActionDone(exactMatch)
|
||||
} else {
|
||||
onKeyboardActionDone(text)
|
||||
val firstMatchingWord = (mDataSource.filteredChips.firstOrNull() as? SeedWordChip)?.word?.takeUnless {
|
||||
!it.startsWith(normalizedText)
|
||||
}
|
||||
if (firstMatchingWord != null) {
|
||||
onKeyboardActionDone(firstMatchingWord)
|
||||
} else {
|
||||
onKeyboardActionDone(normalizedText)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package cash.z.ecc.android.ui.setup
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import androidx.lifecycle.ViewModel
|
||||
import cash.z.ecc.android.ZcashWalletApp
|
||||
import cash.z.ecc.android.di.DependenciesHolder
|
||||
@@ -19,6 +20,8 @@ import cash.z.ecc.android.sdk.type.UnifiedViewingKey
|
||||
import cash.z.ecc.android.ui.setup.WalletSetupViewModel.WalletSetupState.*
|
||||
import cash.z.ecc.android.util.twig
|
||||
import cash.z.ecc.kotlin.mnemonic.Mnemonics
|
||||
import java.net.InetSocketAddress
|
||||
import java.net.Socket
|
||||
import kotlinx.coroutines.Dispatchers.IO
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.flow
|
||||
@@ -91,15 +94,22 @@ class WalletSetupViewModel : ViewModel() {
|
||||
* known by this point.
|
||||
*/
|
||||
private suspend fun loadConfig(): Initializer.Config {
|
||||
|
||||
twig("Loading config variables")
|
||||
var overwriteVks = false
|
||||
val network = ZcashWalletApp.instance.defaultNetwork
|
||||
val vk =
|
||||
loadUnifiedViewingKey() ?: onMissingViewingKey(network).also { overwriteVks = true }
|
||||
val birthdayHeight = loadBirthdayHeight() ?: onMissingBirthday(network)
|
||||
val host = prefs[Const.Pref.SERVER_HOST] ?: Const.Default.Server.HOST
|
||||
val savedHost = prefs[Const.Pref.SERVER_HOST] ?: Const.Default.Server.HOST
|
||||
val port = prefs[Const.Pref.SERVER_PORT] ?: Const.Default.Server.PORT
|
||||
|
||||
// Check if the preferred server is reachable; if not, try others
|
||||
// Run on IO dispatcher since findReachableServer does blocking Socket I/O
|
||||
val host = withContext(IO) { findReachableServer(savedHost, port) }
|
||||
|
||||
Log.d("SilentDragon", "host: $host")
|
||||
|
||||
twig("Done loading config variables")
|
||||
return Initializer.Config {
|
||||
it.importWallet(vk, birthdayHeight, network, LightWalletEndpoint(host, port, true))
|
||||
@@ -107,6 +117,43 @@ class WalletSetupViewModel : ViewModel() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the preferred server is reachable via TCP. If not, try each server
|
||||
* in the list until one responds. Returns the first reachable server, or falls
|
||||
* back to the preferred server if none respond.
|
||||
*/
|
||||
private fun findReachableServer(preferredHost: String, port: Int): String {
|
||||
// Try preferred server first
|
||||
if (isServerReachable(preferredHost, port)) {
|
||||
return preferredHost
|
||||
}
|
||||
twig("Preferred server $preferredHost is unreachable, trying alternatives...")
|
||||
|
||||
// Try each server in the list
|
||||
for (server in Const.Default.Server.serverList) {
|
||||
if (server != preferredHost && isServerReachable(server, port)) {
|
||||
twig("Found reachable server: $server")
|
||||
// Save working server to preferences for next time
|
||||
prefs[Const.Pref.SERVER_HOST] = server
|
||||
return server
|
||||
}
|
||||
}
|
||||
|
||||
twig("WARNING: No servers responded, using preferred: $preferredHost")
|
||||
return preferredHost
|
||||
}
|
||||
|
||||
private fun isServerReachable(host: String, port: Int): Boolean {
|
||||
return try {
|
||||
Socket().use { socket ->
|
||||
socket.connect(InetSocketAddress(host, port), 5000)
|
||||
true
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadUnifiedViewingKey(): UnifiedViewingKey? {
|
||||
val extfvk = lockBox.getCharsUtf8(Const.Backup.VIEWING_KEY)
|
||||
val extpub = lockBox.getCharsUtf8(Const.Backup.PUBLIC_KEY)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="false" android:color="@color/text_dark"/>
|
||||
<item android:state_pressed="true" android:color="@color/text_light" />
|
||||
<item android:state_pressed="false" android:color="@color/app_icon_foreground"/>
|
||||
<item android:state_pressed="true" android:color="@color/app_icon_background_0" />
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="false" android:color="@color/text_light"/>
|
||||
<item android:state_pressed="true" android:color="@color/text_dark" />
|
||||
<item android:state_pressed="true" android:color="@color/app_icon_background_0" />
|
||||
</selector>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="false" android:color="@color/text_light_dimmed"/>
|
||||
<item android:state_pressed="true" android:color="@color/text_dark" />
|
||||
<item android:state_pressed="true" android:color="@color/app_icon_background_0" />
|
||||
</selector>
|
||||
@@ -16,7 +16,7 @@
|
||||
android:centerY="36.01165"
|
||||
android:type="radial">
|
||||
<item android:offset="0" android:color="@color/app_icon_background_0"/>
|
||||
<item android:offset="1" android:color="@color/app_icon_background_1"/>
|
||||
<item android:offset="1" android:color="@color/ic_launcher_background"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="10dp" />
|
||||
<solid android:color="@color/background_banner"/>
|
||||
<solid android:color="@color/app_icon_background_0"/>
|
||||
</shape>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#CF000000"/>
|
||||
<stroke android:color="#60000000" android:width="4dp" />
|
||||
<solid android:color="@color/app_icon_background_0"/>
|
||||
<stroke android:color="@color/ic_launcher_background" android:width="4dp" />
|
||||
</shape>
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="10dp" />
|
||||
<stroke android:width="1dp" android:color="@color/background_banner_stroke"/>
|
||||
<solid android:color="@color/background_banner"/>
|
||||
<solid android:color="@color/app_icon_background_0"/>
|
||||
</shape>
|
||||
@@ -3,5 +3,5 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="16dp" />
|
||||
<stroke android:width="1dp" android:color="#282828"/>
|
||||
<solid android:color="@color/background_banner"/>
|
||||
<solid android:color="@color/app_icon_background_0"/>
|
||||
</shape>
|
||||
@@ -24,6 +24,6 @@
|
||||
android:bottomRightRadius="10dp"
|
||||
android:topLeftRadius="0dp"
|
||||
android:topRightRadius="0dp" />
|
||||
<solid android:color="@color/background_banner" />
|
||||
<solid android:color="@color/app_icon_background_0" />
|
||||
</shape>
|
||||
</item></layer-list>
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<gradient
|
||||
android:angle="270"
|
||||
android:endColor="@color/background_banner"
|
||||
android:endColor="@color/app_icon_background_0"
|
||||
android:startColor="@android:color/transparent" />
|
||||
</shape>
|
||||
|
||||
@@ -22,6 +22,6 @@
|
||||
android:bottomRightRadius="0dp"
|
||||
android:topLeftRadius="10dp"
|
||||
android:topRightRadius="10dp" />
|
||||
<solid android:color="@color/background_banner" />
|
||||
<solid android:color="@color/app_icon_background_0" />
|
||||
</shape>
|
||||
</item></layer-list>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<gradient
|
||||
android:endColor="#000000"
|
||||
android:endColor="@color/app_icon_background_0"
|
||||
android:startColor="#28282C"
|
||||
android:type="radial"
|
||||
android:centerY="0.36"
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="10dp" />
|
||||
<stroke android:width="1dp" android:color="#282828"/>
|
||||
<solid android:color="#171717"/>
|
||||
<solid android:color="@color/app_icon_background_0"/>
|
||||
</shape>
|
||||
@@ -3,5 +3,5 @@
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="3dp" />
|
||||
<stroke android:width="1dp" android:color="#282828"/>
|
||||
<solid android:color="@color/background_banner"/>
|
||||
<solid android:color="@color/app_icon_background_0"/>
|
||||
</shape>
|
||||
@@ -1,5 +1,5 @@
|
||||
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path android:fillColor="#FF000000" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z"/>
|
||||
<path android:fillColor="@color/app_icon_background_0" android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,5c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM12,19.2c-2.5,0 -4.71,-1.28 -6,-3.22 0.03,-1.99 4,-3.08 6,-3.08 1.99,0 5.97,1.09 6,3.08 -1.29,1.94 -3.5,3.22 -6,3.22z"/>
|
||||
</vector>
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:fillColor="@color/app_icon_background_0"
|
||||
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
|
||||
</vector>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<path
|
||||
android:pathData="M13.406,0L272.594,0L286,13.364L286,270.914L272.594,285L13.406,285L0,271.641L0,13.364L13.406,0Z"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#2C2C2F"
|
||||
android:fillColor="@color/app_icon_background_0"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"/>
|
||||
</vector>
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:fillColor="@color/app_icon_background_0"
|
||||
android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
|
||||
</vector>
|
||||
|
||||
949
app/src/main/res/drawable/ic_fakebook.xml
Normal file
@@ -0,0 +1,949 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="512"
|
||||
android:viewportHeight="512"
|
||||
android:width="512dp"
|
||||
android:height="512dp">
|
||||
<path
|
||||
android:pathData="M233.5 0L244 0.5L233.5 1L233.5 0Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M268.5 0L279 0.5L268.5 1L268.5 0Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M223.5 1L230 1.5L223.5 2L223.5 1Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M282.5 1L289 1.5L282.5 2L282.5 1Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M216.5 2L221 2.5L216.5 3L216.5 2Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M291.5 2L296 2.5L291.5 3L291.5 2Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M210.5 3L215 3.5L210.5 4L210.5 3Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M297.5 3L302 3.5L297.5 4L297.5 3Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M205.5 4L209 4.5L205.5 5L205.5 4Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M303.5 4L307 4.5L303.5 5L303.5 4Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M200.5 5L204 5.5L200.5 6L200.5 5Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M308.5 5L312 5.5L308.5 6L308.5 5Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M196.5 6L199 6.5L196.5 7L196.5 6Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M313.5 6L316 6.5L313.5 7L313.5 6Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M192.5 7L195 7.5L192.5 8L192.5 7Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M317.5 7L320 7.5L317.5 8L317.5 7Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M188.5 8L191 8.5L188.5 9L188.5 8Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M321.5 8L324 8.5L321.5 9L321.5 8Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M184.5 9L187 9.5L181.5 11L181.5 10L184.5 9Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M325.5 9L331 10.5L328.5 11L325.5 10L325.5 9Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M166.5 15L168 15.5L164.5 17L164.5 16L166.5 15Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M344.5 15L348 16.5L346.5 17L344.5 15Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M161.5 17L163 17.5L159.5 19L159.5 18L161.5 17Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M349.5 17L353 18.5L351.5 19L349.5 17Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M156.5 19L158 19.5L154.5 21L154.5 20L156.5 19Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M354.5 19L358 20.5L356.5 21L354.5 19Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M149.5 22L151 22.5L130.5 33L131.5 31L149.5 22Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M361.5 22L382 32.5L380.5 32L361.5 23L361.5 22Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M128.5 33L127.5 35L125.5 36L126.5 34L128.5 33Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M383.5 33L387 35.5L385.5 35L383.5 33Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M123.5 36L122.5 38L120.5 39L121.5 37L123.5 36Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M388.5 36L392 38.5L390.5 38L388.5 36Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M118.5 39L117.5 41L100.5 53L103.5 49L118.5 39Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M393.5 39L412 52.5L408.5 50L394.5 41L393.5 39Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M98.5 53L95.5 57L73 76.5L53.5 99L56 95.5L76.5 72L98.5 53Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M413.5 53L440 76.5L459 98.5L455 95.5L435.5 73L416.5 57L413.5 53Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M52.5 100L50 103.5L39.5 119L40 117.5L52.5 100Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M459.5 100L473 118.5L471 117.5L459.5 100Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M38.5 120L38 121.5L36.5 124L37 122.5L38.5 120Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M473.5 120L476 123.5L474 122.5L473.5 120Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M35.5 125L35 126.5L33.5 129L34 127.5L35.5 125Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M476.5 125L479 128.5L477 127.5L476.5 125Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M32.5 130L32 131.5L22.5 151L22 149.5L32.5 130Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M479.5 130L490 150.5L489 150.5L479.5 130Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M20.5 154L21 155.5L19.5 158L19 156.5L20.5 154Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M491.5 154L493 157.5L492 157.5L491.5 154Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M18.5 159L19 160.5L17.5 163L17 161.5L18.5 159Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M493.5 159L495 162.5L494 162.5L493.5 159Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M16.5 164L17 165.5L15.5 168L15 166.5L16.5 164Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M495.5 164L497 167.5L496 167.5L495.5 164Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M10.5 181L11 183.5L9.5 187L9 184.5L10.5 181Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M501.5 181L503 186.5L502 186.5L501.5 181Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M8.5 188L9 190.5L8 190.5L8.5 188Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M503.5 188L504 190.5L503 190.5L503.5 188Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M7.5 192L8 194.5L7 194.5L7.5 192Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M504.5 192L505 194.5L504 194.5L504.5 192Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M6.5 196L7 198.5L6 198.5L6.5 196Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M505.5 196L506 198.5L505 198.5L505.5 196Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M5.5 200L6 203.5L5 203.5L5.5 200Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M506.5 200L507 203.5L506 203.5L506.5 200Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M4.5 205L5 208.5L4 208.5L4.5 205Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M507.5 205L508 208.5L507 208.5L507.5 205Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M3.5 210L4 214.5L3 214.5L3.5 210Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M508.5 210L509 214.5L508 214.5L508.5 210Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M2.5 216L3 220.5L2 220.5L2.5 216Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M509.5 216L510 220.5L509 220.5L509.5 216Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M1.5 223L2 229.5L1 229.5L1.5 223Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M510.5 223L511 229.5L510 229.5L510.5 223Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M0.5 233L1 243.5L0 243.5L0.5 233Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M511.5 233L512 243.5L511 243.5L511.5 233Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M0.5 268L1 278.5L0 278.5L0.5 268Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M511.5 268L512 278.5L511 278.5L511.5 268Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M1.5 282L2 288.5L1 288.5L1.5 282Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M510.5 282L511 288.5L510 288.5L510.5 282Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M2.5 291L3 295.5L2 295.5L2.5 291Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M509.5 291L510 295.5L509 295.5L509.5 291Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M3.5 297L4 301.5L3 301.5L3.5 297Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M508.5 297L509 301.5L508 301.5L508.5 297Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M4.5 303L5 306.5L4 306.5L4.5 303Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M507.5 303L508 306.5L507 306.5L507.5 303Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M5.5 308L6 311.5L5 311.5L5.5 308Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M506.5 308L507 311.5L506 311.5L506.5 308Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M6.5 313L7 315.5L6 315.5L6.5 313Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M505.5 313L506 315.5L505 315.5L505.5 313Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M7.5 317L8 319.5L7 319.5L7.5 317Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M504.5 317L505 319.5L504 319.5L504.5 317Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M8.5 321L9 323.5L8 323.5L8.5 321Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M503.5 321L504 323.5L503 323.5L503.5 321Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M9.5 325L11 330.5L10 330.5L9.5 325Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M502.5 325L503 327.5L501.5 331L501 328.5L502.5 325Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M15.5 344L17 347.5L16 347.5L15.5 344Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M496.5 344L497 345.5L495.5 348L495 346.5L496.5 344Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M17.5 349L19 352.5L18 352.5L17.5 349Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M494.5 349L495 350.5L493.5 353L493 351.5L494.5 349Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M19.5 354L21 357.5L20 357.5L19.5 354Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M492.5 354L493 355.5L491.5 358L491 356.5L492.5 354Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M22.5 361L33 381.5L31 380.5L22 362.5L22.5 361Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M489.5 361L490 362.5L479.5 382L480 380.5L489.5 361Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M33.5 383L36 386.5L34 385.5L33.5 383Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M478.5 383L478 384.5L476.5 387L477 385.5L478.5 383Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M36.5 388L39 391.5L37 390.5L36.5 388Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M475.5 388L475 389.5L473.5 392L474 390.5L475.5 388Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M39.5 393L53 411.5L49 408.5L39.5 393Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M472.5 393L472 394.5L459.5 412L462 408.5L472.5 393Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M53.5 413L76.5 439L99 458.5L95.5 456L72 435.5L56 417.5L53.5 413Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M458.5 413L456 416.5L435.5 440L413.5 459L416.5 455L439 435.5L458.5 413Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M100.5 459L110 466.5L107.5 465Q102 463.2 100.5 459Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M411.5 459L408.5 463L402.5 467L404.5 464L411.5 459Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M111.5 467L119 472.5L117.5 472Q112.5 470.5 111.5 467Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M400.5 467L398.5 470L393.5 473L394.5 471L400.5 467Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M120.5 473L124 475.5L122.5 475L120.5 473Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M391.5 473L390.5 475L388.5 476L389.5 474L391.5 473Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M125.5 476L151 489.5L149.5 490L126.5 478L125.5 476Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M386.5 476L385.5 478L361.5 490L361.5 489L386.5 476Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M154.5 491L158 492.5L156.5 493L154.5 491Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M356.5 491L358 491.5L354.5 493L354.5 492L356.5 491Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M159.5 493L163 494.5L161.5 495L159.5 493Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M351.5 493L353 493.5L349.5 495L349.5 494L351.5 493Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M164.5 495L168 496.5L166.5 497L164.5 495Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M346.5 495L348 495.5L344.5 497L344.5 496L346.5 495Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M181.5 501L187 502.5L184.5 503L181.5 502L181.5 501Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M328.5 501L331 501.5L325.5 503L325.5 502L328.5 501Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M188.5 503L191 503.5L188.5 504L188.5 503Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M321.5 503L324 503.5L321.5 504L321.5 503Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M192.5 504L195 504.5L192.5 505L192.5 504Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M317.5 504L320 504.5L317.5 505L317.5 504Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M196.5 505L199 505.5L196.5 506L196.5 505Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M313.5 505L316 505.5L313.5 506L313.5 505Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M200.5 506L204 506.5L200.5 507L200.5 506Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M308.5 506L312 506.5L308.5 507L308.5 506Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M205.5 507L209 507.5L205.5 508L205.5 507Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M303.5 507L307 507.5L303.5 508L303.5 507Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M210.5 508L215 508.5L210.5 509L210.5 508Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M297.5 508L302 508.5L297.5 509L297.5 508Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:fillAlpha="0.5058824"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeAlpha="0.5058824"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M244.5 0L267.5 0L268.5 1L290.5 2L312.5 6L343.5 15Q400.5 36.5 439 76.5Q476.5 114 497 168.5L506 199.5L510 221.5L511 243.5L512 244.5L512 267.5L511 268.5L510 290.5L506 312.5Q500.4 337.4 491 358.5Q469.9 405.4 435.5 439Q411.3 462.8 380.5 480L343.5 497L324.5 503L296.5 509L296 330L354.5 330L356 328.5L361 290.5L363 283.5L363 277.5L365 270.5L365 264.5L367 256L296 256L296 199.5Q298.8 182.8 310.5 175L317.5 171L328.5 168L370 168L370 105.5Q369.9 104.4 364.5 105L363.5 104L339.5 102L338.5 101L304.5 100L303.5 101L288.5 102L268.5 108Q249.4 116.4 237 131.5Q222.9 148.4 218 174.5L217 190.5L216 191.5L216 256L151 256L151 330L216 330L216 508.5L214.5 508L199.5 506L168.5 497L131.5 480Q98.5 461.5 73 435.5Q35.5 398 15 343.5L6 312.5L2 290.5L1 268.5L0 267.5L0 244.5L1 243.5L2 221.5L6 199.5Q11.6 174.6 21 153.5Q42.1 106.6 76.5 73Q109 41 153.5 21Q174.6 11.6 199.5 6L221.5 2L243.5 1L244.5 0Z"
|
||||
android:fillColor="#1877F2"
|
||||
android:strokeColor="#1877F2"
|
||||
android:strokeWidth="1" />
|
||||
</vector>
|
||||
@@ -1,48 +1,966 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:viewportWidth="345.8"
|
||||
android:viewportHeight="402.5"
|
||||
android:width="345.8dp"
|
||||
android:height="402.5dp">
|
||||
android:viewportWidth="888"
|
||||
android:viewportHeight="827"
|
||||
android:width="888dp"
|
||||
android:height="827dp">
|
||||
<path
|
||||
android:pathData="M270.8 175c-26 -32.3 5 -60 37.2 -64.1c-32 -5.7 -39.1 -2.3 -58.9 13.6c-4.8 -11.2 52.9 -98.5 52.9 -98.5s-82.9 84.7 -101.9 82.9c-24 -2.3 -26.9 -71.6 -27.2 -88.1c-0.3 16.4 -3.2 85.8 -27.2 88.1C126.7 110.8 43.8 26 43.8 26s57.8 87.2 52.9 98.5c-19.8 -15.9 -26.9 -19.3 -58.9 -13.6C70.1 115 101 142.7 75 175c61.7 -8 6.8 52.3 -13.6 63c80.2 -6.9 81.4 48.8 77.5 71.6c28.5 -1 34 29.7 34 29.7s5.6 -30.7 34 -29.7c-3.9 -22.8 -2.7 -78.5 77.5 -71.6C264 227.3 209.1 167 270.8 175zM164.9 115.5c0 -3.7 3 -6.7 6.7 -6.7c0 0 0 0 0 0c3.7 0 6.7 3 6.7 6.7v22.7c0 0 -1.7 -4 -7 -4c-4.6 0 -6.4 4 -6.4 4V115.5zM164.9 154.7c0 -3.7 3 -6.7 6.7 -6.7c0 0 0 0 0 0c3.7 0 6.7 3 6.7 6.7v26.5c0 2.1 -1.3 2.5 -2.3 2.5c-1 0 -1.2 -0.1 -4.1 -3.3c-2.9 -3.2 -7 -8.1 -7 -8.1V154.7zM166.1 196.4c1.5 -0.6 2.4 0.5 3.6 2c1.2 1.4 1.6 1.8 1.6 1.8c2.9 3.2 7 8.1 7 8.1v12.1c0 3.7 -3 6.7 -6.7 6.7c-3.7 0 -6.7 -3 -6.7 -6.7v-21.1C164.9 198.3 164.6 197 166.1 196.4zM138 123.4c0 -3.7 3 -6.7 6.7 -6.7s6.7 3 6.7 6.7v55.8c0 3.7 -3 6.7 -6.7 6.7s-6.7 -3 -6.7 -6.7V123.4zM125.6 232.9c0 3.7 -3 6.7 -6.6 6.7h-0.2c-3.7 0 -6.6 -3 -6.6 -6.7v-94.8c0 -3.7 3 -6.7 6.6 -6.7h0.2c3.7 0 6.6 3 6.6 6.7V232.9zM138 246.7v-41c0 -3.7 3 -6.7 6.8 -6.7c3.7 0 6.8 3 6.8 6.7v41c0 3.7 -3 6.7 -6.8 6.7C141 253.3 138 250.4 138 246.7zM162.2 302.3c-2.7 1.9 -7.5 -0.5 -10.7 -5.2c-3.2 -4.7 -3.6 -10.1 -0.8 -11.9c2.7 -1.9 7.5 0.5 10.7 5.2C164.6 295.1 164.9 300.4 162.2 302.3zM178.4 261c0 3.7 -3 6.7 -6.8 6.7c-3.7 0 -6.8 -3 -6.8 -6.7v-23.1c0 0 2 4 6.8 4c5.1 0 6.8 -4 6.8 -4V261zM194.4 297.1c-3.2 4.7 -8 7 -10.7 5.2c-2.7 -1.9 -2.4 -7.2 0.8 -11.9c3.2 -4.7 8 -7 10.7 -5.2C197.9 287 197.6 292.4 194.4 297.1zM206 246.7c0 3.7 -2.9 6.7 -6.5 6.7H199c-3.6 0 -6.5 -3 -6.5 -6.7v-60.9c0 -3.7 2.9 -6.7 6.5 -6.7h0.5c3.6 0 6.5 3 6.5 6.7V246.7zM206 158.9c0 3.8 -3 6.9 -6.8 6.9c-3.8 0 -6.8 -3.1 -6.8 -6.9v-35.3c0 -3.8 3 -6.9 6.8 -6.9c3.8 0 6.8 3.1 6.8 6.9V158.9zM233.7 138.1l0 94.8c0 3.7 -3 6.7 -6.6 6.7h-0.2c-3.7 0 -6.6 -3 -6.6 -6.7v-94.8c0 -3.7 3 -6.7 6.6 -6.7h0.2C230.7 131.4 233.7 134.4 233.7 138.1L233.7 138.1z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M380.5 45L381 49.5L380 50.5L379 86.5L380 87.5L380 105.5L381 106.5L382 123.5L387 150.5L393 172.5L410 215.5L435 260L438 258.5L464 211.5L480 169.5L487 141.5L487 136.5L490 123.5L491 106.5L492 105.5L492 89.5L493 88.5L493 67.5L492 66.5Q493.7 53.8 491 45.5L493 46.5L496 65.5L503 87.5Q511.5 106 526 118.5Q518.4 126.4 514 137.5L510 151.5L510 166.5L513 176.5L519 187.5L508 202.5L492 237.5L459 292.5L492 333.5L555 402.5L574 429.5L587 457.5L594 482.5L596 500.5L597 501.5L597 510.5L598 511.5L598 548.5L597 549.5L597 558Q593.7 559.3 595 554.5Q582.1 508.4 561 470.5Q546.8 443.8 525.5 424L499 399.5Q465.2 364.8 436.5 325L434 326.5Q399.2 375.2 356.5 416L337 433.5Q295 484.3 277 558L275 557.5L275 548.5L274 547.5L274 512.5L275 511.5L276 494.5L281 470.5Q288.2 444.7 301 424.5L318 401.5L393 318.5L413 293.5L413 290.5L392 258.5Q375.4 231.6 363 200.5L353 187.5L353 185.5Q363.9 174.9 362 151.5L358 137.5L347 119.5L347 117.5Q360.9 105.4 369 87.5L375 69.5L379 46.5L380.5 45Z"
|
||||
android:fillColor="#90A3B8"
|
||||
android:fillAlpha="0.9607843"
|
||||
android:strokeColor="#90A3B8"
|
||||
android:strokeAlpha="0.9607843"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M188.7 55.2c0.4 3.1 0.9 6.3 1.4 9.4c0.1 0.6 0.2 1.2 0.3 1.8c12.6 2.1 24.6 6.3 35.4 12.2c2.7 -2.2 5.6 -4.6 8.9 -7.4C220.8 63.1 205.3 57.5 188.7 55.2zM287.1 132.2c-3.5 2.3 -6.4 4.9 -8.6 7.7c4.4 12.1 6.8 25.1 6.8 38.6c0 13.5 -2.4 26.5 -6.7 38.5c3.3 3 6.4 5.4 8.9 7.2c5.6 -14.2 8.7 -29.6 8.7 -45.7C296 162.2 292.9 146.5 287.1 132.2zM125.5 282.4c-16.1 -7.2 -30.2 -17.9 -41.3 -31.3c-3.1 -0.3 -6.3 -0.4 -9.7 -0.4c-1.4 0 -2.8 0 -4.2 0.1c14.1 19.7 33.7 35.1 56.6 43.9C126.8 290.9 126.4 286.7 125.5 282.4zM56.6 130.9c-6.1 14.7 -9.5 30.8 -9.5 47.7c0 16.7 3.3 32.6 9.3 47.1c2.3 -1.4 5.5 -3.7 8.9 -6.8c-4.8 -12.5 -7.4 -26.1 -7.4 -40.3c0 -14.4 2.7 -28.1 7.6 -40.8C63.1 135.2 60.1 132.9 56.6 130.9zM271.4 250.7c-4.5 0 -8.7 0.2 -12.7 0.8c-10.4 12.4 -23.3 22.5 -38 29.6c-1.1 4.3 -1.6 8.7 -1.7 12.6c21.7 -9 40.4 -24 53.9 -42.9C272.4 250.7 271.9 250.7 271.4 250.7zM110.1 70.4c3.2 2.8 6.2 5.3 8.9 7.5c11.2 -5.9 23.5 -10 36.6 -11.8c0.1 -0.4 0.2 -0.9 0.2 -1.3c0.6 -3.3 1.1 -6.6 1.5 -9.8C140.2 56.8 124.3 62.2 110.1 70.4z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M725 571L739.5 571L741 572.5L769.5 620L772 618.5L799 571L813.5 571L814 572.5L777 632.5L812 689.5L814 695L799.5 695L799 693.5L768.5 644L738.5 695L725.5 695L725 692.5L760 635.5L761 631.5L725 571Z"
|
||||
android:fillColor="#90A3B8"
|
||||
android:fillAlpha="0.9607843"
|
||||
android:strokeColor="#90A3B8"
|
||||
android:strokeAlpha="0.9607843"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M50.8 373.8c-6.1 0 -10.8 -3 -11 -8.7h7.3c0.2 2.2 1.6 3.2 3.5 3.2c2 0 3.3 -1 3.3 -2.7c0 -5.2 -14.1 -2.4 -14 -12.4c0 -5.3 4.4 -8.3 10.3 -8.3c6.1 0 10.3 3.1 10.6 8.4h-7.4c-0.1 -1.8 -1.4 -2.9 -3.3 -2.9c-1.6 0 -2.9 0.8 -2.9 2.6c0 4.9 13.9 2.7 13.9 12.1C61.1 369.8 57.4 373.8 50.8 373.8z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M216.5 104Q235.3 163.2 276.5 200Q291.5 213 310.5 222L329.5 229L342 231.5L337.5 232Q291.2 220.3 264 189.5Q233.2 156.8 217.5 109L216.5 118L216 109.5L217 107.5L216.5 104Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M64.7 345c0 -2.1 1.6 -3.7 4.1 -3.7c2.4 0 4.1 1.6 4.1 3.7c0 2 -1.6 3.7 -4.1 3.7C66.3 348.7 64.7 347.1 64.7 345zM65.3 351.1h6.9v22.4h-6.9V351.1z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M655.5 104L656 106.5L655 108.5L656 109.5L656 117.5L655 117.5L654.5 110Q636.9 161.9 601.5 196Q588.2 208.7 571.5 218Q554.3 228.3 530.5 232L530.5 231L542.5 229L569.5 218Q594.8 203.8 613 182.5Q640.8 149.8 655.5 104Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M77.2 343.8h6.9v29.7h-6.9V343.8z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M217.5 119L218 124.5L217 124.5L217.5 119Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M99 373.8c-6.6 0 -11.3 -4.4 -11.3 -11.5c0 -7.1 4.7 -11.5 11.3 -11.5c6.5 0 11.2 4.3 11.2 11.2c0 0.6 0 1.3 -0.1 2H94.5c0.2 2.9 2 4.3 4.3 4.3c1.9 0 3 -1 3.6 -2.2h7.3C108.6 370.4 104.6 373.8 99 373.8zM94.5 360.1h8.6c0 -2.5 -1.9 -3.9 -4.2 -3.9C96.7 356.2 94.9 357.6 94.5 360.1z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M654.5 120L655 125.5L654 125.5L654.5 120Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M129.3 361.3c0 -3.1 -1.7 -4.7 -4.3 -4.7c-2.6 0 -4.3 1.7 -4.3 4.7v12.2h-6.9v-22.4h6.9v3c1.4 -1.9 3.8 -3.2 6.8 -3.2c5.2 0 8.6 3.5 8.6 9.6v13.1h-6.8V361.3z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M435 124L437 124L437 129L435 129L435 124Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M141.9 356.8h-2.7v-5.7h2.7v-5.5h6.9v5.5h4.5v5.7h-4.5v9c0 1.3 0.6 1.9 2.1 1.9h2.5v5.8h-3.5c-4.7 0 -7.9 -2 -7.9 -7.8V356.8z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M218.5 126L219 130.5L218 130.5L218.5 126Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M182.5 359.4c0 8.4 -5.8 14.1 -14.8 14.1h-10.6v-28.2h10.6C176.7 345.3 182.5 351 182.5 359.4zM167.3 367.5c5.2 0 8.2 -3 8.2 -8.2c0 -5.2 -3.1 -8.2 -8.2 -8.2H164v16.4H167.3z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M653.5 127L654 131.5L651.5 141L651 137.5L653.5 127Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M193.2 373.5h-6.9v-22.4h6.9v3.7c1.6 -2.4 4 -4 7 -4v7.3h-1.9c-3.3 0 -5.1 1.1 -5.1 5V373.5z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M434.5 130L435 134.5L433.5 140L433 135.5L434.5 130Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M212.1 350.7c3.3 0 5.7 1.5 6.9 3.5v-3.2h6.9v22.4H219v-3.2c-1.2 2 -3.6 3.5 -6.9 3.5c-5.5 0 -9.8 -4.5 -9.8 -11.6C202.2 355.2 206.6 350.7 212.1 350.7zM214.1 356.7c-2.6 0 -4.9 1.9 -4.9 5.5c0 3.6 2.3 5.6 4.9 5.6c2.6 0 4.9 -2 4.9 -5.5C219 358.7 216.7 356.7 214.1 356.7z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M437.5 130L439 139.5L438 139.5L437.5 130Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M239.4 350.7c3.3 0 5.7 1.5 6.9 3.5v-3.2h6.9v22.4c0 6 -3.5 11.1 -11.2 11.1c-6.7 0 -11 -3.4 -11.6 -8.7h6.8c0.4 1.7 2.1 2.8 4.5 2.8c2.6 0 4.7 -1.4 4.7 -5.1v-3.2c-1.2 2 -3.6 3.5 -6.9 3.5c-5.5 0 -9.9 -4.5 -9.9 -11.6C229.5 355.2 233.8 350.7 239.4 350.7zM241.4 356.7c-2.6 0 -4.9 1.9 -4.9 5.5c0 3.6 2.3 5.6 4.9 5.6c2.6 0 4.9 -2 4.9 -5.5C246.3 358.7 244 356.7 241.4 356.7z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M219.5 132L221 140.5L220 140.5L219.5 132Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M268.3 373.8c-6.6 0 -11.6 -4.4 -11.6 -11.5c0 -7.1 5.1 -11.5 11.6 -11.5c6.6 0 11.6 4.4 11.6 11.5C280 369.4 274.9 373.8 268.3 373.8zM268.3 367.9c2.5 0 4.7 -1.8 4.7 -5.6c0 -3.8 -2.2 -5.6 -4.7 -5.6c-2.5 0 -4.7 1.8 -4.7 5.6C263.7 366 265.8 367.9 268.3 367.9z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M432.5 141L433 145.5L431.5 151L431 146.5L432.5 141Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M299.2 361.3c0 -3.1 -1.7 -4.7 -4.3 -4.7c-2.6 0 -4.3 1.7 -4.3 4.7v12.2h-6.9v-22.4h6.9v3c1.4 -1.9 3.8 -3.2 6.8 -3.2c5.2 0 8.6 3.5 8.6 9.6v13.1h-6.8V361.3z"
|
||||
android:fillColor="#FFFFFF" />
|
||||
android:pathData="M439.5 141L442 155.5L441 155.5L439.5 141Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M221.5 142L222 144.5L221 144.5L221.5 142Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M650.5 142L651 145.5Q636.6 202.6 598.5 236L576.5 252L533.5 273L522 283.5Q517.8 287.3 519 296.5Q522.3 304.7 529.5 309L545.5 318L562 324.5L560.5 325L533.5 313L521 302.5Q516.8 298.7 518 289.5Q520.1 282.1 525.5 278L543.5 266Q564.9 258.4 582.5 247Q600.4 234.9 614 218.5Q640 188 650.5 142Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M222.5 146L223 148.5L222 148.5L222.5 146Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M223.5 150Q238.7 205.8 277.5 238L297.5 252L330.5 267L349 280.5L354 288.5L354 296.5Q351.4 303.9 345.5 308Q330.6 319.1 310.5 325L311.5 323L316.5 322L336.5 313L351 300.5Q354.3 296.8 353 288.5L342.5 276L333.5 270L295.5 252Q275.2 239.8 260 222.5Q247.4 208.1 238 190.5L226 162.5L223.5 150Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M430.5 152L431 155.5L430 155.5L430.5 152Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M429.5 157L430 160.5L429 160.5L429.5 157Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M442.5 157L443 160.5L442 160.5L442.5 157Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M428.5 162L429 165.5L428 165.5L428.5 162Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M443.5 162L444 165.5L443 165.5L443.5 162Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M427.5 167L428 170.5L427 170.5L427.5 167Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M444.5 167L448 183.5L447 183.5L444 170.5L444.5 167Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M426.5 172L427 175.5L425.5 180L425 176.5L426.5 172Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M424.5 181L425 184.5L421.5 196L421 193.5L424.5 181Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M448.5 185L455 208.5L437 242Q434.3 243.1 435 240.5Q423.6 225.4 417 205.5L420.5 197L421 199.5L418 207.5L435 240Q437.7 241.1 437 238.5Q447.8 224.3 454 205.5L449 192.5L448.5 185Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M365.5 230Q382.3 262.7 402 292.5L356.5 346L354.5 346Q343.5 336 328.5 330L313 325.5L316.5 325Q339.6 331.4 355.5 345Q379.8 319.8 401 291.5Q381 263.5 365.5 231L362.5 234L350.5 234L350.5 233L362.5 233L365.5 230Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M506.5 230L510.5 233L522 233.5L509.5 234L506 231.5Q490.9 263.9 471 291.5Q492.2 319.8 516.5 345Q528.4 335.4 543.5 329L558.5 325L558.5 326L541.5 331Q527.6 336.6 517.5 346L515.5 346Q491.2 320.3 470 291.5Q490 262.5 506.5 230Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M343.5 232L349 232.5L343.5 233L343.5 232Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M523.5 232L529 232.5L523.5 233L523.5 232Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M435.5 341L440 344.5Q461.5 373.5 486 399.5L483 397.5Q457.6 371.5 437 342Q434.3 340.9 435 343.5Q414.3 371.3 390 395.5Q386 398 386.5 405L386 398.5Q412.6 371.6 435.5 341Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M485.5 401L486 405.5L485 405.5L485.5 401Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M387.5 406L388 413.5L387 413.5L387.5 406Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M484.5 407L485 414.5L484 414.5L484.5 407Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M388.5 417L389 431.5L388 431.5L388.5 417Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M483.5 418L484 430.5L483 430.5L483.5 418Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M484.5 435L485 437.5L470.5 447L471.5 445L484 436.5L484.5 435Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M387.5 436L401.5 446Q401.4 438.4 406.5 436L411.5 436L419 441.5Q421.8 444.2 421 450.5L417 456.5L430 473.5L435 486Q438 487.3 437 483.5Q443.7 467.7 455 456.5L451 450.5L451 445.5L455.5 439Q458.1 435.1 465.5 436Q469.9 438.1 470 444.5L469 444.5Q469.7 438.3 465.5 437L460.5 437L453 443.5L452 450.5L456 455.5L456 457.5L442 475.5L437 486.5L437 490Q433.7 491.3 435 486.5L430 475.5L416 457.5L416 455.5Q421.1 453.6 420 445.5L414.5 439Q412.5 436 406.5 437L404 439.5L403 445.5L401.5 447L387 437.5L387.5 436Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M84.5 571L133 571.5L84.5 572L84.5 571Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M134.5 572Q160.1 575.4 173 591.5Q181.8 600.7 184 616.5L183 616.5L183 613.5L178 600.5L162.5 583L146.5 575L134.5 573L134.5 572Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M96 581L127 581.5L97 582L97 683L130.5 683L130.5 684L96 684L96 581Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M129.5 582Q153.6 583.9 164 599.5L170 612.5L169 612.5Q165.6 599.9 156.5 593L142.5 585L129.5 583L129.5 582Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M245.5 596L254 596L254 610Q235 608.2 227 618.5L221 632.5L221 695L207.5 695L207 694.5L207 598.5L208 598.5L208 693.5L208.5 694L220 694L220 632.5L223 622.5L231.5 613L242.5 609L253 609L253 597L245.5 597L245.5 596Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M306.5 596L317 596.5L306.5 597L306.5 596Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M425.5 596L436 596.5L425.5 597L425.5 596Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M545.5 596L556 596.5L545.5 597L545.5 596Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M658.5 596L674 596.5L658.5 597L658.5 596Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M240.5 597L244 597.5Q232.2 599.2 226 606.5L220.5 615L220 598.5L221 598.5L221.5 611L229.5 602L240.5 597Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M300.5 597L305 597.5Q285.2 600.2 276 613.5Q267.9 622.9 266.5 639L266 633.5Q269.7 616.7 280.5 607Q288.4 599.9 300.5 597Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M318.5 597L323 597.5L318.5 598L318.5 597Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M418.5 597L423 597.5Q405.5 600.5 396 611.5Q387.9 620.4 385.5 635L385 631.5Q389.1 614.1 401.5 605L418.5 597Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M437.5 597Q454.8 598.7 463 609.5L468 616.5L468 618.5L467 618.5Q463.8 609.8 456.5 605Q449.5 599 437.5 598L437.5 597Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M539.5 597L544 597.5L539.5 598L539.5 597Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M558.5 597Q580.1 599.9 590 614.5L596 625.5L597 630.5L596 630.5Q592.6 615.9 582.5 608L569.5 600L558.5 598L558.5 597Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M654.5 597L657 597.5L654.5 598L654.5 597Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M675.5 597L681.5 598L695 606.5Q704.5 615 705 632.5L704 632.5L704 626.5L702 619.5Q698.2 609.8 690.5 604Q685.2 598.7 675.5 598L675.5 597Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M324.5 598Q338.9 601.1 346 611.5L348.5 616L349.5 598L350 618.5L348 617.5L340.5 607Q334.5 601 324.5 599L324.5 598Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M480.5 598L481 702.5L480 702.5L480.5 598Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M535.5 598L538 598.5Q520.9 602.9 512 615.5Q505 624 503.5 638L503 633.5Q507.2 615.7 519.5 606L535.5 598Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M633.5 598L634.5 611L641.5 603L652.5 598L652.5 599Q641.6 602.1 636 610.5L633.5 614L633.5 598Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M309.5 607L319 607.5L309.5 608L309.5 607Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M427.5 607L437 607.5L427.5 608L427.5 607Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M546.5 607L555 607.5L546.5 608L546.5 607Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M656.5 607Q677.8 604.8 686 615.5L691 625.5L690 625.5Q687.5 616.4 680.5 612Q672.5 606 656.5 608Q645.6 610.6 640 618.5Q635.6 624.1 634.5 633L634 629.5Q636.3 619.8 642.5 614L656.5 607Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M304.5 608L308 608.5L304.5 609L304.5 608Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M320.5 608Q336 610.5 343 621.5Q347.2 625.8 348 633.5L347 633.5Q344 621.5 335.5 615Q330.2 609.8 320.5 609L320.5 608Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M422.5 608L426 608.5Q412.1 611.1 405 620.5L399.5 631L399 629.5Q402.8 618.8 411.5 613L422.5 608Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M438.5 608L442 608.5L438.5 609L438.5 608Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M540.5 608L545 608.5Q531.4 609.9 525 618.5Q518.2 625.2 516.5 637L516 633.5Q519.3 620.8 528.5 614L540.5 608Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M556.5 608Q572.1 609.9 579 620.5L584 631.5L583 631.5Q580.6 621.4 573.5 616Q568 609.5 556.5 609L556.5 608Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M300.5 609L303 609.5Q291.2 613.2 285 622.5Q280.5 628.5 279.5 638L279 633.5Q282.4 620.9 291.5 614L300.5 609Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M443.5 609Q454.4 611.6 460 619.5Q468.1 627.9 468 644.5L467 644.5Q466.6 622.4 452.5 614L443.5 610L443.5 609Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M170.5 614L172 621.5L171 621.5L170.5 614Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M184.5 618L185 622.5L184 622.5L184.5 618Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M172.5 623L173 642.5L172 642.5L172.5 623Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M185.5 625L186 640.5L185 640.5L185.5 625Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M691.5 627L692 629.5L691 629.5L691.5 627Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M692.5 631L693 694L705 694.5L692 695L692.5 631Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M398.5 632L399 634.5L397.5 641L397 635.5L398.5 632Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M597.5 632L598 635.5L597 635.5L597.5 632Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M584.5 633L585 635.5L584 635.5L584.5 633Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M633.5 634L634 695L621 694.5L633 694L633.5 634Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M348.5 635L349 638.5L348 638.5L348.5 635Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M384.5 636L385 655.5L384 655.5L384.5 636Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M585.5 637L586 654.5L585 654.5L585.5 637Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M598.5 637L599 654.5L598 654.5L598.5 637Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M515.5 638L516 653.5L515 653.5L515.5 638Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M278.5 639L279 652.5L278 652.5L278.5 639Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M349.5 640L350 651.5L349 651.5L349.5 640Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M502.5 640L503 651.5L502 651.5L502.5 640Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M265.5 641L266 650.5L265 650.5L265.5 641Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M184.5 642L185 647.5L183.5 652L183 648.5L184.5 642Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M171.5 644L172 647.5L171 647.5L171.5 644Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M467.5 647L468 654.5L467 654.5L467.5 647Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M170.5 649L171 651.5Q167.2 665.2 157.5 673L143.5 681L132.5 683L132.5 682Q154.1 679.1 164 664.5L170.5 649Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M397.5 651L398 655.5L397 655.5L397.5 651Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M182.5 653L183 655.5Q177.2 673.2 163.5 683Q156.2 688.7 145.5 691L145.5 690Q163.4 685.4 173 672.5Q179.9 664.9 182.5 653Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M266.5 653Q269.2 676.3 284.5 687Q296.1 696.4 318 695.5L304.5 696Q286.8 692.7 277 681.5Q266.8 671.2 266.5 653Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M348.5 653L349 657.5Q345.1 671.6 334.5 679L324.5 684L321.5 684L321.5 683L329.5 681L341 671.5Q347.3 664.8 348.5 653Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M279.5 654L280 657.5L279 657.5L279.5 654Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M503.5 654Q506 674 518.5 684Q527 692.5 542 694.5L537.5 695Q521 690.5 512 678.5Q503.7 669.3 503.5 654Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M516.5 655Q518.8 669.7 528.5 677L539 682.5L537.5 683Q527.5 679.5 522 671.5Q516.5 665 516.5 655Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M466.5 656L467 658.5Q463.7 671.2 454.5 678Q445.3 686.3 426.5 685L426.5 684Q438.3 685.3 445.5 682Q455.2 677.7 461 669.5L466.5 656Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M584.5 656L585 659.5Q581 672 571.5 679L556.5 685L544.5 685L544.5 684Q567.7 685.2 577 672.5Q583 666.5 584.5 656Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M597.5 656L598 659.5L597 659.5L597.5 656Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M385.5 657Q388.5 674.5 399.5 684Q406.4 690.6 417 693.5L414.5 694Q401.6 689.4 394 679.5L386 664.5L385.5 657Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M398.5 657Q401.5 670 410.5 677Q415.9 682.1 425 683.5L421.5 684Q409.6 679.9 403 670.5Q398.3 664.9 398.5 657Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M280.5 659Q283.8 671.7 293.5 678Q298.6 682.4 307 683.5L303.5 684Q292.4 680.6 286 672.5L280 661.5L280.5 659Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M596.5 661L597 663.5Q592.1 678.6 580.5 687L569.5 693L564.5 694L564.5 693Q579.1 689.6 587 679.5Q593.6 672.1 596.5 661Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M349.5 673L350 694L362 694.5L349 695L348.5 676L338.5 688Q331.5 694 319.5 695L319.5 694L329.5 692L343 682.5L349.5 673Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M467.5 673L468 674.5L460.5 685L445.5 694L438.5 695L438.5 694Q455.8 691.3 464 679.5L467.5 673Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M540.5 683L543 683.5L540.5 684L540.5 683Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M308.5 684L320 684.5L308.5 685L308.5 684Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M141.5 691L144 691.5L141.5 692L141.5 691Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M136.5 692L140 692.5L136.5 693L136.5 692Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M127.5 693L135 693.5L127.5 694L127.5 693Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M84.5 694L122 694.5L84.5 695L84.5 694Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M418.5 694L422 694.5L418.5 695L418.5 694Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M559.5 694L563 694.5L559.5 695L559.5 694Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M423.5 695L437 695.5L423.5 696L423.5 695Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M543.5 695L558 695.5L543.5 696L543.5 695Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M467.5 697L468 704.5L467 704.5L467.5 697Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M479.5 704L480 708.5Q476.1 724.6 464.5 733Q456.3 740.3 441.5 741L441.5 740L446.5 740L453.5 738Q463.3 733.8 470 726.5L478 712.5L479.5 704Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M466.5 706L467 708.5Q463.6 719.1 455.5 725Q450.1 729.6 440.5 730L440.5 729L447.5 728L460 719.5Q465 714.5 466.5 706Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M389 708L402.5 708L403 710.5Q406.3 718.3 412.5 723Q419.2 728.3 430 729.5L425.5 730Q411.8 726.8 405 716.5L402 709L390.5 709L389.5 710L389 708Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M390.5 711L393 718.5L404.5 732Q413.9 739.1 429 740.5L423.5 741Q407.2 737.8 398 727.5L391 716.5L390.5 711Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M432.5 730L439 730.5L432.5 731L432.5 730Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M432.5 741L438 741.5L432.5 742L432.5 741Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:fillAlpha="0.9490196"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeAlpha="0.9490196"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M216.5 107Q234.1 160.9 270.5 196Q290.2 214.8 317.5 226L337.5 232L349.5 233L350.5 234L362.5 234L366 231.5Q381.1 263.9 401 291.5Q379.8 319.8 355.5 345Q343.9 335.1 328.5 329L312 324.5L338.5 313L351 302.5Q355.3 298.3 354 288.5L345.5 277L330.5 267Q308.2 258.8 289.5 247Q271.6 234.9 258 218.5Q238.2 194.8 227 162.5L219 131.5L218 119.5L217 118.5L217 109.5L216.5 107Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M654.5 110L655 119.5L647 156.5L635 186.5Q619.5 217 594.5 238L574.5 252L536.5 270L523 280.5Q516.8 284.7 518 296.5Q520.6 303.9 526.5 308Q541 318.5 560 324.5L543.5 329Q528.4 335.4 516.5 345Q492.2 319.8 471 291.5Q491 263.5 506.5 231L509.5 234L521.5 234L542.5 230Q558.5 225.5 571.5 218Q593 206 609 188.5Q638.8 156.3 654.5 110Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M435 129Q439 127.6 437 134.5L448 188.5L454 207.5L437 240Q434.3 241.1 435 238.5Q424.6 224.4 418 206.5L421 199.5L427 175.5L435 129Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M435 342Q437.7 340.9 437 343.5L486 400.5L484 407.5L483 430.5Q485.2 431.8 484 436.5L470.5 446Q470.6 438.4 465.5 436L460.5 436L454 440.5Q450.1 443.1 451 450.5L455 456.5L442 473.5L437 486Q434 487.3 435 483.5Q428.2 467.7 417 456.5L421 450.5L421 445.5L416.5 439Q413.9 435.1 406.5 436Q401.7 438.7 401.5 446L388 436.5L389 417.5L388 416.5L387 399.5Q413.4 372.6 435 342Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M84 572L133.5 572L146.5 575Q164.2 580.8 174 594.5Q181.2 603.8 184 617.5Q182.8 622.3 185 623.5L185 641.5L183 652.5L177 666.5L165.5 680Q153.8 689.8 135.5 693L127.5 693L126.5 694L84 694L84 572ZM96 581L96 684L131 684Q132 682 137 683Q149 680 158 673L167 662L173 643L173 624Q171 622 172 618L164 600Q156 589 143 584L127 581L96 581Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M244.5 597L253 597L253 609Q232.7 607.5 225 619.5L220 632.5L220 694L208.5 694L208 693.5L208 598L220 598L220 614.5L221 614.5L227.5 605Q234.1 599.1 244.5 597Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M305.5 597L323.5 598Q335.7 601.3 343 609.5L349.5 619L350 598L361.5 598L362 598.5L362 694L350 694L350 673.5L348 674.5L341.5 684Q334.5 691 323.5 694L304.5 695Q285.4 691.6 276 678.5Q264.8 665.2 266 639.5L268 629.5L272 619.5L283.5 606L291.5 601L305.5 597ZM310 607L301 609L292 614L282 626L278 640Q277 661 286 673Q294 682 309 685L325 684L335 679L345 668L350 652Q351 632 343 622Q334 606 310 607Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M423.5 597Q452.7 595.8 464 612.5L467.5 619L468 598L479.5 598L480 598.5L480 703.5Q477.2 720.7 466.5 730Q454.6 742.1 429.5 741L419.5 739L407.5 734L397 724.5Q391.6 718.3 390 709L401.5 709L402 710.5Q405.6 719.9 413.5 725L425.5 730L438.5 731L452.5 727L462 718.5L468 704.5L468 673.5L467 673.5Q463.8 682.3 456.5 687L445.5 693L437.5 695L422.5 695Q405.4 691.6 396 680.5Q387.8 671.2 385 656.5L385 635.5Q388.3 617.8 399.5 608Q408.6 599.6 423.5 597ZM428 607L417 610L412 613L400 627L397 636L397 645L396 646L398 660L403 671Q410 682 427 685Q445 686 455 678Q465 670 468 655L468 638Q466 627 460 620Q451 606 428 607Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M544.5 597L557.5 597L569.5 600Q580.6 604.9 588 613.5L597 631.5L598 636.5L598 655.5Q594.5 674 582.5 684Q574.8 690.8 563.5 694L558.5 695L542.5 695Q524 691.5 514 679.5Q501.5 666 503 638.5Q506.6 616.6 521.5 606L532.5 600L544.5 597ZM547 607L538 609L529 614L520 624L515 639Q513 660 522 672Q529 682 545 685L557 685L572 679Q583 671 586 655L586 638L584 630L579 621Q570 606 547 607Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeWidth="1" />
|
||||
<path
|
||||
android:pathData="M657.5 597Q686.5 594.5 697 610.5L702 619.5L705 633.5L705 694L693.5 694L693 693.5L693 631.5L689 619.5L683.5 613Q675.2 604.8 656.5 607Q646.8 609.3 641 615.5L636 623.5L633 634.5L633 694L621.5 694L621 693.5L621 598L633 598L633 613.5L636 611.5L643.5 603L657.5 597Z"
|
||||
android:fillColor="#F8FFFF"
|
||||
android:strokeColor="#F8FFFF"
|
||||
android:strokeWidth="1" />
|
||||
</vector>
|
||||
@@ -5,5 +5,5 @@
|
||||
android:height="512dp">
|
||||
<path
|
||||
android:pathData="M433 179.11c0 -97.2 -63.71 -125.7 -63.71 -125.7 -62.52 -28.7 -228.56 -28.4 -290.48 0 0 0 -63.72 28.5 -63.72 125.7 0 115.7 -6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81 -2.8 79.32 -18.1 79.32 -18.1l-1.7 -36.9s-36.31 11.4 -77.12 10.1c-40.41 -1.4 -83 -4.4 -89.63 -54a102.54 102.54 0 0 1 -0.9 -13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12 -6.7 105 -41.3 111.23 -72.9 9.8 -49.8 9 -121.5 9 -121.5zm-75.12 125.2h-46.63v-114.2c0 -49.7 -64 -51.6 -64 6.9v62.5h-46.33V197c0 -58.5 -64 -56.6 -64 -6.9v114.2H90.19c0 -122.1 -5.2 -147.9 18.41 -175 25.9 -28.9 79.82 -30.8 103.83 6.1l11.6 19.5 11.6 -19.5c24.11 -37.1 78.12 -34.8 103.83 -6.1 23.71 27.3 18.4 53 18.4 175z"
|
||||
android:fillColor="#000000" />
|
||||
android:fillColor="@color/app_icon_background_0" />
|
||||
</vector>
|
||||
@@ -13,5 +13,5 @@
|
||||
android:fillAlpha="0.5" />
|
||||
<path
|
||||
android:pathData="M1.432 6.084v51.833h3.73v1.244H0V4.84h5.162v1.243zm20.788 16.43v2.623h0.075c0.7 -0.998 1.542 -1.774 2.53 -2.323s2.117 -0.824 3.4 -0.824c1.224 0 2.342 0.238 3.353 0.712s1.78 1.3 2.305 2.5c0.574 -0.85 1.355 -1.6 2.342 -2.248s2.154 -0.974 3.504 -0.974c1.024 0 1.973 0.125 2.848 0.375s1.623 0.65 2.248 1.2 1.1 1.268 1.462 2.154 0.525 1.955 0.525 3.204v12.964h-5.32V30.9l-0.075 -1.836c-0.05 -0.574 -0.187 -1.073 -0.412 -1.5s-0.556 -0.762 -0.993 -1.012 -1.03 -0.374 -1.78 -0.374 -1.355 0.145 -1.817 0.43a3.12 3.12 0 0 0 -1.087 1.124c-0.263 0.46 -0.437 0.987 -0.524 1.574a12 12 0 0 0 -0.131 1.78v10.8h-5.32V31.022l-0.037 -1.705c-0.025 -0.562 -0.13 -1.08 -0.32 -1.556s-0.5 -0.855 -0.937 -1.143 -1.08 -0.43 -1.93 -0.43c-0.25 0 -0.58 0.056 -0.993 0.17a3.3 3.3 0 0 0 -1.199 0.637c-0.388 0.313 -0.718 0.762 -0.993 1.35s-0.412 1.355 -0.412 2.304v11.24H17.2V22.515zm40.348 35.402V6.084h-3.73V4.84H64v54.32h-5.162v-1.244z"
|
||||
android:fillColor="#000000" />
|
||||
android:fillColor="@color/app_icon_background_0" />
|
||||
</vector>
|
||||
@@ -5,5 +5,5 @@
|
||||
android:height="24dp">
|
||||
<path
|
||||
android:pathData="M12 6.545v10.91L20.727 12M3.273 12v12L12 17.455M3.273 0v12L12 6.545"
|
||||
android:fillColor="#000000" />
|
||||
android:fillColor="@color/app_icon_background_0" />
|
||||
</vector>
|
||||
@@ -4,6 +4,6 @@
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="@android:color/black"
|
||||
android:fillColor="@color/app_icon_background_0"
|
||||
android:pathData="M18,17L6,17v-2h12v2zM18,13L6,13v-2h12v2zM18,9L6,9L6,7h12v2zM3,22l1.5,-1.5L6,22l1.5,-1.5L9,22l1.5,-1.5L12,22l1.5,-1.5L15,22l1.5,-1.5L18,22l1.5,-1.5L21,22L21,2l-1.5,1.5L18,2l-1.5,1.5L15,2l-1.5,1.5L12,2l-1.5,1.5L9,2 7.5,3.5 6,2 4.5,3.5 3,2v20z"/>
|
||||
</vector>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
android:width="412dp">
|
||||
<path
|
||||
android:fillAlpha="0.6"
|
||||
android:fillColor="#000000"
|
||||
android:fillColor="@color/app_icon_background_0"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M412,0L412,732L0,732L0,0L412,0ZM351,135L61,135L46,150.005L46,440L61,455L351,455L366,439.184L366,150.005L351,135Z"
|
||||
android:strokeAlpha="0.5108352"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
android:pathData="M412,0L412,732L0,732L0,0L412,0ZM327.484,157L85.516,157L73,169.473L73,410.531L85.516,423L327.484,423L340,409.853L340,169.473L327.484,157Z"
|
||||
android:strokeAlpha="0.5108352"
|
||||
android:strokeWidth="1"
|
||||
android:fillColor="#000000"
|
||||
android:fillColor="@color/app_icon_background_0"
|
||||
android:fillType="evenOdd"
|
||||
android:strokeColor="#00000000"
|
||||
android:fillAlpha="0.6"/>
|
||||
|
||||
@@ -5,5 +5,5 @@
|
||||
android:height="512dp">
|
||||
<path
|
||||
android:pathData="M248 8C111.033 8 0 119.033 0 256S111.033 504 248 504 496 392.967 496 256 384.967 8 248 8ZM362.952 176.66c-3.732 39.215 -19.881 134.378 -28.1 178.3 -3.476 18.584 -10.322 24.816 -16.948 25.425 -14.4 1.326 -25.338 -9.517 -39.287 -18.661 -21.827 -14.308 -34.158 -23.215 -55.346 -37.177 -24.485 -16.135 -8.612 -25 5.342 -39.5 3.652 -3.793 67.107 -61.51 68.335 -66.746 0.153 -0.655 0.3 -3.1 -1.154 -4.384s-3.59 -0.849 -5.135 -0.5q-3.283 0.746 -104.608 69.142 -14.845 10.194 -26.894 9.934c-8.855 -0.191 -25.888 -5.006 -38.551 -9.123 -15.531 -5.048 -27.875 -7.717 -26.8 -16.291q0.84 -6.7 18.45 -13.7 108.446 -47.248 144.628 -62.3c68.872 -28.647 83.183 -33.623 92.511 -33.789 2.052 -0.034 6.639 0.474 9.61 2.885a10.452 10.452 0 0 1 3.53 6.716A43.765 43.765 0 0 1 362.952 176.66Z"
|
||||
android:fillColor="#000000" />
|
||||
android:fillColor="@color/app_icon_background_0" />
|
||||
</vector>
|
||||
1089
app/src/main/res/drawable/ic_twatter.xml
Normal file
@@ -5,5 +5,5 @@
|
||||
android:height="512dp">
|
||||
<path
|
||||
android:pathData="M352 256c0 22.2 -1.2 43.6 -3.3 64H163.3c-2.2 -20.4 -3.3 -41.8 -3.3 -64s1.2 -43.6 3.3 -64H348.7c2.2 20.4 3.3 41.8 3.3 64zm28.8 -64H503.9c5.3 20.5 8.1 41.9 8.1 64s-2.8 43.5 -8.1 64H380.8c2.1 -20.6 3.2 -42 3.2 -64s-1.1 -43.4 -3.2 -64zm112.6 -32H376.7c-10 -63.9 -29.8 -117.4 -55.3 -151.6c78.3 20.7 142 77.5 171.9 151.6zm-149.1 0H167.7c6.1 -36.4 15.5 -68.6 27 -94.7c10.5 -23.6 22.2 -40.7 33.5 -51.5C239.4 3.2 248.7 0 256 0s16.6 3.2 27.8 13.8c11.3 10.8 23 27.9 33.5 51.5c11.6 26 21 58.2 27 94.7zm-209 0H18.6C48.6 85.9 112.2 29.1 190.6 8.4C165.1 42.6 145.3 96.1 135.3 160zM8.1 192H131.2c-2.1 20.6 -3.2 42 -3.2 64s1.1 43.4 3.2 64H8.1C2.8 299.5 0 278.1 0 256s2.8 -43.5 8.1 -64zM194.7 446.6c-11.6 -26 -20.9 -58.2 -27 -94.6H344.3c-6.1 36.4 -15.5 68.6 -27 94.6c-10.5 23.6 -22.2 40.7 -33.5 51.5C272.6 508.8 263.3 512 256 512s-16.6 -3.2 -27.8 -13.8c-11.3 -10.8 -23 -27.9 -33.5 -51.5zM135.3 352c10 63.9 29.8 117.4 55.3 151.6C112.2 482.9 48.6 426.1 18.6 352H135.3zm358.1 0c-30 74.1 -93.6 130.9 -171.9 151.6c25.5 -34.2 45.2 -87.7 55.3 -151.6H493.4z"
|
||||
android:fillColor="#000000" />
|
||||
android:fillColor="@color/app_icon_background_0" />
|
||||
</vector>
|
||||
1229
app/src/main/res/drawable/ic_youtube.xml
Normal file
@@ -383,7 +383,8 @@ text_address_part_3, text_address_part_6, text_address_part_9, text_address_part
|
||||
android:layout_height="wrap_content"
|
||||
android:minWidth="320dp"
|
||||
android:text="@string/backup_button_primary"
|
||||
android:textColor="@color/text_light"
|
||||
android:textColor="@color/app_icon_background_0"
|
||||
app:backgroundTint="@color/selector_button_text_light_dimmed"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/button_seedphrase_more_info" />
|
||||
@@ -394,7 +395,8 @@ text_address_part_3, text_address_part_6, text_address_part_9, text_address_part
|
||||
android:layout_height="wrap_content"
|
||||
android:minWidth="320dp"
|
||||
android:text="@string/backup_button_more_info"
|
||||
android:textColor="@color/text_dark"
|
||||
android:textColor="@color/app_icon_background_0"
|
||||
app:backgroundTint="@color/selector_button_text_light_to_dimmed"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/guideline_buttons" />
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
app:layout_constraintVertical_bias="0.065"
|
||||
app:layout_constraintWidth_percent="0.08"
|
||||
app:srcCompat="@drawable/ic_cancel"
|
||||
app:tint="@color/text_light_dimmed" />
|
||||
app:tint="@color/colorAccent" />
|
||||
|
||||
|
||||
<TextView
|
||||
@@ -159,7 +159,7 @@
|
||||
android:textColor="@color/zcashYellow"
|
||||
app:layout_constraintTop_toTopOf="@id/background_top"
|
||||
app:layout_constraintEnd_toStartOf="@+id/guideline_content_end"
|
||||
tools:text="Shielded HUSH" />
|
||||
tools:text="Shielded DRGX" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_shield_amount"
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
android:elevation="8dp"
|
||||
android:textSize="20dp"
|
||||
android:gravity="center"
|
||||
android:text="You should never receive HUSH in a transparent address."
|
||||
android:text="You should never receive DRGX in a transparent address."
|
||||
app:layout_constraintVertical_bias="0.24"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_title"
|
||||
app:layout_constraintBottom_toBottomOf="@id/card_background"
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
android:id="@+id/back_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:tint="@color/text_light"
|
||||
app:tint="@color/colorAccent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.05"
|
||||
|
||||
@@ -296,7 +296,7 @@
|
||||
android:paddingBottom="24dp"
|
||||
android:paddingStart="56dp"
|
||||
android:paddingEnd="56dp"
|
||||
android:textColor="@color/selector_button_text_dark"
|
||||
android:textColor="@color/colorPrimary"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintTop_toTopOf="@id/lottie_button_loading"
|
||||
app:layout_constraintBottom_toBottomOf="@id/lottie_button_loading"
|
||||
@@ -404,7 +404,6 @@
|
||||
android:maxLines="1"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
|
||||
app:autoSizeTextType="uniform"
|
||||
app:layout_constraintBottom_toTopOf="@id/guideline_send_amount_bottom"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:elevation="6dp"
|
||||
app:tint="@color/text_light_dimmed"
|
||||
app:tint="@color/colorAccent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="H,1:1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -70,7 +70,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:elevation="6dp"
|
||||
app:tint="@color/text_light_dimmed"
|
||||
app:tint="@color/colorAccent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="H,1:1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -194,7 +194,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="128dp"
|
||||
android:background="@drawable/background_banner"
|
||||
android:background="@drawable/background_balance_detail_amounts_container"
|
||||
android:elevation="6dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingTop="8dp"
|
||||
@@ -225,7 +225,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="© 2016-2022 The Hush Developers\nAll rights reserved. Licensed under GPLv3"
|
||||
android:text="© 2016-2023 The Hush Developers\nAll rights reserved. Licensed under GPLv3"
|
||||
android:textAlignment="center"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -262,31 +262,23 @@
|
||||
app:srcCompat="@drawable/ic_telegram" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/matrixButton"
|
||||
android:id="@+id/fakebookButton"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="64dp"
|
||||
android:layout_weight="1"
|
||||
android:scaleType="fitCenter"
|
||||
app:tint="#333333"
|
||||
app:srcCompat="@drawable/ic_matrix" />
|
||||
app:srcCompat="@drawable/ic_fakebook" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/mastodonButton"
|
||||
android:id="@+id/twatterButton"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="64dp"
|
||||
android:layout_weight="1"
|
||||
android:scaleType="fitCenter"
|
||||
app:tint="#333333"
|
||||
app:srcCompat="@drawable/ic_mastodon" />
|
||||
app:srcCompat="@drawable/ic_twatter" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/peertubeButton"
|
||||
android:layout_width="64dp"
|
||||
android:layout_height="64dp"
|
||||
android:layout_weight="1"
|
||||
android:scaleType="fitCenter"
|
||||
app:tint="#333333"
|
||||
app:srcCompat="@drawable/ic_peertube" />
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -60,7 +60,7 @@
|
||||
android:id="@+id/overlay_bottom"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/scan_overlay_background"
|
||||
android:background="@color/app_icon_background_0"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -70,7 +70,7 @@
|
||||
android:id="@+id/overlay_end"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/scan_overlay_background"
|
||||
android:background="@color/app_icon_background_0"
|
||||
app:layout_constraintBottom_toBottomOf="@id/spacer_overlay"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/spacer_overlay"
|
||||
@@ -80,7 +80,7 @@
|
||||
android:id="@+id/overlay_start"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/scan_overlay_background"
|
||||
android:background="@color/app_icon_background_0"
|
||||
app:layout_constraintBottom_toBottomOf="@id/spacer_overlay"
|
||||
app:layout_constraintEnd_toStartOf="@id/spacer_overlay"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -90,7 +90,7 @@
|
||||
android:id="@+id/overlay_top"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/scan_overlay_background"
|
||||
android:background="@color/app_icon_background_0"
|
||||
app:layout_constraintBottom_toTopOf="@id/spacer_overlay"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
@@ -101,7 +101,7 @@
|
||||
android:id="@+id/overlay_top_left_notch"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/scan_overlay_background"
|
||||
android:background="@color/app_icon_background_0"
|
||||
app:layout_constraintDimensionRatio="H,1:1"
|
||||
app:layout_constraintStart_toEndOf="@id/overlay_start"
|
||||
app:layout_constraintTop_toBottomOf="@id/overlay_top"
|
||||
@@ -111,7 +111,7 @@
|
||||
android:id="@+id/overlay_top_right_notch"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/scan_overlay_background"
|
||||
android:background="@color/app_icon_background_0"
|
||||
app:layout_constraintDimensionRatio="H,1:1"
|
||||
app:layout_constraintEnd_toStartOf="@id/overlay_end"
|
||||
app:layout_constraintTop_toBottomOf="@id/overlay_top"
|
||||
@@ -121,7 +121,7 @@
|
||||
android:id="@+id/overlay_bottom_left_notch"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/scan_overlay_background"
|
||||
android:background="@color/app_icon_background_0"
|
||||
app:layout_constraintBottom_toTopOf="@id/overlay_bottom"
|
||||
app:layout_constraintDimensionRatio="H,1:1"
|
||||
app:layout_constraintStart_toEndOf="@id/overlay_start"
|
||||
@@ -131,7 +131,7 @@
|
||||
android:id="@+id/overlay_bottom_right_notch"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:background="@color/scan_overlay_background"
|
||||
android:background="@color/app_icon_background_0"
|
||||
app:layout_constraintBottom_toTopOf="@id/overlay_bottom"
|
||||
app:layout_constraintDimensionRatio="H,1:1"
|
||||
app:layout_constraintEnd_toStartOf="@id/overlay_end"
|
||||
@@ -173,7 +173,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:contentDescription="@string/content_description_scan_back"
|
||||
app:tint="@color/text_light_dimmed"
|
||||
app:tint="@color/colorAccent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="H,1:1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/content_description_send_back"
|
||||
app:tint="@color/text_light"
|
||||
app:tint="@color/colorAccent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.05"
|
||||
@@ -109,7 +109,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/content_description_send_arrow"
|
||||
app:tint="@color/colorPrimary"
|
||||
app:tint="@color/colorAccent"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="@id/text_banner_message_end"
|
||||
app:layout_constraintStart_toEndOf="@id/text_banner_message_end"
|
||||
@@ -197,7 +197,7 @@
|
||||
android:theme="@style/Zcash.Overlay.TextInputLayout"
|
||||
app:endIconDrawable="@drawable/ic_qr_scan"
|
||||
app:endIconMode="custom"
|
||||
app:helperText="Enter a valid Hush address"
|
||||
app:helperText="Enter a valid DragonX address"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
android:theme="@style/Zcash.Overlay.TextInputLayout"
|
||||
app:endIconDrawable="@drawable/ic_qrcode_24dp"
|
||||
app:endIconMode="custom"
|
||||
app:helperText="Enter a valid Hush address"
|
||||
app:helperText="Enter a valid DragonX address"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_banner_message"
|
||||
@@ -88,7 +88,7 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_layout_address"
|
||||
app:layout_constraintWidth_percent="0.84"
|
||||
tools:helperText="You have 23.23 Hush available">
|
||||
tools:helperText="You have 23.23 DragonX available">
|
||||
|
||||
<com.google.android.material.textfield.TextInputEditText
|
||||
android:id="@+id/input_zcash_amount"
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:contentDescription="@string/content_description_send_final_back"
|
||||
app:tint="@color/zcashBlack_87"
|
||||
app:tint="@color/app_icon_background_0"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="H,1:1"
|
||||
|
||||
@@ -1,11 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/background_home">
|
||||
|
||||
<View
|
||||
android:id="@+id/loading_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/zcashWhite_24"
|
||||
android:clickable="true"
|
||||
android:elevation="8dp"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.0" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline_hit_area_top"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -31,7 +47,6 @@
|
||||
android:layout_height="0dp"
|
||||
android:contentDescription="@string/content_description_settings_back"
|
||||
android:elevation="6dp"
|
||||
app:tint="@color/text_light_dimmed"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="H,1:1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -40,14 +55,15 @@
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.065"
|
||||
app:layout_constraintWidth_percent="0.08"
|
||||
app:srcCompat="@drawable/ic_cancel" />
|
||||
app:srcCompat="@drawable/ic_cancel"
|
||||
app:tint="@color/colorAccent" />
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_title"
|
||||
style="@style/TextAppearance.MaterialComponents.Headline6"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
style="@style/TextAppearance.MaterialComponents.Headline6"
|
||||
android:maxLines="1"
|
||||
android:text="@string/settings_change_lightwalletd_server"
|
||||
android:textColor="@color/text_light"
|
||||
@@ -110,47 +126,52 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/button_reset"
|
||||
style="@style/Zcash.Button.OutlinedButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
style="@style/Zcash.Button.OutlinedButton"
|
||||
android:text="@string/settings_reset"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
||||
android:textColor="@color/selector_secondary_button_activatable"
|
||||
app:layout_constraintEnd_toStartOf="@id/button_update"
|
||||
app:layout_constraintTop_toTopOf="@id/button_update"
|
||||
app:layout_constraintTop_toBottomOf="@+id/text_input_layout_port"
|
||||
app:strokeColor="@color/selector_secondary_button_activatable" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/loading_progress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="@id/button_reset"
|
||||
app:layout_constraintStart_toStartOf="@id/icon_exit"
|
||||
app:layout_constraintTop_toTopOf="@id/button_reset"
|
||||
app:layout_constraintVertical_bias="0.0" />
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/button_update"
|
||||
style="@style/Zcash.Button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="32dp"
|
||||
style="@style/Zcash.Button"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="4dp"
|
||||
android:backgroundTint="@color/colorPrimary"
|
||||
android:text="@string/settings_update"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
||||
app:layout_constraintEnd_toEndOf="@id/text_input_layout_host"
|
||||
app:layout_constraintTop_toBottomOf="@+id/text_input_layout_port" />
|
||||
|
||||
<View
|
||||
android:id="@+id/loading_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/zcashWhite_24"
|
||||
android:clickable="true"
|
||||
android:elevation="8dp"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/loading_progress"
|
||||
android:layout_width="wrap_content"
|
||||
<CheckBox
|
||||
android:id="@+id/streetMode"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="12dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/button_reset"
|
||||
app:layout_constraintStart_toStartOf="@id/icon_exit"
|
||||
app:layout_constraintTop_toTopOf="@id/button_reset" />
|
||||
android:layout_marginStart="48dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginEnd="48dp"
|
||||
android:layoutDirection="rtl"
|
||||
android:text="@string/translated_street_mode"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/textViewStreetMode" />
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/group_loading"
|
||||
@@ -158,5 +179,29 @@
|
||||
android:layout_height="wrap_content"
|
||||
app:constraint_referenced_ids="loading_progress,loading_view" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/serverChangeNote"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="48dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:layout_marginEnd="48dp"
|
||||
android:text="@string/translated_server_note"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/button_update" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textViewStreetMode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="32dp"
|
||||
android:text="Other Settings"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/serverChangeNote" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -3,7 +3,8 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/background_home">
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline_hit_area_head"
|
||||
@@ -38,7 +39,6 @@
|
||||
android:layout_height="0dp"
|
||||
android:contentDescription="@string/content_description_settings_back"
|
||||
android:elevation="6dp"
|
||||
app:tint="@color/text_light_dimmed"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintDimensionRatio="H,1:1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
@@ -47,7 +47,8 @@
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.065"
|
||||
app:layout_constraintWidth_percent="0.08"
|
||||
app:srcCompat="@drawable/ic_cancel" />
|
||||
app:srcCompat="@drawable/ic_cancel"
|
||||
app:tint="@color/colorAccent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_title"
|
||||
@@ -55,11 +56,11 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
tools:text="Receive HUSH"
|
||||
app:layout_constraintBottom_toTopOf="@+id/guideline_hit_area_top"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/guideline_hit_area_head" />
|
||||
app:layout_constraintTop_toTopOf="@+id/guideline_hit_area_head"
|
||||
tools:text="Receive DRGX" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline_hit_area_top"
|
||||
@@ -72,9 +73,10 @@
|
||||
android:id="@+id/tabLayout"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@android:color/transparent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/icon_exit"/>
|
||||
app:layout_constraintTop_toBottomOf="@+id/icon_exit" />
|
||||
|
||||
<androidx.viewpager2.widget.ViewPager2
|
||||
android:id="@+id/viewPager"
|
||||
@@ -90,9 +92,9 @@
|
||||
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/button_share_address"
|
||||
style="@style/Zcash.Button.OutlinedButton"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
style="@style/Zcash.Button.OutlinedButton"
|
||||
android:gravity="center"
|
||||
android:text="Share Address"
|
||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
||||
|
||||
@@ -3,15 +3,17 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/background_home">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text_title"
|
||||
style="@style/TextAppearance.MaterialComponents.Body1"
|
||||
android:textSize="18dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:text="Your Shielded Address"
|
||||
android:textSize="18dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
@@ -25,11 +27,11 @@
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/ic_background_qr"
|
||||
app:layout_constraintDimensionRatio="H,1:1"
|
||||
app:layout_constraintWidth_percent="0.64"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/text_title"
|
||||
app:layout_constraintVertical_bias="0.3" />
|
||||
app:layout_constraintVertical_bias="0.3"
|
||||
app:layout_constraintWidth_percent="0.64" />
|
||||
|
||||
<!-- QR code placeholder -->
|
||||
<ImageView
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/content_description_transaction_details_back"
|
||||
app:tint="@color/zcashWhite_40"
|
||||
app:tint="@color/colorAccent"
|
||||
app:layout_constraintBottom_toTopOf="@id/text_timestamp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.05"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:background="@color/background_banner"
|
||||
android:background="@color/app_icon_background_0"
|
||||
android:elevation="1dp"
|
||||
tools:ignore="RtlSymmetry">
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_launcher_adaptive_back"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_adaptive_fore"/>
|
||||
<background android:drawable="@color/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@mipmap/ic_launcher_round_adaptive_back"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_round_adaptive_fore"/>
|
||||
<background android:drawable="@color/ic_launcher_background"/>
|
||||
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
BIN
app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 3.5 KiB |