* Adopt Zcash SDK v2.0.8-SNAPSHOT
* [#1285] Adopt proposal API
- Closes#1285
- Manually tested and the updated send and shield features work as expected
- Zcash Android SDK v2.0.7 partially adopted. Proper implementaiton will be part of the Send screens rework.
- Partially addresses #1162. More related UI changes on the transaciton history item come in a follow-up PR
- `HistoryItem` composable will be reworked to several more composables as well
- Also note that the history item amount still lacks proper formatting as filed in #1047
- Closes#1236
- Closes#1288
- Closes#1253
* [#1219] Current balances UI
- This represents UI changes for balance, change, and transaction on the Balances screen
- Reworked StyledBalance to be more reusable, too
- Adopted the latest SDK changes related to change pending and pending transactions
- Closes#1224
- Closes#1219
* Adopted latest SDK snapshot version
[#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
* [#1031] Export of private app data UI+logic
- Closes#1031
* [#1031] Export of private app data tests
* Move provider to app/manifest
To avoid: The application could not be installed: INSTALL_FAILED_CONFLICTING_PROVIDER
* [#1037] Debuggable release build
- So we’re able to log or debug release app build while testing
- Default value false
- Closes#1037
* Fix file provider path in release build
* [#941] Loading screen UI
Co-authored-by: Honza Rychnovský <rychnovsky.honza@gmail.com>
* Fix unallowed doubled scroll
* Remove duplicate icon
* [#997] Splash alignment with welcome animation
* [#999] Compile SDK version 34
* [#1000] Colour system bars
* [#941] Load + Opening screens
- Contains UI of both these screens
- Their logic
- And the Load screen animation
- Designed util ScreenHeight composable
- Redesigned SecondaryButton to match the design and fixed its positioning on different screens
---------
Co-authored-by: Venkat-corebts <143575548+Venkat-corebts@users.noreply.github.com>
* [#944] Adopt SDK version with SbS included
- This supposes to fail in the build until the proper SDK version is consumed
- Tested via included builds
* Switch to latest v2.0.0-rc.2
* Adopt latest SDK snapshot version
* [#972] Adopt PersistableWallet API changes in SDK
Closes #972.
* Adopt SDK supporting PersistableWallet.endpoint
* [#944] Adopt SDK version with SbS included
- This supposes to fail in the build until the proper SDK version is consumed
- Tested via included builds
* Adopt latest SDK changes
* Adopt changed TransactionOverview API
* Switch to latest v2.0.0-rc.2
* Fix transaction history test fixture
* Adopt latest SDK snapshot version
* Switch to latest production Zcash SDK version
* Kover 0.7.0-Beta
* Configure test to fail
* Refresh dependency locks
* [#969] Kover 0.7.3
* Revert back test value
* Increase build timeout
---------
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
* [#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>
* [#751] AGP 7.4.2
* [#874][#758][#751] Gradle 8.1.1 + AGP 8.0.2
- Dependency locks update
- And the related changes the versions bump brings done as well
- Dep issue template changed as appropriate now
* [#875] Emulator.wtf 0.12.2
* Minor fixing changes after Gradle bump
* Fix deprecated Runtime.exec()
* Fix running screenshot tests
We use the same pattern now as in the other pure test modules.
* Fix jvm versions compatibility
'compileJava' task (current target is 1.8) and 'compileKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.
---------
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
Also leveraged new WorkManager API to avoid resetting the background sync schedule
Note that Material3 alpha 7 breaks our UI tests, so I’ve only bumped to alpha 6 for now.
Twitter had a set of Compose rules, which have been forked into Detekt, Ktlint, and Android Lint implementations.
I see ktlint as mostly being formatting, Detekt being more for multiplatform static analysis, and Android Lint for Android-specific issues. Android lint is slow, so I didn’t want to use it as the first choice.
I went with the Detekt implementation which can be useful if we leverage multiplatform for our Composables in the future.
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>
* [#689] Kotlin 1.7.21
* Fix dependencies locks
* Bump to the latest Compose Compiler version
- To avoid build warning: This version (1.3.2) of the Compose Compiler requires Kotlin version 1.7.20 but you appear to be using Kotlin version 1.7.21 which is not known to be compatible. Please fix your configuration (or `suppressKotlinVersionCompatibilityCheck` but don't say I didn't warn you!).
* Adopt SDK 1.10.0 API changes
* Rename ShieldedSapling -> LegacySapling
* Viewing key re-derived for fix fixture value
* Changes used API for retrieving Transparent address
- Switched API DerivationTool.deriveTransparentAddress() -> Synchronizer.getLegacyTransparentAddress()
- Renamed Transparent -> LegacyTransparent
* Adds new common transaction model class
- Synchronizer.toTransactions() now works only with clearedTransactions and pendingTransactions
-Added CommonTransaction wrapper for all attributes of PendingTransaction and TransactionOverview to cover as much as possible. It's prepared for discussion about which attributes we really need and which we can omit.
* Regeneration of addresses in fixture
- Applies for both Transparent and Sapling addresses
- Fixed related test
- Added a new test for checking Transparent address abbreviation, as it also serves as a little check of the fixture address and can prevent an incorrect address change in the future
* Remove Viewing key usage from entire app
- As we agreed that the app should not access to it now
- Removed from all related places
* Change CommonTransaction to sealed class
* Comments update
* Switch SDK to 1.10.0-beta01-SNAPSHOT version
* Revert back legacy naming on Transparent and Sapling addresses
* Increased timeout limit to satisfy SDK initialization
* Remove unused import
* [#653] Move copy to buffer action
- Trigger this action after seed phrase panel click and confirm via dialog window
- Added basic ui tests
- Added also dialog integration test
- Added related strings
* Revert "[#653] Move copy to buffer action"
This reverts commit 813eab00b747a779be5ef652745002f65c04572c.
* [#150] Refactoring the Backup flow to use Compose Scaffold
* Fix Backup flow screenshot test
- Removed scroll actions above nodes, which are no longer part of scroll behaviour - bottom navigation buttons are now part of Compose Scaffold component.
* Added scroll actions in screenshot test of Profile screen
- After tested the whole app with screenshot test on smaller screen device 4WVGA Nexus S
* Remove unnecessary screenshot test click action
- This click action on the Profile screen title seems to be unnecessary for the test and creates confusion
* ScreenshotTest module auto components init
- Changed the way we auto-initialize components in ScreenshotTest module
- Now we use androidx-startup library for it
- And we disabled the default way
* Add system back button navigation support
* Enable scrolling for Backup Test screen
* Fix Screenshot test on small screen in landscape
- Tested and fixed cases in which our screenshot test wasn't successful
- Tested on 4 WVGA Nexus S in landscpae mode
* Code clean
* Address review comments + stages refactoring
- Flattened BackupStage sealed class. Test and Failure are now regular stages.
- Introduced CheckSeed stage, instead of reusing Seed phrase for re-viewing.
- Simplified BackupView and custom Saver implementations.
- List of possible screen state stages is now lazy loaded value, instead of method.
- Some of the stages now override stage moving methods to enhance Backup screen state machine, as it's not linear.
- Existing tests updated to align with the new implementation of stages.
* Remove `run` block
* Rename CheckSeed -> ReviewSeed
Check might imply to another reader of the code that there is some going back to the test. I went with the word Review which seems to better convey how that screen is passive for the user.
* Simplify list construction
This should have better performance.
* Crash instead of allowing back navigation
* Add documentation
* Fix initialization error
* Add non-localized string tag
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
* 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.
* [#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
* [#591] Fix getSurfaces() crash on FTL Robo
- Updated version of the CameraX dependency and filed issue to Google
* Add logging bind camera failure to console