Compare commits
35 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 |
73
.gitignore
vendored
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
# 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
|
||||||
61
CONDUCT.md
@@ -1,61 +0,0 @@
|
|||||||
# Contributor Code of Conduct
|
|
||||||
|
|
||||||
As contributors and maintainers of this project, and in the interest of
|
|
||||||
fostering an open and welcoming community, we pledge to respect all people who
|
|
||||||
contribute through reporting issues, posting feature requests, updating
|
|
||||||
documentation, submitting pull requests or patches, and other activities.
|
|
||||||
|
|
||||||
We are committed to making participation in this project a harassment-free
|
|
||||||
experience for everyone, regardless of level of experience, gender, gender
|
|
||||||
identity and expression, sexual orientation, disability, personal appearance,
|
|
||||||
body size, race, ethnicity, age, religion, or nationality.
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery
|
|
||||||
* Personal attacks
|
|
||||||
* Trolling or insulting/derogatory comments
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing other's private information, such as physical or electronic
|
|
||||||
addresses, without explicit permission
|
|
||||||
* Other unethical or unprofessional conduct
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or
|
|
||||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
|
||||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
|
||||||
permanently any contributor for other behaviors that they deem inappropriate,
|
|
||||||
threatening, offensive, or harmful. Note that contributors may be volunteers
|
|
||||||
who do not represent Electric Coin Company. They are free to express their own
|
|
||||||
opinions so long as they adhere to these guidelines.
|
|
||||||
|
|
||||||
By adopting this Code of Conduct, project maintainers commit themselves to
|
|
||||||
fairly and consistently applying these principles to every aspect of managing
|
|
||||||
this project. Project maintainers who do not follow or enforce the Code of
|
|
||||||
Conduct may be permanently removed from the project team.
|
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces
|
|
||||||
when an individual is representing the project or its community.
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
||||||
reported by contacting a project maintainer (see below). All
|
|
||||||
complaints will be reviewed and investigated and will result in a response that
|
|
||||||
is deemed necessary and appropriate to the circumstances. Maintainers are
|
|
||||||
obligated to maintain confidentiality with regard to the reporter of an
|
|
||||||
incident.
|
|
||||||
|
|
||||||
You may send reports to [our Conduct email](mailto:conduct@z.cash).
|
|
||||||
|
|
||||||
If you wish to contact specific maintainers directly, the following have made
|
|
||||||
themselves available for conduct issues:
|
|
||||||
|
|
||||||
- Daira Hopwood (daira at z.cash)
|
|
||||||
- Sean Bowe (sean at z.cash)
|
|
||||||
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
|
||||||
version 1.3.0, available at
|
|
||||||
[https://www.contributor-covenant.org/version/1/3/0/][version]
|
|
||||||
|
|
||||||
[homepage]: https://www.contributor-covenant.org
|
|
||||||
[version]: https://www.contributor-covenant.org/version/1/3/0/
|
|
||||||
|
|
||||||
@@ -8,7 +8,6 @@ Please read it before you start participating.
|
|||||||
* [Asking Questions](#asking-questions)
|
* [Asking Questions](#asking-questions)
|
||||||
* [Reporting Security Issues](#reporting-security-issues)
|
* [Reporting Security Issues](#reporting-security-issues)
|
||||||
* [Reporting Non Security Issues](#reporting-other-issues)
|
* [Reporting Non Security Issues](#reporting-other-issues)
|
||||||
* [Developers Certificate of Origin](#developers-certificate-of-origin)
|
|
||||||
|
|
||||||
## Asking Questions
|
## Asking Questions
|
||||||
|
|
||||||
@@ -19,7 +18,7 @@ label.
|
|||||||
|
|
||||||
## Reporting Security Issues
|
## Reporting Security Issues
|
||||||
|
|
||||||
If you have discovered an issue with this code that could present a security hazard or wish to discuss a sensitive issue with our security team, please contact security@z.cash [security.asc](https://z.cash/gpg-pubkeys/security.asc). Key fingerprint = AF85 0445 546C 18B7 86F9 2C62 88FB 8B86 D8B5 A68C
|
If you have discovered an issue with this code that could present a security hazard or wish to discuss a sensitive issue with our security team, please contact us on [Telegram](https://hush.is/tg) or [Matrix](https://hush.is/matrix)
|
||||||
|
|
||||||
## Reporting Non Security Issues
|
## Reporting Non Security Issues
|
||||||
|
|
||||||
@@ -29,8 +28,7 @@ We always appreciate a well-written, thorough bug report.
|
|||||||
|
|
||||||
Check that the project issues database
|
Check that the project issues database
|
||||||
doesn't already include that problem or suggestion before submitting an issue.
|
doesn't already include that problem or suggestion before submitting an issue.
|
||||||
If you find a match, add a quick "+1" or "I have this problem too."
|
|
||||||
Doing this helps prioritize the most common problems and requests.
|
|
||||||
|
|
||||||
When reporting issues, please include the following:
|
When reporting issues, please include the following:
|
||||||
|
|
||||||
@@ -42,57 +40,9 @@ When reporting issues, please include the following:
|
|||||||
|
|
||||||
This information will help us review and fix your issue faster.
|
This information will help us review and fix your issue faster.
|
||||||
|
|
||||||
## Pull Requests
|
## Code contributions
|
||||||
|
|
||||||
We **love** pull requests!
|
We love contributions.
|
||||||
|
|
||||||
All contributions _will_ be licensed under the MIT license.
|
All contributions _will_ be licensed under the GPLv3 license.
|
||||||
|
|
||||||
Code/comments should adhere to the following rules:
|
|
||||||
|
|
||||||
* Every Pull request must have an Issue associated to it. PRs with not
|
|
||||||
associated with an Issue will be closed
|
|
||||||
* Code build and Code Lint must pass.
|
|
||||||
* Names should be descriptive and concise.
|
|
||||||
* Although they are not mandatory, PRs that include significant testing will be
|
|
||||||
prioritized.
|
|
||||||
* All enhancements and bug fixes need to be documented in the CHANGELOG.
|
|
||||||
* When writing comments, use properly constructed sentences, including
|
|
||||||
punctuation.
|
|
||||||
* When documenting APIs and/or source code, don't make assumptions or make
|
|
||||||
implications about race, gender, religion, political orientation or anything
|
|
||||||
else that isn't relevant to the project.
|
|
||||||
* Remember that source code usually gets written once and read often: ensure
|
|
||||||
the reader doesn't have to make guesses. Make sure that the purpose and inner
|
|
||||||
logic are either obvious to a reasonably skilled professional, or add a
|
|
||||||
comment that explains it.
|
|
||||||
|
|
||||||
## Developer's Certificate of Origin 1.1
|
|
||||||
|
|
||||||
By making a contribution to this project, I certify that:
|
|
||||||
|
|
||||||
- (a) The contribution was created in whole or in part by me and I
|
|
||||||
have the right to submit it under the open source license
|
|
||||||
indicated in the file; or
|
|
||||||
|
|
||||||
- (b) The contribution is based upon previous work that, to the best
|
|
||||||
of my knowledge, is covered under an appropriate open source
|
|
||||||
license and I have the right under that license to submit that
|
|
||||||
work with modifications, whether created in whole or in part
|
|
||||||
by me, under the same open source license (unless I am
|
|
||||||
permitted to submit under a different license), as indicated
|
|
||||||
in the file; or
|
|
||||||
|
|
||||||
- (c) The contribution was provided directly to me by some other
|
|
||||||
person who certified (a), (b) or (c) and I have not modified
|
|
||||||
it.
|
|
||||||
|
|
||||||
- (d) I understand and agree that this project and the contribution
|
|
||||||
are public and that a record of the contribution (including all
|
|
||||||
personal information I submit with it, including my sign-off) is
|
|
||||||
maintained indefinitely and may be redistributed consistent with
|
|
||||||
this project or the open source license(s) involved.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
This contribution guide is inspired on great projects like [AlamoFire](https://github.com/Alamofire/Foundation/blob/master/CONTRIBUTING.md) and [CocoaPods](https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md)
|
|
||||||
632
LICENSE
@@ -1,21 +1,619 @@
|
|||||||
The MIT License (MIT)
|
GENERAL GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
Copyright (c) 2017-2021 Electric Coin Company
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Preamble
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
The GENERAL General Public License is a free, copyleft license for
|
||||||
all copies or substantial portions of the Software.
|
software and other kinds of works.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
The licenses for most software and other practical works are designed
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
to take away your freedom to share and change the works. By contrast,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
the GENERAL General Public License is intended to guarantee your freedom to
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
share and change all versions of a program--to make sure it remains free
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
software for all its users. We, the Free Software Foundation, use the
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
GENERAL General Public License for most of our software; it applies also to
|
||||||
THE SOFTWARE.
|
any other work released this way by its authors. You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
them if you wish), that you receive source code or can get it if you
|
||||||
|
want it, that you can change the software or use pieces of it in new
|
||||||
|
free programs, and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to prevent others from denying you
|
||||||
|
these rights or asking you to surrender the rights. Therefore, you have
|
||||||
|
certain responsibilities if you distribute copies of the software, or if
|
||||||
|
you modify it: responsibilities to respect the freedom of others.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must pass on to the recipients the same
|
||||||
|
freedoms that you received. You must make sure that they, too, receive
|
||||||
|
or can get the source code. And you must show them these terms so they
|
||||||
|
know their rights.
|
||||||
|
|
||||||
|
Developers that use the GENERAL GPL protect your rights with two steps:
|
||||||
|
(1) assert copyright on the software, and (2) offer you this License
|
||||||
|
giving you legal permission to copy, distribute and/or modify it.
|
||||||
|
|
||||||
|
For the developers' and authors' protection, the GPL clearly explains
|
||||||
|
that there is no warranty for this free software. For both users' and
|
||||||
|
authors' sake, the GPL requires that modified versions be marked as
|
||||||
|
changed, so that their problems will not be attributed erroneously to
|
||||||
|
authors of previous versions.
|
||||||
|
|
||||||
|
Some devices are designed to deny users access to install or run
|
||||||
|
modified versions of the software inside them, although the manufacturer
|
||||||
|
can do so. This is fundamentally incompatible with the aim of
|
||||||
|
protecting users' freedom to change the software. The systematic
|
||||||
|
pattern of such abuse occurs in the area of products for individuals to
|
||||||
|
use, which is precisely where it is most unacceptable. Therefore, we
|
||||||
|
have designed this version of the GPL to prohibit the practice for those
|
||||||
|
products. If such problems arise substantially in other domains, we
|
||||||
|
stand ready to extend this provision to those domains in future versions
|
||||||
|
of the GPL, as needed to protect the freedom of users.
|
||||||
|
|
||||||
|
Finally, every program is threatened constantly by software patents.
|
||||||
|
States should not allow patents to restrict development and use of
|
||||||
|
software on general-purpose computers, but in those that do, we wish to
|
||||||
|
avoid the special danger that patents applied to a free program could
|
||||||
|
make it effectively proprietary. To prevent this, the GPL assures that
|
||||||
|
patents cannot be used to render the program non-free.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
0. Definitions.
|
||||||
|
|
||||||
|
"This License" refers to version 3 of the GENERAL General Public License.
|
||||||
|
|
||||||
|
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||||
|
works, such as semiconductor masks.
|
||||||
|
|
||||||
|
"The Program" refers to any copyrightable work licensed under this
|
||||||
|
License. Each licensee is addressed as "you". "Licensees" and
|
||||||
|
"recipients" may be individuals or organizations.
|
||||||
|
|
||||||
|
To "modify" a work means to copy from or adapt all or part of the work
|
||||||
|
in a fashion requiring copyright permission, other than the making of an
|
||||||
|
exact copy. The resulting work is called a "modified version" of the
|
||||||
|
earlier work or a work "based on" the earlier work.
|
||||||
|
|
||||||
|
A "covered work" means either the unmodified Program or a work based
|
||||||
|
on the Program.
|
||||||
|
|
||||||
|
To "propagate" a work means to do anything with it that, without
|
||||||
|
permission, would make you directly or secondarily liable for
|
||||||
|
infringement under applicable copyright law, except executing it on a
|
||||||
|
computer or modifying a private copy. Propagation includes copying,
|
||||||
|
distribution (with or without modification), making available to the
|
||||||
|
public, and in some countries other activities as well.
|
||||||
|
|
||||||
|
To "convey" a work means any kind of propagation that enables other
|
||||||
|
parties to make or receive copies. Mere interaction with a user through
|
||||||
|
a computer network, with no transfer of a copy, is not conveying.
|
||||||
|
|
||||||
|
An interactive user interface displays "Appropriate Legal Notices"
|
||||||
|
to the extent that it includes a convenient and prominently visible
|
||||||
|
feature that (1) displays an appropriate copyright notice, and (2)
|
||||||
|
tells the user that there is no warranty for the work (except to the
|
||||||
|
extent that warranties are provided), that licensees may convey the
|
||||||
|
work under this License, and how to view a copy of this License. If
|
||||||
|
the interface presents a list of user commands or options, such as a
|
||||||
|
menu, a prominent item in the list meets this criterion.
|
||||||
|
|
||||||
|
1. Source Code.
|
||||||
|
|
||||||
|
The "source code" for a work means the preferred form of the work
|
||||||
|
for making modifications to it. "Object code" means any non-source
|
||||||
|
form of a work.
|
||||||
|
|
||||||
|
A "Standard Interface" means an interface that either is an official
|
||||||
|
standard defined by a recognized standards body, or, in the case of
|
||||||
|
interfaces specified for a particular programming language, one that
|
||||||
|
is widely used among developers working in that language.
|
||||||
|
|
||||||
|
The "System Libraries" of an executable work include anything, other
|
||||||
|
than the work as a whole, that (a) is included in the normal form of
|
||||||
|
packaging a Major Component, but which is not part of that Major
|
||||||
|
Component, and (b) serves only to enable use of the work with that
|
||||||
|
Major Component, or to implement a Standard Interface for which an
|
||||||
|
implementation is available to the public in source code form. A
|
||||||
|
"Major Component", in this context, means a major essential component
|
||||||
|
(kernel, window system, and so on) of the specific operating system
|
||||||
|
(if any) on which the executable work runs, or a compiler used to
|
||||||
|
produce the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
The "Corresponding Source" for a work in object code form means all
|
||||||
|
the source code needed to generate, install, and (for an executable
|
||||||
|
work) run the object code and to modify the work, including scripts to
|
||||||
|
control those activities. However, it does not include the work's
|
||||||
|
System Libraries, or general-purpose tools or generally available free
|
||||||
|
programs which are used unmodified in performing those activities but
|
||||||
|
which are not part of the work. For example, Corresponding Source
|
||||||
|
includes interface definition files associated with source files for
|
||||||
|
the work, and the source code for shared libraries and dynamically
|
||||||
|
linked subprograms that the work is specifically designed to require,
|
||||||
|
such as by intimate data communication or control flow between those
|
||||||
|
subprograms and other parts of the work.
|
||||||
|
|
||||||
|
The Corresponding Source need not include anything that users
|
||||||
|
can regenerate automatically from other parts of the Corresponding
|
||||||
|
Source.
|
||||||
|
|
||||||
|
The Corresponding Source for a work in source code form is that
|
||||||
|
same work.
|
||||||
|
|
||||||
|
2. Basic Permissions.
|
||||||
|
|
||||||
|
All rights granted under this License are granted for the term of
|
||||||
|
copyright on the Program, and are irrevocable provided the stated
|
||||||
|
conditions are met. This License explicitly affirms your unlimited
|
||||||
|
permission to run the unmodified Program. The output from running a
|
||||||
|
covered work is covered by this License only if the output, given its
|
||||||
|
content, constitutes a covered work. This License acknowledges your
|
||||||
|
rights of fair use or other equivalent, as provided by copyright law.
|
||||||
|
|
||||||
|
You may make, run and propagate covered works that you do not
|
||||||
|
convey, without conditions so long as your license otherwise remains
|
||||||
|
in force. You may convey covered works to others for the sole purpose
|
||||||
|
of having them make modifications exclusively for you, or provide you
|
||||||
|
with facilities for running those works, provided that you comply with
|
||||||
|
the terms of this License in conveying all material for which you do
|
||||||
|
not control copyright. Those thus making or running the covered works
|
||||||
|
for you must do so exclusively on your behalf, under your direction
|
||||||
|
and control, on terms that prohibit them from making any copies of
|
||||||
|
your copyrighted material outside their relationship with you.
|
||||||
|
|
||||||
|
Conveying under any other circumstances is permitted solely under
|
||||||
|
the conditions stated below. Sublicensing is not allowed; section 10
|
||||||
|
makes it unnecessary.
|
||||||
|
|
||||||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
|
||||||
|
No covered work shall be deemed part of an effective technological
|
||||||
|
measure under any applicable law fulfilling obligations under article
|
||||||
|
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||||
|
similar laws prohibiting or restricting circumvention of such
|
||||||
|
measures.
|
||||||
|
|
||||||
|
When you convey a covered work, you waive any legal power to forbid
|
||||||
|
circumvention of technological measures to the extent such circumvention
|
||||||
|
is effected by exercising rights under this License with respect to
|
||||||
|
the covered work, and you disclaim any intention to limit operation or
|
||||||
|
modification of the work as a means of enforcing, against the work's
|
||||||
|
users, your or third parties' legal rights to forbid circumvention of
|
||||||
|
technological measures.
|
||||||
|
|
||||||
|
4. Conveying Verbatim Copies.
|
||||||
|
|
||||||
|
You may convey verbatim copies of the Program's source code as you
|
||||||
|
receive it, in any medium, provided that you conspicuously and
|
||||||
|
appropriately publish on each copy an appropriate copyright notice;
|
||||||
|
keep intact all notices stating that this License and any
|
||||||
|
non-permissive terms added in accord with section 7 apply to the code;
|
||||||
|
keep intact all notices of the absence of any warranty; and give all
|
||||||
|
recipients a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge any price or no price for each copy that you convey,
|
||||||
|
and you may offer support or warranty protection for a fee.
|
||||||
|
|
||||||
|
5. Conveying Modified Source Versions.
|
||||||
|
|
||||||
|
You may convey a work based on the Program, or the modifications to
|
||||||
|
produce it from the Program, in the form of source code under the
|
||||||
|
terms of section 4, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The work must carry prominent notices stating that you modified
|
||||||
|
it, and giving a relevant date.
|
||||||
|
|
||||||
|
b) The work must carry prominent notices stating that it is
|
||||||
|
released under this License and any conditions added under section
|
||||||
|
7. This requirement modifies the requirement in section 4 to
|
||||||
|
"keep intact all notices".
|
||||||
|
|
||||||
|
c) You must license the entire work, as a whole, under this
|
||||||
|
License to anyone who comes into possession of a copy. This
|
||||||
|
License will therefore apply, along with any applicable section 7
|
||||||
|
additional terms, to the whole of the work, and all its parts,
|
||||||
|
regardless of how they are packaged. This License gives no
|
||||||
|
permission to license the work in any other way, but it does not
|
||||||
|
invalidate such permission if you have separately received it.
|
||||||
|
|
||||||
|
d) If the work has interactive user interfaces, each must display
|
||||||
|
Appropriate Legal Notices; however, if the Program has interactive
|
||||||
|
interfaces that do not display Appropriate Legal Notices, your
|
||||||
|
work need not make them do so.
|
||||||
|
|
||||||
|
A compilation of a covered work with other separate and independent
|
||||||
|
works, which are not by their nature extensions of the covered work,
|
||||||
|
and which are not combined with it such as to form a larger program,
|
||||||
|
in or on a volume of a storage or distribution medium, is called an
|
||||||
|
"aggregate" if the compilation and its resulting copyright are not
|
||||||
|
used to limit the access or legal rights of the compilation's users
|
||||||
|
beyond what the individual works permit. Inclusion of a covered work
|
||||||
|
in an aggregate does not cause this License to apply to the other
|
||||||
|
parts of the aggregate.
|
||||||
|
|
||||||
|
6. Conveying Non-Source Forms.
|
||||||
|
|
||||||
|
You may convey a covered work in object code form under the terms
|
||||||
|
of sections 4 and 5, provided that you also convey the
|
||||||
|
machine-readable Corresponding Source under the terms of this License,
|
||||||
|
in one of these ways:
|
||||||
|
|
||||||
|
a) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by the
|
||||||
|
Corresponding Source fixed on a durable physical medium
|
||||||
|
customarily used for software interchange.
|
||||||
|
|
||||||
|
b) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by a
|
||||||
|
written offer, valid for at least three years and valid for as
|
||||||
|
long as you offer spare parts or customer support for that product
|
||||||
|
model, to give anyone who possesses the object code either (1) a
|
||||||
|
copy of the Corresponding Source for all the software in the
|
||||||
|
product that is covered by this License, on a durable physical
|
||||||
|
medium customarily used for software interchange, for a price no
|
||||||
|
more than your reasonable cost of physically performing this
|
||||||
|
conveying of source, or (2) access to copy the
|
||||||
|
Corresponding Source from a network server at no charge.
|
||||||
|
|
||||||
|
c) Convey individual copies of the object code with a copy of the
|
||||||
|
written offer to provide the Corresponding Source. This
|
||||||
|
alternative is allowed only occasionally and noncommercially, and
|
||||||
|
only if you received the object code with such an offer, in accord
|
||||||
|
with subsection 6b.
|
||||||
|
|
||||||
|
d) Convey the object code by offering access from a designated
|
||||||
|
place (gratis or for a charge), and offer equivalent access to the
|
||||||
|
Corresponding Source in the same way through the same place at no
|
||||||
|
further charge. You need not require recipients to copy the
|
||||||
|
Corresponding Source along with the object code. If the place to
|
||||||
|
copy the object code is a network server, the Corresponding Source
|
||||||
|
may be on a different server (operated by you or a third party)
|
||||||
|
that supports equivalent copying facilities, provided you maintain
|
||||||
|
clear directions next to the object code saying where to find the
|
||||||
|
Corresponding Source. Regardless of what server hosts the
|
||||||
|
Corresponding Source, you remain obligated to ensure that it is
|
||||||
|
available for as long as needed to satisfy these requirements.
|
||||||
|
|
||||||
|
e) Convey the object code using peer-to-peer transmission, provided
|
||||||
|
you inform other peers where the object code and Corresponding
|
||||||
|
Source of the work are being offered to the general public at no
|
||||||
|
charge under subsection 6d.
|
||||||
|
|
||||||
|
A separable portion of the object code, whose source code is excluded
|
||||||
|
from the Corresponding Source as a System Library, need not be
|
||||||
|
included in conveying the object code work.
|
||||||
|
|
||||||
|
A "User Product" is either (1) a "consumer product", which means any
|
||||||
|
tangible personal property which is normally used for personal, family,
|
||||||
|
or household purposes, or (2) anything designed or sold for incorporation
|
||||||
|
into a dwelling. In determining whether a product is a consumer product,
|
||||||
|
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||||
|
product received by a particular user, "normally used" refers to a
|
||||||
|
typical or common use of that class of product, regardless of the status
|
||||||
|
of the particular user or of the way in which the particular user
|
||||||
|
actually uses, or expects or is expected to use, the product. A product
|
||||||
|
is a consumer product regardless of whether the product has substantial
|
||||||
|
commercial, industrial or non-consumer uses, unless such uses represent
|
||||||
|
the only significant mode of use of the product.
|
||||||
|
|
||||||
|
"Installation Information" for a User Product means any methods,
|
||||||
|
procedures, authorization keys, or other information required to install
|
||||||
|
and execute modified versions of a covered work in that User Product from
|
||||||
|
a modified version of its Corresponding Source. The information must
|
||||||
|
suffice to ensure that the continued functioning of the modified object
|
||||||
|
code is in no case prevented or interfered with solely because
|
||||||
|
modification has been made.
|
||||||
|
|
||||||
|
If you convey an object code work under this section in, or with, or
|
||||||
|
specifically for use in, a User Product, and the conveying occurs as
|
||||||
|
part of a transaction in which the right of possession and use of the
|
||||||
|
User Product is transferred to the recipient in perpetuity or for a
|
||||||
|
fixed term (regardless of how the transaction is characterized), the
|
||||||
|
Corresponding Source conveyed under this section must be accompanied
|
||||||
|
by the Installation Information. But this requirement does not apply
|
||||||
|
if neither you nor any third party retains the ability to install
|
||||||
|
modified object code on the User Product (for example, the work has
|
||||||
|
been installed in ROM).
|
||||||
|
|
||||||
|
The requirement to provide Installation Information does not include a
|
||||||
|
requirement to continue to provide support service, warranty, or updates
|
||||||
|
for a work that has been modified or installed by the recipient, or for
|
||||||
|
the User Product in which it has been modified or installed. Access to a
|
||||||
|
network may be denied when the modification itself materially and
|
||||||
|
adversely affects the operation of the network or violates the rules and
|
||||||
|
protocols for communication across the network.
|
||||||
|
|
||||||
|
Corresponding Source conveyed, and Installation Information provided,
|
||||||
|
in accord with this section must be in a format that is publicly
|
||||||
|
documented (and with an implementation available to the public in
|
||||||
|
source code form), and must require no special password or key for
|
||||||
|
unpacking, reading or copying.
|
||||||
|
|
||||||
|
7. Additional Terms.
|
||||||
|
|
||||||
|
"Additional permissions" are terms that supplement the terms of this
|
||||||
|
License by making exceptions from one or more of its conditions.
|
||||||
|
Additional permissions that are applicable to the entire Program shall
|
||||||
|
be treated as though they were included in this License, to the extent
|
||||||
|
that they are valid under applicable law. If additional permissions
|
||||||
|
apply only to part of the Program, that part may be used separately
|
||||||
|
under those permissions, but the entire Program remains governed by
|
||||||
|
this License without regard to the additional permissions.
|
||||||
|
|
||||||
|
When you convey a copy of a covered work, you may at your option
|
||||||
|
remove any additional permissions from that copy, or from any part of
|
||||||
|
it. (Additional permissions may be written to require their own
|
||||||
|
removal in certain cases when you modify the work.) You may place
|
||||||
|
additional permissions on material, added by you to a covered work,
|
||||||
|
for which you have or can give appropriate copyright permission.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, for material you
|
||||||
|
add to a covered work, you may (if authorized by the copyright holders of
|
||||||
|
that material) supplement the terms of this License with terms:
|
||||||
|
|
||||||
|
a) Disclaiming warranty or limiting liability differently from the
|
||||||
|
terms of sections 15 and 16 of this License; or
|
||||||
|
|
||||||
|
b) Requiring preservation of specified reasonable legal notices or
|
||||||
|
author attributions in that material or in the Appropriate Legal
|
||||||
|
Notices displayed by works containing it; or
|
||||||
|
|
||||||
|
c) Prohibiting misrepresentation of the origin of that material, or
|
||||||
|
requiring that modified versions of such material be marked in
|
||||||
|
reasonable ways as different from the original version; or
|
||||||
|
|
||||||
|
d) Limiting the use for publicity purposes of names of licensors or
|
||||||
|
authors of the material; or
|
||||||
|
|
||||||
|
e) Declining to grant rights under trademark law for use of some
|
||||||
|
trade names, trademarks, or service marks; or
|
||||||
|
|
||||||
|
f) Requiring indemnification of licensors and authors of that
|
||||||
|
material by anyone who conveys the material (or modified versions of
|
||||||
|
it) with contractual assumptions of liability to the recipient, for
|
||||||
|
any liability that these contractual assumptions directly impose on
|
||||||
|
those licensors and authors.
|
||||||
|
|
||||||
|
All other non-permissive additional terms are considered "further
|
||||||
|
restrictions" within the meaning of section 10. If the Program as you
|
||||||
|
received it, or any part of it, contains a notice stating that it is
|
||||||
|
governed by this License along with a term that is a further
|
||||||
|
restriction, you may remove that term. If a license document contains
|
||||||
|
a further restriction but permits relicensing or conveying under this
|
||||||
|
License, you may add to a covered work material governed by the terms
|
||||||
|
of that license document, provided that the further restriction does
|
||||||
|
not survive such relicensing or conveying.
|
||||||
|
|
||||||
|
If you add terms to a covered work in accord with this section, you
|
||||||
|
must place, in the relevant source files, a statement of the
|
||||||
|
additional terms that apply to those files, or a notice indicating
|
||||||
|
where to find the applicable terms.
|
||||||
|
|
||||||
|
Additional terms, permissive or non-permissive, may be stated in the
|
||||||
|
form of a separately written license, or stated as exceptions;
|
||||||
|
the above requirements apply either way.
|
||||||
|
|
||||||
|
8. Termination.
|
||||||
|
|
||||||
|
You may not propagate or modify a covered work except as expressly
|
||||||
|
provided under this License. Any attempt otherwise to propagate or
|
||||||
|
modify it is void, and will automatically terminate your rights under
|
||||||
|
this License (including any patent licenses granted under the third
|
||||||
|
paragraph of section 11).
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your
|
||||||
|
license from a particular copyright holder is reinstated (a)
|
||||||
|
provisionally, unless and until the copyright holder explicitly and
|
||||||
|
finally terminates your license, and (b) permanently, if the copyright
|
||||||
|
holder fails to notify you of the violation by some reasonable means
|
||||||
|
prior to 60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is
|
||||||
|
reinstated permanently if the copyright holder notifies you of the
|
||||||
|
violation by some reasonable means, this is the first time you have
|
||||||
|
received notice of violation of this License (for any work) from that
|
||||||
|
copyright holder, and you cure the violation prior to 30 days after
|
||||||
|
your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the
|
||||||
|
licenses of parties who have received copies or rights from you under
|
||||||
|
this License. If your rights have been terminated and not permanently
|
||||||
|
reinstated, you do not qualify to receive new licenses for the same
|
||||||
|
material under section 10.
|
||||||
|
|
||||||
|
9. Acceptance Not Required for Having Copies.
|
||||||
|
|
||||||
|
You are not required to accept this License in order to receive or
|
||||||
|
run a copy of the Program. Ancillary propagation of a covered work
|
||||||
|
occurring solely as a consequence of using peer-to-peer transmission
|
||||||
|
to receive a copy likewise does not require acceptance. However,
|
||||||
|
nothing other than this License grants you permission to propagate or
|
||||||
|
modify any covered work. These actions infringe copyright if you do
|
||||||
|
not accept this License. Therefore, by modifying or propagating a
|
||||||
|
covered work, you indicate your acceptance of this License to do so.
|
||||||
|
|
||||||
|
10. Automatic Licensing of Downstream Recipients.
|
||||||
|
|
||||||
|
Each time you convey a covered work, the recipient automatically
|
||||||
|
receives a license from the original licensors, to run, modify and
|
||||||
|
propagate that work, subject to this License. You are not responsible
|
||||||
|
for enforcing compliance by third parties with this License.
|
||||||
|
|
||||||
|
An "entity transaction" is a transaction transferring control of an
|
||||||
|
organization, or substantially all assets of one, or subdividing an
|
||||||
|
organization, or merging organizations. If propagation of a covered
|
||||||
|
work results from an entity transaction, each party to that
|
||||||
|
transaction who receives a copy of the work also receives whatever
|
||||||
|
licenses to the work the party's predecessor in interest had or could
|
||||||
|
give under the previous paragraph, plus a right to possession of the
|
||||||
|
Corresponding Source of the work from the predecessor in interest, if
|
||||||
|
the predecessor has it or can get it with reasonable efforts.
|
||||||
|
|
||||||
|
You may not impose any further restrictions on the exercise of the
|
||||||
|
rights granted or affirmed under this License. For example, you may
|
||||||
|
not impose a license fee, royalty, or other charge for exercise of
|
||||||
|
rights granted under this License, and you may not initiate litigation
|
||||||
|
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||||
|
any patent claim is infringed by making, using, selling, offering for
|
||||||
|
sale, or importing the Program or any portion of it.
|
||||||
|
|
||||||
|
11. Patents.
|
||||||
|
|
||||||
|
A "contributor" is a copyright holder who authorizes use under this
|
||||||
|
License of the Program or a work on which the Program is based. The
|
||||||
|
work thus licensed is called the contributor's "contributor version".
|
||||||
|
|
||||||
|
A contributor's "essential patent claims" are all patent claims
|
||||||
|
owned or controlled by the contributor, whether already acquired or
|
||||||
|
hereafter acquired, that would be infringed by some manner, permitted
|
||||||
|
by this License, of making, using, or selling its contributor version,
|
||||||
|
but do not include claims that would be infringed only as a
|
||||||
|
consequence of further modification of the contributor version. For
|
||||||
|
purposes of this definition, "control" includes the right to grant
|
||||||
|
patent sublicenses in a manner consistent with the requirements of
|
||||||
|
this License.
|
||||||
|
|
||||||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||||
|
patent license under the contributor's essential patent claims, to
|
||||||
|
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||||
|
propagate the contents of its contributor version.
|
||||||
|
|
||||||
|
In the following three paragraphs, a "patent license" is any express
|
||||||
|
agreement or commitment, however denominated, not to enforce a patent
|
||||||
|
(such as an express permission to practice a patent or covenant not to
|
||||||
|
sue for patent infringement). To "grant" such a patent license to a
|
||||||
|
party means to make such an agreement or commitment not to enforce a
|
||||||
|
patent against the party.
|
||||||
|
|
||||||
|
If you convey a covered work, knowingly relying on a patent license,
|
||||||
|
and the Corresponding Source of the work is not available for anyone
|
||||||
|
to copy, free of charge and under the terms of this License, through a
|
||||||
|
publicly available network server or other readily accessible means,
|
||||||
|
then you must either (1) cause the Corresponding Source to be so
|
||||||
|
available, or (2) arrange to deprive yourself of the benefit of the
|
||||||
|
patent license for this particular work, or (3) arrange, in a manner
|
||||||
|
consistent with the requirements of this License, to extend the patent
|
||||||
|
license to downstream recipients. "Knowingly relying" means you have
|
||||||
|
actual knowledge that, but for the patent license, your conveying the
|
||||||
|
covered work in a country, or your recipient's use of the covered work
|
||||||
|
in a country, would infringe one or more identifiable patents in that
|
||||||
|
country that you have reason to believe are valid.
|
||||||
|
|
||||||
|
If, pursuant to or in connection with a single transaction or
|
||||||
|
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||||
|
covered work, and grant a patent license to some of the parties
|
||||||
|
receiving the covered work authorizing them to use, propagate, modify
|
||||||
|
or convey a specific copy of the covered work, then the patent license
|
||||||
|
you grant is automatically extended to all recipients of the covered
|
||||||
|
work and works based on it.
|
||||||
|
|
||||||
|
A patent license is "discriminatory" if it does not include within
|
||||||
|
the scope of its coverage, prohibits the exercise of, or is
|
||||||
|
conditioned on the non-exercise of one or more of the rights that are
|
||||||
|
specifically granted under this License. You may not convey a covered
|
||||||
|
work if you are a party to an arrangement with a third party that is
|
||||||
|
in the business of distributing software, under which you make payment
|
||||||
|
to the third party based on the extent of your activity of conveying
|
||||||
|
the work, and under which the third party grants, to any of the
|
||||||
|
parties who would receive the covered work from you, a discriminatory
|
||||||
|
patent license (a) in connection with copies of the covered work
|
||||||
|
conveyed by you (or copies made from those copies), or (b) primarily
|
||||||
|
for and in connection with specific products or compilations that
|
||||||
|
contain the covered work, unless you entered into that arrangement,
|
||||||
|
or that patent license was granted, prior to 28 March 2007.
|
||||||
|
|
||||||
|
Nothing in this License shall be construed as excluding or limiting
|
||||||
|
any implied license or other defenses to infringement that may
|
||||||
|
otherwise be available to you under applicable patent law.
|
||||||
|
|
||||||
|
12. No Surrender of Others' Freedom.
|
||||||
|
|
||||||
|
If conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot convey a
|
||||||
|
covered work so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you may
|
||||||
|
not convey it at all. For example, if you agree to terms that obligate you
|
||||||
|
to collect a royalty for further conveying from those to whom you convey
|
||||||
|
the Program, the only way you could satisfy both those terms and this
|
||||||
|
License would be to refrain entirely from conveying the Program.
|
||||||
|
|
||||||
|
13. Use with the GENERAL Affero General Public License.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, you have
|
||||||
|
permission to link or combine any covered work with a work licensed
|
||||||
|
under version 3 of the GENERAL Affero General Public License into a single
|
||||||
|
combined work, and to convey the resulting work. The terms of this
|
||||||
|
License will continue to apply to the part which is the covered work,
|
||||||
|
but the special requirements of the GENERAL Affero General Public License,
|
||||||
|
section 13, concerning interaction through a network will apply to the
|
||||||
|
combination as such.
|
||||||
|
|
||||||
|
14. Revised Versions of this License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of
|
||||||
|
the GENERAL General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Program specifies that a certain numbered version of the GENERAL General
|
||||||
|
Public License "or any later version" applies to it, you have the
|
||||||
|
option of following the terms and conditions either of that numbered
|
||||||
|
version or of any later version published by the Free Software
|
||||||
|
Foundation. If the Program does not specify a version number of the
|
||||||
|
GENERAL General Public License, you may choose any version ever published
|
||||||
|
by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Program specifies that a proxy can decide which future
|
||||||
|
versions of the GENERAL General Public License can be used, that proxy's
|
||||||
|
public statement of acceptance of a version permanently authorizes you
|
||||||
|
to choose that version for the Program.
|
||||||
|
|
||||||
|
Later license versions may give you additional or different
|
||||||
|
permissions. However, no additional obligations are imposed on any
|
||||||
|
author or copyright holder as a result of your choosing to follow a
|
||||||
|
later version.
|
||||||
|
|
||||||
|
15. Disclaimer of Warranty.
|
||||||
|
|
||||||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||||
|
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||||
|
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||||
|
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||||
|
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||||
|
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
16. Limitation of Liability.
|
||||||
|
|
||||||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||||
|
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||||
|
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||||
|
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||||
|
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||||
|
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGES.
|
||||||
|
|
||||||
|
17. Interpretation of Sections 15 and 16.
|
||||||
|
|
||||||
|
If the disclaimer of warranty and limitation of liability provided
|
||||||
|
above cannot be given local legal effect according to their terms,
|
||||||
|
reviewing courts shall apply local law that most closely approximates
|
||||||
|
an absolute waiver of all civil liability in connection with the
|
||||||
|
Program, unless a warranty or assumption of liability accompanies a
|
||||||
|
copy of the Program in return for a fee.
|
||||||
68
README.md
@@ -1,10 +1,9 @@
|
|||||||
# hush-android-wallet
|
# SilentDragonXAndroid
|
||||||
A sample Android wallet using the [Zcash Android SDK](https://github.com/zcash/zcash-android-wallet-sdk).
|
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
|
### 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.
|
[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.
|
||||||
|
|
||||||
Please take note: the wallet is not an official product by ECC, but rather a tool for learning about our libraries that it is built on. This means that we do not have robust infrasturcture or user support for this application. We open sourced it as a resource to make wallet development easier for the Hush ecosystem.
|
|
||||||
|
|
||||||
# Disclaimers
|
# Disclaimers
|
||||||
There are some known areas for improvement:
|
There are some known areas for improvement:
|
||||||
@@ -13,37 +12,50 @@ There are some known areas for improvement:
|
|||||||
- Traffic analysis, like in other cryptocurrency wallets, can leak some privacy of the user.
|
- Traffic analysis, like in other cryptocurrency wallets, can leak some privacy of the user.
|
||||||
- The wallet requires a trust in the server to display accurate transaction information.
|
- The wallet requires a trust in the server to display accurate transaction information.
|
||||||
|
|
||||||
See the [Wallet App Threat Model](https://zcash.readthedocs.io/en/latest/rtd_pages/wallet_threat_model.html)
|
See the upstream Zcash [Wallet App Threat Model](https://zcash.readthedocs.io/en/latest/rtd_pages/wallet_threat_model.html)
|
||||||
for more information about the security and privacy limitations of the wallet.
|
for more information about the security and privacy limitations of the wallet.
|
||||||
|
|
||||||
If you'd like to sign up to help us test, reach out on discord and let us know! We're always happy to get feedback!
|
If you'd like to help us test, reach out on [Telegram](https://hush.is/tg) or [Matrix](https://hush.is/matrix) and let us know! We're always happy to get feedback!
|
||||||
|
|
||||||
# Description
|
# Description
|
||||||
This a sample wallet for the following set of features:
|
This a sample wallet for the following set of features:
|
||||||
- z2z transactions w/ encrypted memos
|
- z2z transactions with encrypted memos
|
||||||
- reply-to formatted memos
|
- reply-to formatted memos
|
||||||
|
|
||||||
note: z means sapling shielded addresses.
|
|
||||||
|
|
||||||
# Prerequisites
|
# Prerequisites
|
||||||
- [The code](https://github.com/zcash/zcash-android-wallet)
|
- [The app code](https://git.hush.is/dragonx/SilentDragonXAndroid)
|
||||||
- [Android Studio](https://developer.android.com/studio/index.html) or [adb](https://www.xda-developers.com/what-is-adb/)
|
- [The SDK code](https://git.hush.is/dragonx/dragonx-android-wallet-sdk)
|
||||||
- An Android device or emulator
|
- [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
|
# 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
|
## Install from Android Studio
|
||||||
1. [Install Android Studio](https://developer.android.com/studio/install) and setup an emulator
|
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
|
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.
|
It will be recognized as an Android project.
|
||||||
3. Press play (once it is done opening and indexing)
|
3. Press play (once it is done opening and indexing)
|
||||||
|
|
||||||
## OR Install from the command line
|
## 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:
|
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
|
```bash
|
||||||
cd /path/to/hush-android-wallet
|
cd /path/to/SilentDragonXAndroid
|
||||||
./gradlew
|
./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).
|
Note: The lack of an explicit Gradle task is not a typo. A default task is configured via [build.gradle.kts](build.gradle.kts).
|
||||||
@@ -52,28 +64,34 @@ Tip: On macOS and Linux, Gradle is invoked with `./gradlew`. On Windows, Gradle
|
|||||||
|
|
||||||
|
|
||||||
# Included builds
|
# 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/
|
parent/
|
||||||
hush-android-wallet/
|
SilentDragonXAndroid/
|
||||||
hush-android-sdk/
|
dragonx-android-wallet-sdk/
|
||||||
|
|
||||||
1. Verify that the `hush-android-sdk` builds correctly on its own
|
1. Verify that the `dragonx-android-wallet-sdk` builds correctly on its own
|
||||||
1. Build `hush-android-wallet`, setting the Gradle property `IS_SDK_INCLUDED_BUILD=true`
|
1. Build `SilentDragonXAndroid`, setting the Gradle property `IS_SDK_INCLUDED_BUILD=true`
|
||||||
|
|
||||||
There are some limitations of included builds:
|
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. 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 (`hush-android-sdk/build-conventions` vs `secant-android-wallet/build-convention`)
|
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
|
1. Kotlin and KSP versions will need to be coordinated between the two projects, because KSP is tightly coupled to the Kotlin version
|
||||||
|
|
||||||
# Contributing
|
# Contributing
|
||||||
|
|
||||||
Contributions are very much welcomed! Please read our [Contributing Guidelines](/CONTRIBUTING.md) and [Code of Conduct](/CONDUCT.md). Our backlog has many Issues tagged with the `good first issue` label. Please fork the repo and make a pull request for us to review.
|
Contributions are very much welcomed! Contact us on [Telegram](https://hush.is/tg) or [Matrix](https://hush.is/matrix) .
|
||||||
|
|
||||||
# Reporting an issue
|
# Reporting an issue
|
||||||
|
|
||||||
If you wish to report a security issue, please follow our [Responsible Disclosure guidelines](https://github.com/zcash/zcash-android-wallet-sdk/blob/master/responsible_disclosure.md).
|
Contact us on [Telegram](https://hush.is/tg) or [Matrix](https://hush.is/matrix)
|
||||||
|
|
||||||
For other kind of inquiries, feel welcome to open an Issue if you encounter a bug or would like to request a feature.
|
# Copyright
|
||||||
|
|
||||||
|
Copyright 2016-2023 The Hush developers
|
||||||
|
|
||||||
|
# License
|
||||||
|
|
||||||
|
GPLv3
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ apply plugin: 'kotlin-kapt'
|
|||||||
apply plugin: "androidx.navigation.safeargs.kotlin"
|
apply plugin: "androidx.navigation.safeargs.kotlin"
|
||||||
apply plugin: 'com.github.ben-manes.versions'
|
apply plugin: 'com.github.ben-manes.versions'
|
||||||
|
|
||||||
archivesBaseName = 'hush-android-wallet'
|
archivesBaseName = 'dragonx-android-wallet'
|
||||||
group = 'hush.android'
|
group = 'dragonx.android'
|
||||||
version = Deps.versionName
|
version = Deps.versionName
|
||||||
|
|
||||||
android {
|
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.
|
// 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 = []
|
vectorDrawables.generatedDensities = []
|
||||||
}
|
}
|
||||||
|
splits {
|
||||||
|
abi {
|
||||||
|
enable true
|
||||||
|
reset()
|
||||||
|
universalApk true
|
||||||
|
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
|
||||||
|
}
|
||||||
|
}
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
viewBinding true
|
viewBinding true
|
||||||
}
|
}
|
||||||
@@ -39,13 +47,13 @@ android {
|
|||||||
zcashtestnet {
|
zcashtestnet {
|
||||||
dimension 'network'
|
dimension 'network'
|
||||||
applicationId 'cash.z.ecc.android.testnet'
|
applicationId 'cash.z.ecc.android.testnet'
|
||||||
buildConfigField "String", "DEFAULT_SERVER_URL", '"lite2.hushpool.is"'
|
buildConfigField "String", "DEFAULT_SERVER_URL", '"dragonlite.printogre.com"'
|
||||||
matchingFallbacks = ['zcashtestnet', 'debug']
|
matchingFallbacks = ['zcashtestnet', 'debug']
|
||||||
}
|
}
|
||||||
|
|
||||||
zcashmainnet {
|
zcashmainnet {
|
||||||
dimension 'network'
|
dimension 'network'
|
||||||
buildConfigField "String", "DEFAULT_SERVER_URL", '"lite2.hushpool.is"'
|
buildConfigField "String", "DEFAULT_SERVER_URL", '"dragonlite.printogre.com"'
|
||||||
matchingFallbacks = ['zcashmainnet', 'release']
|
matchingFallbacks = ['zcashmainnet', 'release']
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -110,11 +118,8 @@ android {
|
|||||||
}
|
}
|
||||||
namespace 'cash.z.ecc.android'
|
namespace 'cash.z.ecc.android'
|
||||||
applicationVariants.all { variant ->
|
applicationVariants.all { variant ->
|
||||||
variant.outputs.all {
|
variant.outputs.all { output ->
|
||||||
if (variant.buildType.name == "qa") {
|
outputFileName = "$archivesBaseName-v${Deps.versionName}-${variant.buildType.name}-${output.getFilter("ABI")}.apk"
|
||||||
it.versionNameOverride = "${Deps.versionName}-QA"
|
|
||||||
}
|
|
||||||
outputFileName = "$archivesBaseName-v${Deps.versionName}-${variant.buildType.name}.apk"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -144,7 +149,7 @@ dependencies {
|
|||||||
implementation Deps.AndroidX.PAGING
|
implementation Deps.AndroidX.PAGING
|
||||||
implementation Deps.AndroidX.RECYCLER
|
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-core:${camerax_version}"
|
||||||
implementation "androidx.camera:camera-camera2:${camerax_version}"
|
implementation "androidx.camera:camera-camera2:${camerax_version}"
|
||||||
implementation "androidx.camera:camera-lifecycle:${camerax_version}"
|
implementation "androidx.camera:camera-lifecycle:${camerax_version}"
|
||||||
|
|||||||
@@ -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 |
@@ -36,9 +36,5 @@ object DependenciesHolder {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val feedbackFile by lazy { FeedbackFile() }
|
|
||||||
|
|
||||||
val feedbackConsole by lazy { FeedbackConsole() }
|
|
||||||
|
|
||||||
val mnemonics by lazy { Mnemonics() }
|
val mnemonics by lazy { Mnemonics() }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package cash.z.ecc.android.ext
|
package cash.z.ecc.android.ext
|
||||||
|
|
||||||
import cash.z.ecc.android.BuildConfig
|
import cash.z.ecc.android.BuildConfig
|
||||||
|
import kotlin.random.Random
|
||||||
|
|
||||||
object Const {
|
object Const {
|
||||||
/**
|
/**
|
||||||
@@ -22,6 +23,7 @@ object Const {
|
|||||||
const val FEEDBACK_ENABLED = "const.pref.feedback_enabled"
|
const val FEEDBACK_ENABLED = "const.pref.feedback_enabled"
|
||||||
const val SERVER_HOST = "const.pref.server_host"
|
const val SERVER_HOST = "const.pref.server_host"
|
||||||
const val SERVER_PORT = "const.pref.server_port"
|
const val SERVER_PORT = "const.pref.server_port"
|
||||||
|
const val STREET_MODE = "const.pref.street_mode"
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -45,8 +47,15 @@ object Const {
|
|||||||
*/
|
*/
|
||||||
object Default {
|
object Default {
|
||||||
object Server {
|
object Server {
|
||||||
// If you've forked the ECC repo, change this to your hosted lightwalletd instance
|
// Select a random server from list
|
||||||
const val HOST = BuildConfig.DEFAULT_SERVER_URL
|
private val serverList = listOf(
|
||||||
|
"dragonlite.printogre.com",
|
||||||
|
"lite.dragonx.is"
|
||||||
|
)
|
||||||
|
private val randomIndex = Random.nextInt(serverList.size);
|
||||||
|
private val randomServer = serverList[randomIndex]
|
||||||
|
|
||||||
|
val HOST = randomServer
|
||||||
const val PORT = 443
|
const val PORT = 443
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,10 +4,14 @@ import android.app.ActivityManager
|
|||||||
import android.app.Dialog
|
import android.app.Dialog
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.text.Html
|
import android.text.Html
|
||||||
|
import android.util.Log
|
||||||
import androidx.annotation.StringRes
|
import androidx.annotation.StringRes
|
||||||
import androidx.core.content.getSystemService
|
import androidx.core.content.getSystemService
|
||||||
import cash.z.ecc.android.R
|
import cash.z.ecc.android.R
|
||||||
|
import cash.z.ecc.android.feedback.Report
|
||||||
|
import cash.z.ecc.android.ui.scan.ScanFragment
|
||||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||||
|
import kotlin.system.exitProcess
|
||||||
|
|
||||||
fun Context.showClearDataConfirmation(onDismiss: () -> Unit = {}, onCancel: () -> Unit = {}): Dialog {
|
fun Context.showClearDataConfirmation(onDismiss: () -> Unit = {}, onCancel: () -> Unit = {}): Dialog {
|
||||||
return MaterialAlertDialogBuilder(this)
|
return MaterialAlertDialogBuilder(this)
|
||||||
@@ -88,6 +92,24 @@ fun Context.showCriticalMessage(@StringRes titleResId: Int, @StringRes messageRe
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun Context.showCriticalMessage(title: String, message: String, onDismiss: () -> Unit = {}): Dialog {
|
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"){
|
||||||
|
return MaterialAlertDialogBuilder(this)
|
||||||
|
.setTitle("Server Unavailable")
|
||||||
|
.setMessage("Please close and restart the app to try another random server.")
|
||||||
|
.setCancelable(false)
|
||||||
|
.setNegativeButton("Exit") { dialog, _ ->
|
||||||
|
dialog.dismiss()
|
||||||
|
exitProcess(0)
|
||||||
|
}
|
||||||
|
.show()
|
||||||
|
}
|
||||||
|
|
||||||
return MaterialAlertDialogBuilder(this)
|
return MaterialAlertDialogBuilder(this)
|
||||||
.setTitle(title)
|
.setTitle(title)
|
||||||
.setMessage(message)
|
.setMessage(message)
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ import cash.z.ecc.android.R
|
|||||||
import cash.z.ecc.android.ZcashWalletApp
|
import cash.z.ecc.android.ZcashWalletApp
|
||||||
import cash.z.ecc.android.databinding.DialogSolicitFeedbackRatingBinding
|
import cash.z.ecc.android.databinding.DialogSolicitFeedbackRatingBinding
|
||||||
import cash.z.ecc.android.databinding.FragmentHomeBinding
|
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.ext.*
|
||||||
import cash.z.ecc.android.feedback.Report
|
import cash.z.ecc.android.feedback.Report
|
||||||
import cash.z.ecc.android.feedback.Report.Tap.*
|
import cash.z.ecc.android.feedback.Report.Tap.*
|
||||||
@@ -112,15 +114,19 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
|
|||||||
)
|
)
|
||||||
hitAreaProfile.onClickNavTo(R.id.action_nav_home_to_nav_profile) { tapped(HOME_PROFILE) }
|
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) }
|
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(
|
// Only allow viewing balance detail when not in Street Mode
|
||||||
HOME_BALANCE_DETAIL
|
if(!lockBox.getBoolean(Const.Pref.STREET_MODE)) {
|
||||||
)
|
textSendAmount.onClickNavTo(R.id.action_nav_home_to_nav_balance_detail) {
|
||||||
}
|
tapped(
|
||||||
hitAreaBalance.onClickNavTo(R.id.action_nav_home_to_nav_balance_detail) {
|
HOME_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) }
|
hitAreaReceive.onClickNavTo(R.id.action_nav_home_to_nav_receive) { tapped(HOME_RECEIVE) }
|
||||||
|
|
||||||
@@ -320,6 +326,15 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
|
|||||||
else -> getString(R.string.home_instruction_enter_amount)
|
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) {
|
fun setBanner(message: String = "", action: BannerAction = CLEAR) {
|
||||||
@@ -476,19 +491,6 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
|
|||||||
mainActivity?.safeNavigate(R.id.action_nav_home_to_nav_receive)
|
mainActivity?.safeNavigate(R.id.action_nav_home_to_nav_receive)
|
||||||
}
|
}
|
||||||
.show()
|
.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 -> {
|
CANCEL -> {
|
||||||
// TODO: trigger banner / balance update
|
// TODO: trigger banner / balance update
|
||||||
|
|||||||
@@ -66,26 +66,21 @@ class ProfileFragment : BaseFragment<FragmentProfileBinding>() {
|
|||||||
openTelegramLink()
|
openTelegramLink()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Matrix
|
|
||||||
binding.matrixButton.setOnClickListener {
|
|
||||||
openMatrixLink()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Mastodon
|
|
||||||
binding.mastodonButton.setOnClickListener {
|
|
||||||
openMastodonLink()
|
|
||||||
}
|
|
||||||
|
|
||||||
// PeerTube
|
|
||||||
binding.peertubeButton.setOnClickListener {
|
|
||||||
openPeerTubeLink()
|
|
||||||
}
|
|
||||||
|
|
||||||
// SilentDragon Gitea
|
// SilentDragon Gitea
|
||||||
binding.textBannerMessage.setOnClickListener {
|
binding.textBannerMessage.setOnClickListener {
|
||||||
openGiteaLink()
|
openGiteaLink()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fakebook
|
||||||
|
binding.fakebookButton.setOnClickListener {
|
||||||
|
openFakebookLink()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Twatter
|
||||||
|
binding.twatterButton.setOnClickListener {
|
||||||
|
openTwatterLink()
|
||||||
|
}
|
||||||
|
|
||||||
// Add build version
|
// Add build version
|
||||||
binding.textVersion.text = BuildConfig.VERSION_NAME
|
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() {
|
private fun openGiteaLink() {
|
||||||
getString(R.string.gitea_url).takeUnless { it.isBlank() }?.let { url ->
|
getString(R.string.gitea_url).takeUnless { it.isBlank() }?.let { url ->
|
||||||
mainActivity?.onLaunchUrl(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() {
|
private fun openTelegramLink() {
|
||||||
getString(R.string.telegram_url).takeUnless { it.isBlank() }?.let { url ->
|
getString(R.string.telegram_url).takeUnless { it.isBlank() }?.let { url ->
|
||||||
mainActivity?.onLaunchUrl(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() {
|
override fun onResume() {
|
||||||
super.onResume()
|
super.onResume()
|
||||||
resumedScope.launch {
|
resumedScope.launch {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package cash.z.ecc.android.ui.scan
|
package cash.z.ecc.android.ui.scan
|
||||||
|
|
||||||
|
import android.net.UrlQuerySanitizer
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
@@ -16,14 +17,14 @@ import androidx.window.layout.WindowMetricsCalculator
|
|||||||
import cash.z.ecc.android.R
|
import cash.z.ecc.android.R
|
||||||
import cash.z.ecc.android.databinding.FragmentScanBinding
|
import cash.z.ecc.android.databinding.FragmentScanBinding
|
||||||
import cash.z.ecc.android.ext.onClickNavBack
|
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.base.BaseFragment
|
||||||
import cash.z.ecc.android.ui.send.SendViewModel
|
import cash.z.ecc.android.ui.send.SendViewModel
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import java.util.concurrent.ExecutorService
|
import java.util.concurrent.ExecutorService
|
||||||
import java.util.concurrent.Executors
|
import java.util.concurrent.Executors
|
||||||
import kotlin.math.abs
|
import kotlin.math.abs
|
||||||
import kotlin.math.max
|
|
||||||
import kotlin.math.min
|
|
||||||
|
|
||||||
|
|
||||||
class ScanFragment : BaseFragment<FragmentScanBinding>() {
|
class ScanFragment : BaseFragment<FragmentScanBinding>() {
|
||||||
@@ -111,17 +112,14 @@ class ScanFragment : BaseFragment<FragmentScanBinding>() {
|
|||||||
private fun bindCameraUseCases() {
|
private fun bindCameraUseCases() {
|
||||||
|
|
||||||
// Get screen metrics used to setup camera for full screen resolution
|
// Get screen metrics used to setup camera for full screen resolution
|
||||||
/*
|
val windowMetrics = WindowMetricsCalculator.getOrCreate().computeCurrentWindowMetrics(requireActivity())
|
||||||
val metrics = WindowMetricsCalculator.getOrCreate().computeCurrentWindowMetrics(requireActivity()).bounds
|
Log.d(TAG, "Screen metrics: ${windowMetrics.bounds.width()} x ${windowMetrics.bounds.height()}")
|
||||||
Log.d("SilentDragon", "Screen metrics: ${metrics.width()} x ${metrics.height()}")
|
|
||||||
val screenAspectRatio = aspectRatio(metrics.width(), metrics.height())
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Hardcode to square for now otherwise scanning doesn't work
|
val screenAspectRatio = aspectRatio(windowMetrics.bounds.width(), windowMetrics.bounds.height())
|
||||||
val screenAspectRatio = aspectRatio(1, 1)
|
Log.d(TAG, "Preview aspect ratio: $screenAspectRatio")
|
||||||
Log.d("SilentDragon", "Preview aspect ratio: $screenAspectRatio")
|
|
||||||
|
|
||||||
val rotation = fragmentCameraBinding.viewFinder.display.rotation
|
val rotation = fragmentCameraBinding.viewFinder.display.rotation
|
||||||
|
Log.d(TAG, "Rotation: $rotation")
|
||||||
|
|
||||||
// CameraProvider
|
// CameraProvider
|
||||||
val cameraProvider = cameraProvider
|
val cameraProvider = cameraProvider
|
||||||
@@ -298,7 +296,8 @@ class ScanFragment : BaseFragment<FragmentScanBinding>() {
|
|||||||
* @return suitable aspect ratio
|
* @return suitable aspect ratio
|
||||||
*/
|
*/
|
||||||
private fun aspectRatio(width: Int, height: Int): Int {
|
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)) {
|
if (abs(previewRatio - RATIO_4_3_VALUE) <= abs(previewRatio - RATIO_16_9_VALUE)) {
|
||||||
return AspectRatio.RATIO_4_3
|
return AspectRatio.RATIO_4_3
|
||||||
}
|
}
|
||||||
@@ -323,17 +322,34 @@ class ScanFragment : BaseFragment<FragmentScanBinding>() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun onQrScanned(qrContent: String, image: ImageProxy) {
|
private fun onQrScanned(qrContent: String, image: ImageProxy) {
|
||||||
//Log.d("SilentDragon", "QR scanned: $qrContent")
|
|
||||||
resumedScope.launch {
|
resumedScope.launch {
|
||||||
val parsed = viewModel.parse(qrContent)
|
val address = viewModel.parse(qrContent)
|
||||||
if (parsed == null) {
|
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
|
val network = viewModel.networkName
|
||||||
_fragmentCameraBinding?.textScanError?.text =
|
_fragmentCameraBinding?.textScanError?.text =
|
||||||
getString(R.string.scan_invalid_address, network, qrContent)
|
getString(R.string.scan_invalid_address, network, qrContent)
|
||||||
image.close()
|
image.close()
|
||||||
} else { /* continue scanning*/
|
} else { /* continue scanning*/
|
||||||
_fragmentCameraBinding?.textScanError?.text = ""
|
_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)
|
mainActivity?.safeNavigate(R.id.action_nav_scan_to_nav_send)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package cash.z.ecc.android.ui.scan
|
package cash.z.ecc.android.ui.scan
|
||||||
|
|
||||||
|
import android.util.Log
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import cash.z.ecc.android.di.DependenciesHolder
|
import cash.z.ecc.android.di.DependenciesHolder
|
||||||
import cash.z.ecc.android.sdk.Synchronizer
|
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:
|
// 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
|
// TODO: replace with more robust ZIP-321 handling of QR codes
|
||||||
val address = if (qrCode.startsWith("hush:")) {
|
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 {
|
} else {
|
||||||
qrCode
|
qrCode
|
||||||
}
|
}
|
||||||
|
Log.d("SilentDragon", "address: $address")
|
||||||
return if (synchronizer.validateAddress(address).isNotValid) null else 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.content.res.ColorStateList
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.util.Log
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
|
import androidx.core.view.ViewCompat.jumpDrawablesToCurrentState
|
||||||
import androidx.core.widget.doAfterTextChanged
|
import androidx.core.widget.doAfterTextChanged
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import cash.z.ecc.android.R
|
import cash.z.ecc.android.R
|
||||||
import cash.z.ecc.android.ZcashWalletApp
|
import cash.z.ecc.android.ZcashWalletApp
|
||||||
import cash.z.ecc.android.databinding.FragmentSettingsBinding
|
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.ext.*
|
||||||
import cash.z.ecc.android.sdk.exception.LightWalletException
|
import cash.z.ecc.android.sdk.exception.LightWalletException
|
||||||
import cash.z.ecc.android.sdk.ext.collectWith
|
import cash.z.ecc.android.sdk.ext.collectWith
|
||||||
@@ -37,6 +41,15 @@ class SettingsFragment : BaseFragment<FragmentSettingsBinding>() {
|
|||||||
hitAreaExit.onClickNavBack()
|
hitAreaExit.onClickNavBack()
|
||||||
buttonReset.setOnClickListener(::onResetClicked)
|
buttonReset.setOnClickListener(::onResetClicked)
|
||||||
buttonUpdate.setOnClickListener(::onUpdateClicked)
|
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
|
buttonUpdate.isActivated = true
|
||||||
buttonReset.isActivated = true
|
buttonReset.isActivated = true
|
||||||
inputHost.doAfterTextChanged {
|
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) {
|
private fun onUiModelUpdated(uiModel: SettingsViewModel.UiModel) {
|
||||||
twig("onUiModelUpdated:::::$uiModel")
|
twig("onUiModelUpdated:::::$uiModel")
|
||||||
binding.apply {
|
binding.apply {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package cash.z.ecc.android.ui.settings
|
package cash.z.ecc.android.ui.settings
|
||||||
|
|
||||||
|
import android.util.Log
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import cash.z.ecc.android.di.DependenciesHolder
|
import cash.z.ecc.android.di.DependenciesHolder
|
||||||
import cash.z.ecc.android.ext.Const
|
import cash.z.ecc.android.ext.Const
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ class LandingFragment : BaseFragment<FragmentLandingBinding>() {
|
|||||||
ZcashNetwork.Mainnet -> {
|
ZcashNetwork.Mainnet -> {
|
||||||
seedPhrase =
|
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"
|
"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 -> {
|
ZcashNetwork.Testnet -> {
|
||||||
seedPhrase =
|
seedPhrase =
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package cash.z.ecc.android.ui.setup
|
package cash.z.ecc.android.ui.setup
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.util.Log
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import cash.z.ecc.android.ZcashWalletApp
|
import cash.z.ecc.android.ZcashWalletApp
|
||||||
import cash.z.ecc.android.di.DependenciesHolder
|
import cash.z.ecc.android.di.DependenciesHolder
|
||||||
@@ -91,6 +92,7 @@ class WalletSetupViewModel : ViewModel() {
|
|||||||
* known by this point.
|
* known by this point.
|
||||||
*/
|
*/
|
||||||
private suspend fun loadConfig(): Initializer.Config {
|
private suspend fun loadConfig(): Initializer.Config {
|
||||||
|
|
||||||
twig("Loading config variables")
|
twig("Loading config variables")
|
||||||
var overwriteVks = false
|
var overwriteVks = false
|
||||||
val network = ZcashWalletApp.instance.defaultNetwork
|
val network = ZcashWalletApp.instance.defaultNetwork
|
||||||
@@ -100,6 +102,10 @@ class WalletSetupViewModel : ViewModel() {
|
|||||||
val host = prefs[Const.Pref.SERVER_HOST] ?: Const.Default.Server.HOST
|
val host = prefs[Const.Pref.SERVER_HOST] ?: Const.Default.Server.HOST
|
||||||
val port = prefs[Const.Pref.SERVER_PORT] ?: Const.Default.Server.PORT
|
val port = prefs[Const.Pref.SERVER_PORT] ?: Const.Default.Server.PORT
|
||||||
|
|
||||||
|
Log.d("SilentDragon", "host: $host")
|
||||||
|
|
||||||
|
// TODO: Maybe check server availability here
|
||||||
|
|
||||||
twig("Done loading config variables")
|
twig("Done loading config variables")
|
||||||
return Initializer.Config {
|
return Initializer.Config {
|
||||||
it.importWallet(vk, birthdayHeight, network, LightWalletEndpoint(host, port, true))
|
it.importWallet(vk, birthdayHeight, network, LightWalletEndpoint(host, port, true))
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:state_pressed="false" android:color="@color/text_dark"/>
|
<item android:state_pressed="false" android:color="@color/app_icon_foreground"/>
|
||||||
<item android:state_pressed="true" android:color="@color/text_light" />
|
<item android:state_pressed="true" android:color="@color/app_icon_background_0" />
|
||||||
</selector>
|
</selector>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<item android:state_pressed="false" android:color="@color/text_light"/>
|
<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>
|
</selector>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
<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="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>
|
</selector>
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
android:centerY="36.01165"
|
android:centerY="36.01165"
|
||||||
android:type="radial">
|
android:type="radial">
|
||||||
<item android:offset="0" android:color="@color/app_icon_background_0"/>
|
<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>
|
</gradient>
|
||||||
</aapt:attr>
|
</aapt:attr>
|
||||||
</path>
|
</path>
|
||||||
|
|||||||
@@ -2,5 +2,5 @@
|
|||||||
<shape
|
<shape
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<corners android:radius="10dp" />
|
<corners android:radius="10dp" />
|
||||||
<solid android:color="@color/background_banner"/>
|
<solid android:color="@color/app_icon_background_0"/>
|
||||||
</shape>
|
</shape>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<solid android:color="#CF000000"/>
|
<solid android:color="@color/app_icon_background_0"/>
|
||||||
<stroke android:color="#60000000" android:width="4dp" />
|
<stroke android:color="@color/ic_launcher_background" android:width="4dp" />
|
||||||
</shape>
|
</shape>
|
||||||
|
|||||||
@@ -3,5 +3,5 @@
|
|||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<corners android:radius="10dp" />
|
<corners android:radius="10dp" />
|
||||||
<stroke android:width="1dp" android:color="@color/background_banner_stroke"/>
|
<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>
|
</shape>
|
||||||
@@ -3,5 +3,5 @@
|
|||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<corners android:radius="16dp" />
|
<corners android:radius="16dp" />
|
||||||
<stroke android:width="1dp" android:color="#282828"/>
|
<stroke android:width="1dp" android:color="#282828"/>
|
||||||
<solid android:color="@color/background_banner"/>
|
<solid android:color="@color/app_icon_background_0"/>
|
||||||
</shape>
|
</shape>
|
||||||
@@ -24,6 +24,6 @@
|
|||||||
android:bottomRightRadius="10dp"
|
android:bottomRightRadius="10dp"
|
||||||
android:topLeftRadius="0dp"
|
android:topLeftRadius="0dp"
|
||||||
android:topRightRadius="0dp" />
|
android:topRightRadius="0dp" />
|
||||||
<solid android:color="@color/background_banner" />
|
<solid android:color="@color/app_icon_background_0" />
|
||||||
</shape>
|
</shape>
|
||||||
</item></layer-list>
|
</item></layer-list>
|
||||||
|
|||||||
@@ -2,6 +2,6 @@
|
|||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<gradient
|
<gradient
|
||||||
android:angle="270"
|
android:angle="270"
|
||||||
android:endColor="@color/background_banner"
|
android:endColor="@color/app_icon_background_0"
|
||||||
android:startColor="@android:color/transparent" />
|
android:startColor="@android:color/transparent" />
|
||||||
</shape>
|
</shape>
|
||||||
|
|||||||
@@ -22,6 +22,6 @@
|
|||||||
android:bottomRightRadius="0dp"
|
android:bottomRightRadius="0dp"
|
||||||
android:topLeftRadius="10dp"
|
android:topLeftRadius="10dp"
|
||||||
android:topRightRadius="10dp" />
|
android:topRightRadius="10dp" />
|
||||||
<solid android:color="@color/background_banner" />
|
<solid android:color="@color/app_icon_background_0" />
|
||||||
</shape>
|
</shape>
|
||||||
</item></layer-list>
|
</item></layer-list>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:shape="rectangle">
|
android:shape="rectangle">
|
||||||
<gradient
|
<gradient
|
||||||
android:endColor="#000000"
|
android:endColor="@color/app_icon_background_0"
|
||||||
android:startColor="#28282C"
|
android:startColor="#28282C"
|
||||||
android:type="radial"
|
android:type="radial"
|
||||||
android:centerY="0.36"
|
android:centerY="0.36"
|
||||||
|
|||||||
@@ -3,5 +3,5 @@
|
|||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<corners android:radius="10dp" />
|
<corners android:radius="10dp" />
|
||||||
<stroke android:width="1dp" android:color="#282828"/>
|
<stroke android:width="1dp" android:color="#282828"/>
|
||||||
<solid android:color="#171717"/>
|
<solid android:color="@color/app_icon_background_0"/>
|
||||||
</shape>
|
</shape>
|
||||||
@@ -3,5 +3,5 @@
|
|||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<corners android:radius="3dp" />
|
<corners android:radius="3dp" />
|
||||||
<stroke android:width="1dp" android:color="#282828"/>
|
<stroke android:width="1dp" android:color="#282828"/>
|
||||||
<solid android:color="@color/background_banner"/>
|
<solid android:color="@color/app_icon_background_0"/>
|
||||||
</shape>
|
</shape>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<vector android:height="24dp" android:tint="#FFFFFF"
|
<vector android:height="24dp" android:tint="#FFFFFF"
|
||||||
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
android:viewportHeight="24.0" android:viewportWidth="24.0"
|
||||||
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
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>
|
</vector>
|
||||||
|
|||||||
@@ -4,6 +4,6 @@
|
|||||||
android:viewportWidth="24.0"
|
android:viewportWidth="24.0"
|
||||||
android:viewportHeight="24.0">
|
android:viewportHeight="24.0">
|
||||||
<path
|
<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"/>
|
android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z"/>
|
||||||
</vector>
|
</vector>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
<path
|
<path
|
||||||
android:pathData="M13.406,0L272.594,0L286,13.364L286,270.914L272.594,285L13.406,285L0,271.641L0,13.364L13.406,0Z"
|
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:strokeWidth="1"
|
||||||
android:fillColor="#2C2C2F"
|
android:fillColor="@color/app_icon_background_0"
|
||||||
android:fillType="evenOdd"
|
android:fillType="evenOdd"
|
||||||
android:strokeColor="#00000000"/>
|
android:strokeColor="#00000000"/>
|
||||||
</vector>
|
</vector>
|
||||||
|
|||||||
@@ -4,6 +4,6 @@
|
|||||||
android:viewportWidth="24.0"
|
android:viewportWidth="24.0"
|
||||||
android:viewportHeight="24.0">
|
android:viewportHeight="24.0">
|
||||||
<path
|
<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"/>
|
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>
|
</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"
|
<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
|
||||||
android:viewportWidth="345.8"
|
android:viewportWidth="888"
|
||||||
android:viewportHeight="402.5"
|
android:viewportHeight="827"
|
||||||
android:width="345.8dp"
|
android:width="888dp"
|
||||||
android:height="402.5dp">
|
android:height="827dp">
|
||||||
<path
|
<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: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="#FFFFFF" />
|
android:fillColor="#90A3B8"
|
||||||
|
android:fillAlpha="0.9607843"
|
||||||
|
android:strokeColor="#90A3B8"
|
||||||
|
android:strokeAlpha="0.9607843"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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: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="#FFFFFF" />
|
android:fillColor="#90A3B8"
|
||||||
|
android:fillAlpha="0.9607843"
|
||||||
|
android:strokeColor="#90A3B8"
|
||||||
|
android:strokeAlpha="0.9607843"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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: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="#FFFFFF" />
|
android:fillColor="#F8FFFF"
|
||||||
|
android:fillAlpha="0.9490196"
|
||||||
|
android:strokeColor="#F8FFFF"
|
||||||
|
android:strokeAlpha="0.9490196"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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: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="#FFFFFF" />
|
android:fillColor="#F8FFFF"
|
||||||
|
android:fillAlpha="0.9490196"
|
||||||
|
android:strokeColor="#F8FFFF"
|
||||||
|
android:strokeAlpha="0.9490196"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<path
|
||||||
android:pathData="M77.2 343.8h6.9v29.7h-6.9V343.8z"
|
android:pathData="M217.5 119L218 124.5L217 124.5L217.5 119Z"
|
||||||
android:fillColor="#FFFFFF" />
|
android:fillColor="#F8FFFF"
|
||||||
|
android:fillAlpha="0.9490196"
|
||||||
|
android:strokeColor="#F8FFFF"
|
||||||
|
android:strokeAlpha="0.9490196"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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:pathData="M654.5 120L655 125.5L654 125.5L654.5 120Z"
|
||||||
android:fillColor="#FFFFFF" />
|
android:fillColor="#F8FFFF"
|
||||||
|
android:fillAlpha="0.9490196"
|
||||||
|
android:strokeColor="#F8FFFF"
|
||||||
|
android:strokeAlpha="0.9490196"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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:pathData="M435 124L437 124L437 129L435 129L435 124Z"
|
||||||
android:fillColor="#FFFFFF" />
|
android:fillColor="#F8FFFF"
|
||||||
|
android:fillAlpha="0.9490196"
|
||||||
|
android:strokeColor="#F8FFFF"
|
||||||
|
android:strokeAlpha="0.9490196"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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:pathData="M218.5 126L219 130.5L218 130.5L218.5 126Z"
|
||||||
android:fillColor="#FFFFFF" />
|
android:fillColor="#F8FFFF"
|
||||||
|
android:fillAlpha="0.9490196"
|
||||||
|
android:strokeColor="#F8FFFF"
|
||||||
|
android:strokeAlpha="0.9490196"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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:pathData="M653.5 127L654 131.5L651.5 141L651 137.5L653.5 127Z"
|
||||||
android:fillColor="#FFFFFF" />
|
android:fillColor="#F8FFFF"
|
||||||
|
android:fillAlpha="0.9490196"
|
||||||
|
android:strokeColor="#F8FFFF"
|
||||||
|
android:strokeAlpha="0.9490196"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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:pathData="M434.5 130L435 134.5L433.5 140L433 135.5L434.5 130Z"
|
||||||
android:fillColor="#FFFFFF" />
|
android:fillColor="#F8FFFF"
|
||||||
|
android:fillAlpha="0.9490196"
|
||||||
|
android:strokeColor="#F8FFFF"
|
||||||
|
android:strokeAlpha="0.9490196"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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:pathData="M437.5 130L439 139.5L438 139.5L437.5 130Z"
|
||||||
android:fillColor="#FFFFFF" />
|
android:fillColor="#F8FFFF"
|
||||||
|
android:fillAlpha="0.9490196"
|
||||||
|
android:strokeColor="#F8FFFF"
|
||||||
|
android:strokeAlpha="0.9490196"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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:pathData="M219.5 132L221 140.5L220 140.5L219.5 132Z"
|
||||||
android:fillColor="#FFFFFF" />
|
android:fillColor="#F8FFFF"
|
||||||
|
android:fillAlpha="0.9490196"
|
||||||
|
android:strokeColor="#F8FFFF"
|
||||||
|
android:strokeAlpha="0.9490196"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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:pathData="M432.5 141L433 145.5L431.5 151L431 146.5L432.5 141Z"
|
||||||
android:fillColor="#FFFFFF" />
|
android:fillColor="#F8FFFF"
|
||||||
|
android:fillAlpha="0.9490196"
|
||||||
|
android:strokeColor="#F8FFFF"
|
||||||
|
android:strokeAlpha="0.9490196"
|
||||||
|
android:strokeWidth="1" />
|
||||||
<path
|
<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:pathData="M439.5 141L442 155.5L441 155.5L439.5 141Z"
|
||||||
android:fillColor="#FFFFFF" />
|
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>
|
</vector>
|
||||||
@@ -5,5 +5,5 @@
|
|||||||
android:height="512dp">
|
android:height="512dp">
|
||||||
<path
|
<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: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>
|
</vector>
|
||||||
@@ -13,5 +13,5 @@
|
|||||||
android:fillAlpha="0.5" />
|
android:fillAlpha="0.5" />
|
||||||
<path
|
<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: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>
|
</vector>
|
||||||
@@ -5,5 +5,5 @@
|
|||||||
android:height="24dp">
|
android:height="24dp">
|
||||||
<path
|
<path
|
||||||
android:pathData="M12 6.545v10.91L20.727 12M3.273 12v12L12 17.455M3.273 0v12L12 6.545"
|
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>
|
</vector>
|
||||||
@@ -4,6 +4,6 @@
|
|||||||
android:viewportWidth="24.0"
|
android:viewportWidth="24.0"
|
||||||
android:viewportHeight="24.0">
|
android:viewportHeight="24.0">
|
||||||
<path
|
<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"/>
|
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>
|
</vector>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
android:width="412dp">
|
android:width="412dp">
|
||||||
<path
|
<path
|
||||||
android:fillAlpha="0.6"
|
android:fillAlpha="0.6"
|
||||||
android:fillColor="#000000"
|
android:fillColor="@color/app_icon_background_0"
|
||||||
android:fillType="evenOdd"
|
android:fillType="evenOdd"
|
||||||
android:pathData="M412,0L412,732L0,732L0,0L412,0ZM351,135L61,135L46,150.005L46,440L61,455L351,455L366,439.184L366,150.005L351,135Z"
|
android:pathData="M412,0L412,732L0,732L0,0L412,0ZM351,135L61,135L46,150.005L46,440L61,455L351,455L366,439.184L366,150.005L351,135Z"
|
||||||
android:strokeAlpha="0.5108352"
|
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: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:strokeAlpha="0.5108352"
|
||||||
android:strokeWidth="1"
|
android:strokeWidth="1"
|
||||||
android:fillColor="#000000"
|
android:fillColor="@color/app_icon_background_0"
|
||||||
android:fillType="evenOdd"
|
android:fillType="evenOdd"
|
||||||
android:strokeColor="#00000000"
|
android:strokeColor="#00000000"
|
||||||
android:fillAlpha="0.6"/>
|
android:fillAlpha="0.6"/>
|
||||||
|
|||||||
@@ -5,5 +5,5 @@
|
|||||||
android:height="512dp">
|
android:height="512dp">
|
||||||
<path
|
<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: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>
|
</vector>
|
||||||
1089
app/src/main/res/drawable/ic_twatter.xml
Normal file
@@ -5,5 +5,5 @@
|
|||||||
android:height="512dp">
|
android:height="512dp">
|
||||||
<path
|
<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: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>
|
</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:layout_height="wrap_content"
|
||||||
android:minWidth="320dp"
|
android:minWidth="320dp"
|
||||||
android:text="@string/backup_button_primary"
|
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_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/button_seedphrase_more_info" />
|
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:layout_height="wrap_content"
|
||||||
android:minWidth="320dp"
|
android:minWidth="320dp"
|
||||||
android:text="@string/backup_button_more_info"
|
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_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="@id/guideline_buttons" />
|
app:layout_constraintTop_toTopOf="@id/guideline_buttons" />
|
||||||
|
|||||||
@@ -144,7 +144,7 @@
|
|||||||
app:layout_constraintVertical_bias="0.065"
|
app:layout_constraintVertical_bias="0.065"
|
||||||
app:layout_constraintWidth_percent="0.08"
|
app:layout_constraintWidth_percent="0.08"
|
||||||
app:srcCompat="@drawable/ic_cancel"
|
app:srcCompat="@drawable/ic_cancel"
|
||||||
app:tint="@color/text_light_dimmed" />
|
app:tint="@color/colorAccent" />
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
android:textColor="@color/zcashYellow"
|
android:textColor="@color/zcashYellow"
|
||||||
app:layout_constraintTop_toTopOf="@id/background_top"
|
app:layout_constraintTop_toTopOf="@id/background_top"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/guideline_content_end"
|
app:layout_constraintEnd_toStartOf="@+id/guideline_content_end"
|
||||||
tools:text="Shielded HUSH" />
|
tools:text="Shielded DRGX" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/text_shield_amount"
|
android:id="@+id/text_shield_amount"
|
||||||
|
|||||||
@@ -71,7 +71,7 @@
|
|||||||
android:elevation="8dp"
|
android:elevation="8dp"
|
||||||
android:textSize="20dp"
|
android:textSize="20dp"
|
||||||
android:gravity="center"
|
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_constraintVertical_bias="0.24"
|
||||||
app:layout_constraintTop_toBottomOf="@id/text_title"
|
app:layout_constraintTop_toBottomOf="@id/text_title"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/card_background"
|
app:layout_constraintBottom_toBottomOf="@id/card_background"
|
||||||
|
|||||||
@@ -47,7 +47,7 @@
|
|||||||
android:id="@+id/back_button"
|
android:id="@+id/back_button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:tint="@color/text_light"
|
app:tint="@color/colorAccent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.05"
|
app:layout_constraintHorizontal_bias="0.05"
|
||||||
|
|||||||
@@ -296,7 +296,7 @@
|
|||||||
android:paddingBottom="24dp"
|
android:paddingBottom="24dp"
|
||||||
android:paddingStart="56dp"
|
android:paddingStart="56dp"
|
||||||
android:paddingEnd="56dp"
|
android:paddingEnd="56dp"
|
||||||
android:textColor="@color/selector_button_text_dark"
|
android:textColor="@color/colorPrimary"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
app:layout_constraintTop_toTopOf="@id/lottie_button_loading"
|
app:layout_constraintTop_toTopOf="@id/lottie_button_loading"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/lottie_button_loading"
|
app:layout_constraintBottom_toBottomOf="@id/lottie_button_loading"
|
||||||
@@ -404,7 +404,6 @@
|
|||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:paddingEnd="16dp"
|
android:paddingEnd="16dp"
|
||||||
|
|
||||||
app:autoSizeTextType="uniform"
|
app:autoSizeTextType="uniform"
|
||||||
app:layout_constraintBottom_toTopOf="@id/guideline_send_amount_bottom"
|
app:layout_constraintBottom_toTopOf="@id/guideline_send_amount_bottom"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
|||||||
@@ -53,7 +53,7 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:elevation="6dp"
|
android:elevation="6dp"
|
||||||
app:tint="@color/text_light_dimmed"
|
app:tint="@color/colorAccent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintDimensionRatio="H,1:1"
|
app:layout_constraintDimensionRatio="H,1:1"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:elevation="6dp"
|
android:elevation="6dp"
|
||||||
app:tint="@color/text_light_dimmed"
|
app:tint="@color/colorAccent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintDimensionRatio="H,1:1"
|
app:layout_constraintDimensionRatio="H,1:1"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -194,7 +194,7 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="128dp"
|
android:layout_marginBottom="128dp"
|
||||||
android:background="@drawable/background_banner"
|
android:background="@drawable/background_balance_detail_amounts_container"
|
||||||
android:elevation="6dp"
|
android:elevation="6dp"
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:paddingTop="8dp"
|
android:paddingTop="8dp"
|
||||||
@@ -225,7 +225,7 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="8dp"
|
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"
|
android:textAlignment="center"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -262,31 +262,23 @@
|
|||||||
app:srcCompat="@drawable/ic_telegram" />
|
app:srcCompat="@drawable/ic_telegram" />
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/matrixButton"
|
android:id="@+id/fakebookButton"
|
||||||
android:layout_width="64dp"
|
android:layout_width="64dp"
|
||||||
android:layout_height="64dp"
|
android:layout_height="64dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
app:tint="#333333"
|
app:tint="#333333"
|
||||||
app:srcCompat="@drawable/ic_matrix" />
|
app:srcCompat="@drawable/ic_fakebook" />
|
||||||
|
|
||||||
<ImageButton
|
<ImageButton
|
||||||
android:id="@+id/mastodonButton"
|
android:id="@+id/twatterButton"
|
||||||
android:layout_width="64dp"
|
android:layout_width="64dp"
|
||||||
android:layout_height="64dp"
|
android:layout_height="64dp"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:scaleType="fitCenter"
|
android:scaleType="fitCenter"
|
||||||
app:tint="#333333"
|
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>
|
</LinearLayout>
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
android:id="@+id/overlay_bottom"
|
android:id="@+id/overlay_bottom"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="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_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -70,7 +70,7 @@
|
|||||||
android:id="@+id/overlay_end"
|
android:id="@+id/overlay_end"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="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_constraintBottom_toBottomOf="@id/spacer_overlay"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/spacer_overlay"
|
app:layout_constraintStart_toEndOf="@id/spacer_overlay"
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
android:id="@+id/overlay_start"
|
android:id="@+id/overlay_start"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="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_constraintBottom_toBottomOf="@id/spacer_overlay"
|
||||||
app:layout_constraintEnd_toStartOf="@id/spacer_overlay"
|
app:layout_constraintEnd_toStartOf="@id/spacer_overlay"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -90,7 +90,7 @@
|
|||||||
android:id="@+id/overlay_top"
|
android:id="@+id/overlay_top"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="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_constraintBottom_toTopOf="@id/spacer_overlay"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
android:id="@+id/overlay_top_left_notch"
|
android:id="@+id/overlay_top_left_notch"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="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_constraintDimensionRatio="H,1:1"
|
||||||
app:layout_constraintStart_toEndOf="@id/overlay_start"
|
app:layout_constraintStart_toEndOf="@id/overlay_start"
|
||||||
app:layout_constraintTop_toBottomOf="@id/overlay_top"
|
app:layout_constraintTop_toBottomOf="@id/overlay_top"
|
||||||
@@ -111,7 +111,7 @@
|
|||||||
android:id="@+id/overlay_top_right_notch"
|
android:id="@+id/overlay_top_right_notch"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="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_constraintDimensionRatio="H,1:1"
|
||||||
app:layout_constraintEnd_toStartOf="@id/overlay_end"
|
app:layout_constraintEnd_toStartOf="@id/overlay_end"
|
||||||
app:layout_constraintTop_toBottomOf="@id/overlay_top"
|
app:layout_constraintTop_toBottomOf="@id/overlay_top"
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
android:id="@+id/overlay_bottom_left_notch"
|
android:id="@+id/overlay_bottom_left_notch"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="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_constraintBottom_toTopOf="@id/overlay_bottom"
|
||||||
app:layout_constraintDimensionRatio="H,1:1"
|
app:layout_constraintDimensionRatio="H,1:1"
|
||||||
app:layout_constraintStart_toEndOf="@id/overlay_start"
|
app:layout_constraintStart_toEndOf="@id/overlay_start"
|
||||||
@@ -131,7 +131,7 @@
|
|||||||
android:id="@+id/overlay_bottom_right_notch"
|
android:id="@+id/overlay_bottom_right_notch"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="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_constraintBottom_toTopOf="@id/overlay_bottom"
|
||||||
app:layout_constraintDimensionRatio="H,1:1"
|
app:layout_constraintDimensionRatio="H,1:1"
|
||||||
app:layout_constraintEnd_toStartOf="@id/overlay_end"
|
app:layout_constraintEnd_toStartOf="@id/overlay_end"
|
||||||
@@ -173,7 +173,7 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:contentDescription="@string/content_description_scan_back"
|
android:contentDescription="@string/content_description_scan_back"
|
||||||
app:tint="@color/text_light_dimmed"
|
app:tint="@color/colorAccent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintDimensionRatio="H,1:1"
|
app:layout_constraintDimensionRatio="H,1:1"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:contentDescription="@string/content_description_send_back"
|
android:contentDescription="@string/content_description_send_back"
|
||||||
app:tint="@color/text_light"
|
app:tint="@color/colorAccent"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.05"
|
app:layout_constraintHorizontal_bias="0.05"
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:contentDescription="@string/content_description_send_arrow"
|
android:contentDescription="@string/content_description_send_arrow"
|
||||||
app:tint="@color/colorPrimary"
|
app:tint="@color/colorAccent"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/text_banner_message_end"
|
app:layout_constraintBottom_toBottomOf="@id/text_banner_message_end"
|
||||||
app:layout_constraintStart_toEndOf="@id/text_banner_message_end"
|
app:layout_constraintStart_toEndOf="@id/text_banner_message_end"
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
android:theme="@style/Zcash.Overlay.TextInputLayout"
|
android:theme="@style/Zcash.Overlay.TextInputLayout"
|
||||||
app:endIconDrawable="@drawable/ic_qr_scan"
|
app:endIconDrawable="@drawable/ic_qr_scan"
|
||||||
app:endIconMode="custom"
|
app:endIconMode="custom"
|
||||||
app:helperText="Enter a valid Hush address"
|
app:helperText="Enter a valid DragonX address"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
android:theme="@style/Zcash.Overlay.TextInputLayout"
|
android:theme="@style/Zcash.Overlay.TextInputLayout"
|
||||||
app:endIconDrawable="@drawable/ic_qrcode_24dp"
|
app:endIconDrawable="@drawable/ic_qrcode_24dp"
|
||||||
app:endIconMode="custom"
|
app:endIconMode="custom"
|
||||||
app:helperText="Enter a valid Hush address"
|
app:helperText="Enter a valid DragonX address"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/text_banner_message"
|
app:layout_constraintTop_toBottomOf="@id/text_banner_message"
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/text_layout_address"
|
app:layout_constraintTop_toBottomOf="@id/text_layout_address"
|
||||||
app:layout_constraintWidth_percent="0.84"
|
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
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:id="@+id/input_zcash_amount"
|
android:id="@+id/input_zcash_amount"
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:contentDescription="@string/content_description_send_final_back"
|
android:contentDescription="@string/content_description_send_final_back"
|
||||||
app:tint="@color/zcashBlack_87"
|
app:tint="@color/app_icon_background_0"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintDimensionRatio="H,1:1"
|
app:layout_constraintDimensionRatio="H,1:1"
|
||||||
|
|||||||
@@ -1,11 +1,27 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:background="@drawable/background_home">
|
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
|
<androidx.constraintlayout.widget.Guideline
|
||||||
android:id="@+id/guideline_hit_area_top"
|
android:id="@+id/guideline_hit_area_top"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
@@ -31,7 +47,6 @@
|
|||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:contentDescription="@string/content_description_settings_back"
|
android:contentDescription="@string/content_description_settings_back"
|
||||||
android:elevation="6dp"
|
android:elevation="6dp"
|
||||||
app:tint="@color/text_light_dimmed"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintDimensionRatio="H,1:1"
|
app:layout_constraintDimensionRatio="H,1:1"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -40,14 +55,15 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintVertical_bias="0.065"
|
app:layout_constraintVertical_bias="0.065"
|
||||||
app:layout_constraintWidth_percent="0.08"
|
app:layout_constraintWidth_percent="0.08"
|
||||||
app:srcCompat="@drawable/ic_cancel" />
|
app:srcCompat="@drawable/ic_cancel"
|
||||||
|
app:tint="@color/colorAccent" />
|
||||||
|
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/text_title"
|
android:id="@+id/text_title"
|
||||||
|
style="@style/TextAppearance.MaterialComponents.Headline6"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
style="@style/TextAppearance.MaterialComponents.Headline6"
|
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:text="@string/settings_change_lightwalletd_server"
|
android:text="@string/settings_change_lightwalletd_server"
|
||||||
android:textColor="@color/text_light"
|
android:textColor="@color/text_light"
|
||||||
@@ -110,47 +126,52 @@
|
|||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/button_reset"
|
android:id="@+id/button_reset"
|
||||||
|
style="@style/Zcash.Button.OutlinedButton"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
android:layout_marginEnd="16dp"
|
android:layout_marginEnd="16dp"
|
||||||
style="@style/Zcash.Button.OutlinedButton"
|
|
||||||
android:text="@string/settings_reset"
|
android:text="@string/settings_reset"
|
||||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
||||||
android:textColor="@color/selector_secondary_button_activatable"
|
android:textColor="@color/selector_secondary_button_activatable"
|
||||||
app:layout_constraintEnd_toStartOf="@id/button_update"
|
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" />
|
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
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/button_update"
|
android:id="@+id/button_update"
|
||||||
|
style="@style/Zcash.Button"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="32dp"
|
android:layout_marginTop="16dp"
|
||||||
style="@style/Zcash.Button"
|
android:layout_marginEnd="4dp"
|
||||||
android:backgroundTint="@color/colorPrimary"
|
android:backgroundTint="@color/colorPrimary"
|
||||||
android:text="@string/settings_update"
|
android:text="@string/settings_update"
|
||||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
||||||
app:layout_constraintEnd_toEndOf="@id/text_input_layout_host"
|
app:layout_constraintEnd_toEndOf="@id/text_input_layout_host"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/text_input_layout_port" />
|
app:layout_constraintTop_toBottomOf="@+id/text_input_layout_port" />
|
||||||
|
|
||||||
<View
|
<CheckBox
|
||||||
android:id="@+id/loading_view"
|
android:id="@+id/streetMode"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="0dp"
|
||||||
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"
|
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="12dp"
|
android:layout_marginStart="48dp"
|
||||||
app:layout_constraintBottom_toBottomOf="@id/button_reset"
|
android:layout_marginTop="16dp"
|
||||||
app:layout_constraintStart_toStartOf="@id/icon_exit"
|
android:layout_marginEnd="48dp"
|
||||||
app:layout_constraintTop_toTopOf="@id/button_reset" />
|
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
|
<androidx.constraintlayout.widget.Group
|
||||||
android:id="@+id/group_loading"
|
android:id="@+id/group_loading"
|
||||||
@@ -158,5 +179,29 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
app:constraint_referenced_ids="loading_progress,loading_view" />
|
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>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -3,7 +3,8 @@
|
|||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/background_home">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.Guideline
|
<androidx.constraintlayout.widget.Guideline
|
||||||
android:id="@+id/guideline_hit_area_head"
|
android:id="@+id/guideline_hit_area_head"
|
||||||
@@ -38,7 +39,6 @@
|
|||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
android:contentDescription="@string/content_description_settings_back"
|
android:contentDescription="@string/content_description_settings_back"
|
||||||
android:elevation="6dp"
|
android:elevation="6dp"
|
||||||
app:tint="@color/text_light_dimmed"
|
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintDimensionRatio="H,1:1"
|
app:layout_constraintDimensionRatio="H,1:1"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
@@ -47,7 +47,8 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent"
|
||||||
app:layout_constraintVertical_bias="0.065"
|
app:layout_constraintVertical_bias="0.065"
|
||||||
app:layout_constraintWidth_percent="0.08"
|
app:layout_constraintWidth_percent="0.08"
|
||||||
app:srcCompat="@drawable/ic_cancel" />
|
app:srcCompat="@drawable/ic_cancel"
|
||||||
|
app:tint="@color/colorAccent" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/text_title"
|
android:id="@+id/text_title"
|
||||||
@@ -55,11 +56,11 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center_vertical"
|
android:gravity="center_vertical"
|
||||||
tools:text="Receive HUSH"
|
|
||||||
app:layout_constraintBottom_toTopOf="@+id/guideline_hit_area_top"
|
app:layout_constraintBottom_toTopOf="@+id/guideline_hit_area_top"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="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
|
<androidx.constraintlayout.widget.Guideline
|
||||||
android:id="@+id/guideline_hit_area_top"
|
android:id="@+id/guideline_hit_area_top"
|
||||||
@@ -72,9 +73,10 @@
|
|||||||
android:id="@+id/tabLayout"
|
android:id="@+id/tabLayout"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@android:color/transparent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/icon_exit"/>
|
app:layout_constraintTop_toBottomOf="@+id/icon_exit" />
|
||||||
|
|
||||||
<androidx.viewpager2.widget.ViewPager2
|
<androidx.viewpager2.widget.ViewPager2
|
||||||
android:id="@+id/viewPager"
|
android:id="@+id/viewPager"
|
||||||
@@ -90,9 +92,9 @@
|
|||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/button_share_address"
|
android:id="@+id/button_share_address"
|
||||||
|
style="@style/Zcash.Button.OutlinedButton"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
style="@style/Zcash.Button.OutlinedButton"
|
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:text="Share Address"
|
android:text="Share Address"
|
||||||
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
android:textAppearance="@style/TextAppearance.MaterialComponents.Body1"
|
||||||
|
|||||||
@@ -3,15 +3,17 @@
|
|||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/background_home">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/text_title"
|
android:id="@+id/text_title"
|
||||||
style="@style/TextAppearance.MaterialComponents.Body1"
|
style="@style/TextAppearance.MaterialComponents.Body1"
|
||||||
android:textSize="18dp"
|
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="16dp"
|
android:layout_marginTop="16dp"
|
||||||
android:text="Your Shielded Address"
|
android:text="Your Shielded Address"
|
||||||
|
android:textSize="18dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -25,11 +27,11 @@
|
|||||||
android:scaleType="fitXY"
|
android:scaleType="fitXY"
|
||||||
android:src="@drawable/ic_background_qr"
|
android:src="@drawable/ic_background_qr"
|
||||||
app:layout_constraintDimensionRatio="H,1:1"
|
app:layout_constraintDimensionRatio="H,1:1"
|
||||||
app:layout_constraintWidth_percent="0.64"
|
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/text_title"
|
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 -->
|
<!-- QR code placeholder -->
|
||||||
<ImageView
|
<ImageView
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:contentDescription="@string/content_description_transaction_details_back"
|
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_constraintBottom_toTopOf="@id/text_timestamp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintHorizontal_bias="0.05"
|
app:layout_constraintHorizontal_bias="0.05"
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:background="@color/background_banner"
|
android:background="@color/app_icon_background_0"
|
||||||
android:elevation="1dp"
|
android:elevation="1dp"
|
||||||
tools:ignore="RtlSymmetry">
|
tools:ignore="RtlSymmetry">
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@mipmap/ic_launcher_adaptive_back"/>
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
<foreground android:drawable="@mipmap/ic_launcher_adaptive_fore"/>
|
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||||
</adaptive-icon>
|
</adaptive-icon>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
<background android:drawable="@mipmap/ic_launcher_round_adaptive_back"/>
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
<foreground android:drawable="@mipmap/ic_launcher_round_adaptive_fore"/>
|
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||||
</adaptive-icon>
|
</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 |
|
Before Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |