Commit Graph

127 Commits

Author SHA1 Message Date
Carter Jernigan bf67948ef8 [#700] Kotlin 1.8 2023-01-18 11:59:19 -05:00
Carter Jernigan 5d59420fb1 [#729] Androidx updates 2023-01-18 11:59:19 -05:00
Carter Jernigan 405a230f6e
[#725] SDK 1.12.0-beta01 (#726) 2023-01-18 11:59:00 -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 193b376fe3
[#581] Switch to Play app update library
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-01-17 11:43:22 -05:00
Carter Jernigan bb9a7e2a02
[#706] Flank 23.01.0 2023-01-13 06:07:10 -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
Carter Jernigan 4f7c10f4b5
[#634] Stop synchronizer when leaving app
* [#634] Collect flows with lifecycle awareness

* [#686] Adopt SDK 1.11.0
2022-12-22 09:38:02 +01:00
Honza Rychnovsky a8308bd492
[#693] Ktlint 0.48.0
* Bump version 0.48.0

* Move config file to /tools

+ global suppress

* Local suppress of no-semi

* Minor indentation fix
2022-12-19 18:58:43 +01:00
Honza Rychnovsky da2d481860
[#689] Kotlin 1.7.21
* [#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!).
2022-12-16 14:12:00 +01:00
Honza Rychnovsky e71c7854a9
[#642] Adopt SDK 1.10.0 API changes
* 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
2022-11-25 09:30:27 +01:00
Honza Rychnovsky 381af575ef
[#653] Refactor Backup flow screens
* [#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>
2022-11-23 08:17:06 +01:00
Honza Rychnovsky 537faa164c
[#660] AndroidX Dependencies Update
- All AndroidX dependencies updated and tested.
2022-11-10 16:53:51 +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
Alex 0ab9626b05
update to Kotlin 1.7.20 (#618) 2022-10-19 12:17:38 +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
Honza Rychnovsky a30e18a555
[#591] Fix getSurfaces() crash of CameraX on FTL Robo test
* [#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
2022-10-04 16:41:07 +02:00
Alex 54f23f9ec3
[#577] ktlint version update (4.7.1) (#588) 2022-09-26 13:58:43 +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 de8fbde0ab [#480] Target API 33 2022-08-29 10:54:06 -04:00
Carter Jernigan cee446827b [#575] Zcash SDK 1.9.0-beta02 2022-08-16 07:18:54 -04:00
Carter Jernigan eff7757c1c [#570] Desugar 1.1.6 2022-08-16 07:18:54 -04:00
Carter Jernigan 7cdd577381 [#571] AppCompat 1.5.0 2022-08-16 07:18:54 -04:00
Carter Jernigan 03df4f669e [#555] Androidx Splashscreen 1.0.0 2022-08-16 07:18:54 -04:00
Carter Jernigan ab28d8f779 [#554] bip-39 1.0.4 2022-08-16 07:18:54 -04:00
Carter Jernigan 1bd5e7518e [#560] Detect strict mode violations on CI 2022-08-09 17:06:04 -04:00
Carter Jernigan b0833dc4cb
[#557] AGP 7.2.2 2022-08-05 08:12:16 -04:00
Carter Jernigan a48b18e1be
[#556] Adopt SDK 1.9 ZcashNetwork API 2022-08-04 11:56:50 -04:00
Carter Jernigan f9afd2e5f9
[#536] Adopt BlockHeight API (#537)
Note that this change modifies the on-disk representation of the wallet.  Anyone who has an earlier build install will see a runtime crash.  This is expected, as we are not supporting data migrations at this stage of development.  The solution is to uninstall/reinstall the app.
2022-07-26 10:46:23 -04:00
Carter Jernigan 72e50ec54a
[#549] Kotlin 1.7.10 2022-07-22 12:58:45 -04:00
Carter Jernigan 18a81eaef4
[#545] Detekt 1.21.0 2022-07-19 07:10:34 -04:00
Carter Jernigan 87dbf3b60a
[#543] Gradle 7.5 2022-07-18 10:44:58 -04:00
Carter Jernigan 7ca9761ba8 [#539] Coroutines 1.6.4 2022-07-15 07:09:21 -04:00
Carter Jernigan ba19fe6120 [#533] Update to SDK 1.7 2022-07-08 08:14:33 -04:00
Honza Rychnovsky 84e910b05e
[#495] AndroidX Dependency Update
* Dependency update androidx.appcompat:appcompat [1.4.1 -> 1.4.2]

* Dependency update androidx.core:core-ktx [1.7.0 -> 1.8.0]

* Dependency update androidx.test:orchestrator [1.4.2-alpha03 -> 1.4.2-alpha04]

* Dependency update androidx.test:runner [1.5.0-alpha03 -> 1.5.0-alpha04]

* Androidx Test 1.5.0-alpha01

* Androidx Lifecycle 2.5.0

* Androidx Navigation 2.5.0

* Androidx Camera 1.1.0

* Androidx Activity 1.5.0

* Androidx Annotation 1.4.0

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-06-30 15:37:38 +02:00
Carter Jernigan f6a6bedf2b [#557] Compose Compiler 1.2.0/Compose 1.2.0-rc03 2022-06-30 07:11:40 -04:00
Carter Jernigan 1aa763e475 [#507] Coroutines 1.6.3 2022-06-30 07:11:40 -04:00
Carter Jernigan 3037a5ae93 [#521] Kotlinx datetime 0.4.0 2022-06-30 07:11:40 -04:00
Carter Jernigan 811e7e900c [#557] Kotlin 1.7.0 2022-06-30 07:11:40 -04:00
Honza Rychnovsky 35af2bdfc9
[#496] New package suffix for the app builds
- 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>
2022-06-29 16:47:32 -04:00
Honza Rychnovsky a08c82ad5d
[#494] Dependancy update: Compose 1.2.0-rc02 2022-06-28 15:08:41 +02:00
Carter Jernigan 0ffaab953b
[#510] Consume Zatoshi from SDK (#514)
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2022-06-23 07:31:16 -04:00
Carter Jernigan 45aff80e76
[#511] Ktlint 0.46.1 2022-06-22 05:48:19 -04:00
Carter Jernigan 77a1881930
[#479] Compile SDK 33
Since we have strict compiler warnings, the API deprecations in Android API 33 will fail our build. This change therefore:
 - Bumps the compile SDK
 - Adds helper extensions to use the new methods on Android 33+ and old methods for older Android versions.  Although the functionality is the same, the wrappers will make it easier to eliminate legacy API calls in the future
 - Disabled Gradle warning.  #508 is a followup to remove this flag later.
 - Refactor Update screen tests

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2022-06-21 07:49:09 -04:00
Carter Jernigan a88dc36804 [#482] Support BIP-39 included builds 2022-06-14 18:20:51 -04:00
Honza Rychnovsky 90c2fcb255
[#209] Compose dependency update
* [#209] Update Compose dependency to latest version 1.2.0-beta03

- Update dependency
- Align our integration tests with the new Compose requirements
- Add integration folder to tests, if missing
- Split integration tests, which require activity to separate classes
- Remove unnecessary custom activity for each integration app part and create one custom common activity
- Implement Downloadable fonts from Compose 1.2
- Update Third party licenses documentation
2022-06-14 08:50:55 +02:00
Honza Rychnovsky 2145698bba
[#393] Update Compose Material3 to version 1.0.0-alpha13
- Update Compose Material3 dependency
- Increase compile and target SDK versions to 32
- Use Scaffold paddingValues to move content below TopBar
- Re-enable ignored test check_all_ui_elements_displayed()
2022-06-09 18:31:44 +02:00
Honza Rychnovsky 0dfd8d1e22
[#421] Compose compiler version to 1.2.0-beta03 2022-06-07 14:30:10 +02:00
Carter Jernigan a47c179812 [#441] Make included build path configurable 2022-06-07 07:09:40 -04:00