Commit Graph

101 Commits

Author SHA1 Message Date
Milan d29b0f7bb2
Dependency injection implementation (#1513)
* Dependency injection implementation

* Code cleanup

* Code cleanup

* Test hotfix

* Code cleanup

* Code cleanup

* Code cleanup

* Merge dependencies to bundle

* Changelog update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-09-04 15:36:59 +02:00
Honza Rychnovský 52d355a271
[#1557] Release 1.1.6 (712)
* [#1557] Release 1.1.6 (712)

- Closes #1557
- Changelogs update

* WhatsNew update

* Updated WHATS_NEW_EN.md

final update to the release notes

* Documentation update

* Currency conversion floating point hotfix

* Fix empty SDK error stacktrace

* Remove included build locale path

* Revert "Currency conversion floating point hotfix"

This reverts commit 7b808c53c8.

* Revert MIN_SDK_VERSION back to 27

As the bug was fixed inside the Rust side of the Zcash SDK

* Bump Zcash SDK to latest v2.2.2

- Which brings SQLite DB access fixes

* Changelog update

* Fix cloud testing setup

- Reverting previously changed Testlab values and updating the Emulator values to more recent

* Updated WHATS_NEW_EN.md

---------

Co-authored-by: Andrea Kobrlova <109794238+true-jared@users.noreply.github.com>
Co-authored-by: Milan Cerovsky <milan@z.cash>
2024-09-04 13:29:41 +02:00
Milan a9e8c102c9
Exchange rate implementation (#1540)
* Adopt TEX addresses related changes

* Exchange Rates implementation

Closes #532
Closes #578

* Send Review Screen design change

Closes #532
Closes #578

* Code cleanup

Closes #532
Closes #578

* Exchange rate implementation

* Exchange rate implementation

* Exchange rate design implementation

* Exchange rate design implementation

* Exchange Rate redesign

* Code cleanup

* Design hotfix

* Design hotfix

* Disabling of usd text field

* Sort new dependencies

* Code cleanup

* Code cleanup

* Test hotfixes

* Link TODO issue

* Unify MockSynchronizer functions report

* New navigation target

* Code cleanup

* Send screen amount focus handling

* Code cleanup

* Fix test fixtures

* Design hotfix

* Code cleanup

* Test hotfixes

* Test hotfixes

* Activity Compose Composition Strategy handling

* Revert "Activity Compose Composition Strategy handling"

This reverts commit be8ed7a8ad.

* Test hotfixes

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-08-23 07:58:27 +02:00
Honza Rychnovský b2f750fb38
[ #1549] Release Zashi version 1.1.5 (706)
* [ #1549] Release Zashi version 1.1.5 (706)

* Improve whatsnew formatting

* Update CHANGELOG.md

Updated the changelog info for the stores

* Update WHATS_NEW_EN.md

updated What's New for release

* Revert "Update CHANGELOG.md"

This reverts commit a301441e01.

* WhatsNew update

---------

Co-authored-by: Andrea Kobrlova <109794238+true-jared@users.noreply.github.com>
2024-08-09 16:23:48 +02:00
Honza Rychnovský c9875c0732
[#1547] Adopt latest Zcash SDK v2.1.3
* [#1547] Adopt latest Zcash SDK v2.1.3

- Closes #1547
- Changelogs update

* Switch to production Zcash SDK 2.1.3
2024-08-09 08:47:37 +02:00
Honza Rychnovský 3dd5825157
[#1534] Release Zashi 1.1.4 (700)
* [#1534] Release Zashi 1.1.4 (700)

Closes #1534

* Updated WHATS_NEW_EN.md (#1537)

---------

Co-authored-by: Andrea Kobrlova <109794238+true-jared@users.noreply.github.com>
2024-07-23 14:58:09 +02:00
Milan 906873b6fb
Activity configuration handling (#1511)
* Activity configuration handling

* Code cleanup

* Changelog update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-22 12:31:50 +02:00
Milan f862a4be97
[#477] Hiding sensitive clipboard information
* [#477] Hiding sensitive clipboard information

Closes #477

* [#477] Hiding sensitive clipboard information from api <33

Closes #477

* [#477] Code cleanup

Closes #477

* Changelog update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-19 15:34:42 +02:00
Milan a503091ab2
QR scanner better cropping & support for inverted colors
* QR scanner fixes

* QR cropping

* Code cleanup

* Scanning frame offsets change

* Changelog update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-19 14:28:59 +02:00
Milan 741601b65f
[#1467] Activity resizing according to soft keyboard (#1506)
* [#1467] Activity resizing according to soft keyboard

Closes #1467

* [#1467] Seed keyboard handling

* [#1467] Seed keyboard handling

Closes #1467

* [#1467] Documentation update

* TODO reference

* [#1467] Documentation update

Closes #1467

* [#1467] Detekt fix

Closes #1467

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-19 12:00:50 +02:00
Milan 0bc7757aa2
[#1492] Restore success dialog refactor (#1507)
* [#1492] Restore success dialog refactor

Closes #1492

* [#1492] Code cleanup

Closes #1492

* Create a separate Android layer

* Changelog update

* Move restore success string resources

* Rename logic related variables

+ File a follow-up issue

* Resources rename

* Move drawable to its package

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-19 10:17:45 +02:00
Milan 23e1bb7e75
[#1440][#1415] In-app update information - What's New screen
* [#1440] Inject in-app-update information

* [#1415] What's new screen

Closes #1415

* [#1415] Code cleanup

Closes #1415

* [#1415] Test hotfix

Closes #1415

* Clear What’s New docummentation

* Improve parser logic

So it’s able to parse the first changelog entry or the first unfinished one (i.e. [Unreleased] entries only)

* Order alphabetically

* [#1440] About redesign

* Changelog update

* Use of small button style on About

- Primary button’s parameters have been slightly changed, too

* Add IN_APP_UPDATE_PRIORITY to gradle.properties

* Rename functions

To align with the existing pattern

* Sort alphabetically

* Add ChangelogFixture

* Create ChangelogFixture

* Move navigation from Android layer to Navigation

* Fix changelog parsing

This way, it will also work with `-` in the middle of the sentence. With such a solution, we need to ensure the `\n-` characters sequence in every changelog entry. But it’s replaced by the bullet character at the end. It will work for Google Play within in-app updates, as well.

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-18 10:48:02 +02:00
Milan 490bc40caf
Android Gradle Plugin and Gradle Locks update (#1491)
* Android Gradle Plugin and Gradle Locks update

* Documentation updated

* Documentation update

---------

Co-authored-by: Milan Cerovsky <milan.cerovsky@leeaf.life>
2024-06-28 08:56:36 +02:00
Honza Rychnovský e2eb043afb
[#1294] Send Multi-Trx-Submission failure screen
- Closes #1294
- Changelog update
2024-03-25 20:50:31 +01:00
Honza Rychnovský b88a64de9d
[#1069] Improve sideloading documentation
* [#1069] Improve sideloading doc

- Closes #1069
- The cmdline-tools path tested on a clear macOS installation

* Add install Java instruction
2023-12-05 08:55:41 +01:00
Honza Rychnovský 905a14db50
[#1003] Clear unused Onboarding alternatives
- Removes unused Oboarding alternative LongOnboarding screen with all related resources
- Removes related integration tests and screen decision logic
- Removes related is_short_onboaridng remote configuration logic
- Closes #1003
2023-11-30 20:50:59 +01:00
Honza Rychnovský cf45a0ef34
[#942] New Wallet Recovery Phrase Screen
[#942] New Wallet Recovery Phrase Screen

[#1006] Enhance VersionInfo with other fields

[#947] About screen UI + logic + tests

[#1040] Extract logo and title on top of screens

- Place it into a separate UI component
- Used across several screens
- Closes #1040

Remove long version of the Backup screen

- We previously had a configuration field that controlled which version of the screen should be displayed to a user
- Removed
- Partly solves #1003

Backup screen view redesign

Tests + docummentation

Update links to the Zashi Github repository

As the GitHub repository was recently moved from Zcash under the ECC company

[#1014] Unify screen name with Figma design

[#1045] Adopt Zcash SDK v2.0.3

Closes #1045

Fix screenshot test

The new wallet recovery screen is now much taller; scrolling to the acting button is needed.

Fix Restore screen test

Lint tools warnings
2023-11-23 10:00:13 +01:00
Honza Rychnovský 70d5721845
[#992][#1025] Custom Google Play publishing
* [#992][#1025] Custom Google Play publishing

- Copy logic from working demo
- Documentation
- Update checkProperties task
- Update release listing
- Status completed
- Switch back to main branch
- Closes #992
- Closes #1025

* Deployment documentation

* Remove deprecated Gradle Publisher plugin

* Improve logging

Improve publishing task logging

* Resolve review comments

* Increase PR actions timeouts
2023-11-13 11:50:57 +01:00
Honza Rychnovský 54e522090a
[#951] Add Archivo font
* [#951] Add Archivo font

- Font added
- License documentation file updated
- This slightly changes the provided font accessibility. Both Inter and Archivo are now available with the `ZcashTheme.typography` API.
- Closes #951

* Update license documents
2023-08-30 10:36:31 +02:00
Honza Rychnovský 3c751a5893
[#917] Use Inter font 2023-08-03 16:02:51 +02:00
Honza Rychnovský c7c3c3f79d
[#903] Update doc on supported java versions 2023-07-17 13:49:11 +02:00
Alex fc7321e049
[#664] Transaction History List
* [#664] Transaction history

* Move under the screens folder

* Fix Request screen Preview

* Add TODO link

* Improve Text design component

* HistoryView UI enhancing

* Adopt ZcashCurrency API

* Add transaction history sync state

* Compact time format

* Bump Compose Material Icons to v1.5.0-beta02

* Add support for pending and expired transactions

* Add progress in syncing with no transaction yet

* Screenshot test

* Simplified no transaction check

* Transaction history manual test case

* Home screen history button test

* Fix flow collecting

* View tests

* Sent transaction sign

* Remove unused transaction snapshot from VM

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-07-04 13:24:07 +02:00
Honza Rychnovsky 859ec1591e
[#705] Instrumentation coverage generation fails locally 2023-03-31 18:47:57 +02:00
Honza Rychnovsky 5296dc5ea9
[#791] Add Scan To Send
* [#791] Add Scan Button To Send Screen

- Switched Send.Form screen input fields ordering to match the MFP design
- Added Scan button to Send.Form
- Changed navigation to pass the scanned result to the Send.Form screen
- Added leading and trailing icons to FormTextField component
- Created SendArgumentsWrapper to pass any future Zcash URL parsed parameters

* Report invalid address scanned

- Merged composes to provide snackbar after invalid address scanned

* Add SendView tests

- Added one for scanner click and one for initial send arguments inserted
- This led to input and check amount and memo as part of the SendArgumentsWrapper too to have it prepare for future Zcash URI parsing

* Static analysis warnings fixes

* Don't make camera feature required

- And hide the scanner button on Send.Form when any camera is not supported by the device

* Let SendArgumentsWrapperFixture use SDK fixtures

* Tweak hint text

We need better text, but this is at least more correct than the previous iteration.

* Replace assertTextContains with assertTextEquals

- To compare inputs texts to an exact match to avoid potentially missing bugs if there is extra text in the field that we're not expecting

* Fix ktlint warning

---------

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-03-30 09:58:20 +02:00
Carter Jernigan 5fc3974129
[#784] Refactor support email address to CI variable
---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-03-13 09:19:14 -04:00
Carter Jernigan f18e224404
[#781] Kover 0.7.0-alpha
* [#781] Kover 0.7.0-alpha

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-03-09 06:32:31 -05:00
Carter Jernigan 9b966b4087
[#776] Fix hang on launch
Combining multiple flows will hang if the group of flows is empty

- Updated profile installer lib
- Removed benchmark operations receiver fix
- Added new benchmark results

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-02-27 11:28:41 -05:00
Carter Jernigan ec7eb3804e [#770] Hide request ZEC button 2023-02-21 12:50:31 -05:00
Carter Jernigan 417fc4b8a5 [#764] Android Remote Config implementation
Note that there is no cloud integration yet. This creates the abstractions to support injecting different remote config sources
2023-02-21 12:50:31 -05:00
Carter Jernigan 6b202e3c9f [#764] Multiplatform remote config API 2023-02-21 12:50:31 -05:00
Carter Jernigan edaeda56da
[#748][#749] Preferences for sync
Adds an option to enable/disable background sync, as well as an option to keep the screen on during sync

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-02-17 11:39:15 -05:00
Carter Jernigan f5e0af6545
[#757] Adopt SDK 1.14.0 (#759) 2023-02-17 06:05:23 -05:00
Alex 7523619afa
[#673] process .ec files from emulator.wtf
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-02-13 08:10:32 -05:00
Carter Jernigan 6e85764f74
[#346][#304] Configure Crashlytics and analytics opt-out 2023-01-26 14:12:44 -05:00
Carter Jernigan e8a478cf33
[#707] Exclude files from release packaging only
These files are used by Android Studio in debug builds to discover the version of Compose being used by an app.  They should be preserved for debug builds but can be stripped from release builds.

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-01-18 11:25:06 -05:00
Alex b84df3d9dc
[#592] Instrumentation coverage
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-01-17 14:54:40 -05:00
Carter Jernigan 811e2cd5ce
[#718] Use variables for Test Lab
This will make it easier for team members to find links to test results
2023-01-13 06:11:11 -05:00
Honza Rychnovsky 2b899a7200
[#682] Testing Documentation Update
* [#682] Testing documentation update

* Bump benchmark dep to 1.2.0-alpha8

* Simplify ui-benchmark-test module build types

* Add referential benchmark test results

* Code clean
2022-12-22 15:42:52 +01:00
Honza Rychnovsky bcacf93a04
[#599] Macrobenchmark test module
* Temporary enable FTL test

* Enable emulator.wft tests for ui-integration-test module on CI

* Rebase onto main

* Test Fladle configuration for ui-integration-test module

* Fix Fladle for ui-integration-test module

* Rename ui-integration-test module flade configuration

* Disable again FTL action from PRs

* Clear support for FTL from ui-integration-test module

* Refactor the emulator.wtf support across our modules.

* [#599] Macrobenchmark test module

- Created new dedicated macrobenchmark test module
- Updated related Architecture and Setup documentation
- Connected to app module
- New benchmark build type
- Related run configuration above custom Gradle task
- Basic startup benchmark test included

* Benchmark build variant simplification

* Run benchmarking simplification

* Documentation update.

* New property IS_SIGN_RELEASE_BUILD_WITH_DEBUG_KEY

- It enables signing the release build with debug key configuration. Default value is false.
- First, we check if we can sign it with release configs, otherwise with debug.
- Documentation updated.

* Benchmarking documentation update

* Adds support for Android SDK 32 and 33

- Bumped benchmark library to the latest alpha version
- Which results in a need of adding profile-installer library in target module (app)
- Now we're able to run benchmarking on Android SDK level 29 and higher (i.e. latest levels included)
- Updated related documentation

* Enables benchmarking for emulators

- I've decided to support emulator devices with our benchmark test module at the end. Documentation and code comments explain to a user that the results may not be the same as on a real physical device. But until we have it set up in CI, we can benefit from having it set up like this.
2022-10-27 12:51:24 +02:00
Honza Rychnovsky 570c98b994
[#649] Setup Included builds documentation update
* [#649] Update SDK name

- zcash-android-sdk -> zcash-android-wallet-sdk

* Removes reference to already fixed SDK issue
2022-10-27 09:27:41 +02:00
Honza Rychnovsky 4eddf4e74b
[#598] Refactoring ScreenshotTest to a separate test module
* Temporary enable FTL test

* Enable emulator.wft tests for ui-integration-test module on CI

* Test Fladle configuration for ui-integration-test module

* Fix Fladle for ui-integration-test module

* Rename ui-integration-test module flade configuration

* Disable again FTL action from PRs

* Clear support for FTL from ui-integration-test module

* Refactor the emulator.wtf support across our modules.

* [#598] Refactoring ScreenshotTest to a separate test module

- Created a new com.android.test module
- Moved our ScreenShotTest to the separate module
- Enabled the new module for emulator.wtf service
- Cleaned up the app module from ScreenShotTest
- Updated Architecture and Setup documentation

* Exclude pure test modules from Detekt check

* Improved run configurations

- Changed common emulator.wtf run configuration name to align with the rest of our configurations
- Added configuration for the new screenshot tests module
- Updated documentation

* Linked code TODO

* Disabled self-instrumenting

- As it appeared to be the way how to leverage the app module Gradle settings in this new module
- App name is taken from app module settings
- Screenshot tests works with pseudolocales again
2022-10-18 15:08:36 +02:00
Honza Rychnovsky bffa5870b6
[#525] Refactoring Integration Test Module
* [#525] Refactoring Integration Test Module

- Change module type to test + related Gradle scripts change
- Rename module to - remove the trailing Lib suffix + documentation
- Move module structure from test to main source

* Static checks result fix

* Temporary enable FTL test

* Test updated emulator.wft version

* Update locked emulator.wtf dependency version

* Enable emulator.wft tests for ui-integration-test module on CI

* Fix enable emulator.wft tests for ui-integration-test module on CI

- Update documentation

* Test Fladle configuration for ui-integration-test module

* Fix Fladle for ui-integration-test module

* Rename ui-integration-test module flade configuration

* Disable again FTL action from PRs

* Clear support for FTL from ui-integration-test module

* Refactor the emulator.wtf support across our modules.

* Fix Mermaid graph syntax

* Minor change in comment

* Fix ui-integration-test module run configuration

- Fixed manually
- Aligned with other run configurations
- Stable and beta versions of AS behave differentially, but after this fix it seems to be working as expected in both

* Update emulator.wtf run configuration

- Covered ui-integration-test module too
- Changed configuration name
2022-10-14 14:17:15 +02:00
Alex 386b400e22
[#174]added warning screen + StorageChecker.kt (#594)
* [#174]added warning screen + StorageChecker.kt

* [#174]added warning screen + StorageChecker.kt

* added manual test

* added manual test

* resolved merge conflicts

* code review fixes

* added vector drawable

* Add units

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-10-03 15:59:09 +02:00
Alex 8c7176aa22
[#167] Increase brightness when displaying QR Code (#596)
* [#167] Increase brightness when displaying QR Code

* Use collectWith(lifecycleScope)

* Fix copy-paste errors

* manual test

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-09-29 15:13:54 +02:00
Alex a96637ec07
[#551] Prevent screenshots when seed phrase is displayed on the screen (#590)
* [#551] Prevent screenshots when seed phrase is displayed on the screen

* Minor review changes

Make ScreenSecurity object simpler by eliminating additional ways of mutating its state.

* Add debug and test checks

* secured screens with seed phrase

* codereview fixes

* added test for Seed screen

* added Screen security test for backup views

* test for ScreenSecurity class

* added manual testing for Screen security

* ktlint format

* Clean up ScreenSecurityTest

* Remove debug check

I decided this would be annoying, especially for manual testing

* ktlint

* removed test logging

* removed test logging

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-09-26 10:28:08 +02:00
Carter Jernigan 45d90b7706 [#586] AGP 7.3 2022-09-22 16:06:09 -04:00
Honza Rychnovsky 1b75ab4fd6
[#552] Compose dependencies update (#589)
* [#552] Compose 1.2.1
* [#553] Accompanist 0.25.0
* Material3 dependency update
* Compose Compiler dependency update
* Compose Navigation dependency update
* Fix camera permission multiple displaying
* Added missing TODO description comments
* Improved Scan screen manual test guide
* Bump dependencies again
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-09-22 15:55:34 +02:00
Carter Jernigan 569e518615 Update Android Studio guidance 2022-09-19 12:31:38 -04:00
Carter Jernigan 072d73e99c
[#547] Configurable dependency locking
This implementation is somewhat special from our other Gradle properties, because it does not get declared in the root gradle.properties.  The reason is that included builds are supposed to have their own properties e.g.

root_project/gradle.properties
root_project/buildSrc/gradle.properties
root_project/build-conventions/gradle.properties

Instead of declaring the property in three different places which might lead to confusion, this leaves the property undeclared, with the Gradle scripts assuming a default value of true.  The only time this is expected to be overridden is due to a workaround for an Android Studio bug.
2022-07-22 13:00:04 -04:00
Honza Rychnovsky f931e7ebe1
[#362] Documentation on build variants
* Adding documentation on build variants

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-07-01 16:05:09 +02:00