[#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
* 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.
* 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
* [#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
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.
- Created new gradle.properties attributes to configure package and app name
- Improved app/build.gradle to support the attribute
- Let Manifest file work with the new placeholder app name field
- Change debug builds with suffixes to avoid production app collision
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
Test Orchestrator must be enabled, so that screenshot generation can walk through the app like a newly registered user. The screenshots are stored outside of the app's storage directory, so that Test Orchestrator does not delete them. Because hard-coded paths are used, it is possible this could be brittle with future versions of Android
A future enhancement would be to also copy these screenshots off of tests run on Firebase Test Lab. This would likely involve configuring Fladle/Flank with additional directories to pull.
Besides bumping the version, we can now integrate this plugin the same way we do the others. The version is now declared in the settings.gradle.kts.
The change is a bit noisy, due to needing to move our repository restrictions around.
Note that the SDK master branch contains breaking API changes, which the Secant app hasn't yet been updated to support, so enabling an included build will have compile failures.
Updating the Compose compiler must happen in lockstep with the Kotlin version, because they are tightly coupled
Kotlin 1.6 also fixes some annoying issues with Java 17, which will make first-time setup less error prone for new contributors
This implements the logical flow between the onboarding stages, as well as nearly full test coverage of the flow.
There's a lot of followup work, especially to implement design styles. It currently contains various placeholder values, e.g. lorem ipsum text and color blocks instead of images. See #17