Commit Graph

109 Commits

Author SHA1 Message Date
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
Honza Rychnovsky 0023eb287a
[#430] Crash Intel 64-bit Emulators
* [#430] App crashes on Intel x86_64 emulators

- Bump the SDK version to the latest snapshot version.
- Set app's max Android SDK version to 31 for wtf emulators.
- Remove overridden wtf emulators config from sdk-ext-lib module.
2022-06-07 07:24:45 +02:00
Carter Jernigan 1ce826e453 [#464] Use Kover for multiplatform coverage 2022-06-06 08:41:01 -04:00
Carter Jernigan 1880b2a43f
[#200][#285] Use Espresso screenshot API
- Also reduced liklihood of timeouts on Firebase test lab for robo tests
 - Fix emulatorwtf run configuration
 - Fix screenshots on older API levels
 - Fix minumum range for emulator.wtf
2022-06-02 11:09:02 -04:00
Honza Rychnovsky adc774a20d
[#313] scan qr screen functional
* [#312] [#309] Scaffold Scan QR Screen
- Screen scaffolding.
- Model classes.
- Screen states handling.
- Needed dependencies added.
- Camera permission handling. Redirect to Settings.
- Added SettingsUtilTest class.
- Added view classes tests.
- Renamed tag class in update package.
- Fix the scan frame size while changing the screen orientation.
- Use local variable for cameraProvider.
- Use UUID for source of randomness.
- Eliminate blocking call for camera.
- Fix preview name.
- Remove Google Guava dependency.
- Suppress Lint warning.
- Improved calculation of the camera frame size. Moved it into Constraint layout.
- Added custom image analyser class.
- Implemented logic for the QR scan screen while QR code is found.
- Manual tests added.
- New module with integration tests for QR Scan screen. Added 3 integration and 4 view tests.
- Simplify QR Scan screen view basic tests.
- Switched from pure compose permission handling to Accompanist way of handling CAMERA permission.
- Added validation of Zcash wallet address from QR scanning result.
- Fix the integration tests for the CI WTF emulator runs.
- Add comment on RTL test result.
- Improve waitForDeviceIdle() method. Use it on the other test too.
- Change the integration test module main manifest package name.
- Debounce scans.
- Improve thread safety of scan collection.
- Added instructions on how to set up an emulator in manual tests.
- Replace compose collectAsState() with coroutine launch().
- Add sample() to get rid of several callback events at the same time.
- Stop updating the scanState when it's already in Scanning state.
- Fix condition on navigation.
- Remove validateJob check.
- Speed up the integration test
- Wrap ImageAnalysis.qrCodeFlow to remember.
- Auto-close the camera image when we're done with it in all cases.
- Update minimal SDK version to 24 for WTF emulators.
- Update Architecture documentation.
- Removed extra blank space in ui-design module definition.
- Add ui-integration-test-lib.
- Update Mermaid diagram with newly added module.
- Move UI modules into one wrap in the diagram.
- Move sdk-ext-lib and sdk-ext-ui under the same modules section.
- Update camera dependencies.
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-06-02 13:35:51 +02:00
Carter Jernigan 8b6d0bd1b4 [#460] Coroutines 1.6.2 2022-06-01 05:22:57 -04:00
Carter Jernigan e9fd67a51a [#421] Kotlin 1.6.21 and Compose Compiler 1.2.0-beta02 2022-06-01 05:22:57 -04:00
Carter Jernigan ea68d63dd2 [#387] Detekt 1.20.0 2022-06-01 05:22:57 -04:00
Carter Jernigan a0f22be16f [#454] Splashscreen 1.0.0-rc01 2022-06-01 05:22:57 -04:00
Carter Jernigan d7c225e1d4 [#459] Fladle 0.17.4 2022-06-01 05:22:57 -04:00
Carter Jernigan 319f3a3a6d [#458] Androidx Test updates 2022-06-01 05:22:57 -04:00
Carter Jernigan 2b3ae156a6 [#455] Zxing 3.5.0 2022-06-01 05:22:57 -04:00
Carter Jernigan 2005e8a481 [#453] Gradle versions plugin 0.42.0 2022-06-01 05:22:57 -04:00
Carter Jernigan b9eea25574 [#452] AGP 7.2.1 2022-06-01 05:22:57 -04:00
Carter Jernigan 7b6aba5fbb [#444] Zcash SDK 1.5.0-beta01 2022-06-01 05:22:57 -04:00
Carter Jernigan 94d259d5b0
[#190] Pull screenshots on CI 2022-05-24 09:39:56 -04:00
Honza Rychnovsky caf58f963a
[#312] Scan QR Screen Scaffold
* [#312] [#309] Scaffold Scan QR Screen

- Screen scaffolding.
- Model classes.
- Screen states handling.
- Needed dependencies added.
- Camera permission handling. Redirect to Settings.
- Added SettingsUtilTest class.
- Added view classes tests.
- Renamed tag class in update package.
- Fix the scan frame size while changing the screen orientation.
- Suppress Lint warning
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-05-19 14:41:58 +02:00
Carter Jernigan a8be47bf89
[#433] Use emulator.wtf for tests on CI (#428)
This should speed up our builds and reduce flakiness.

Followup items:
 - Enable coverage
 - Collect screenshots
 - Fix target API on sdk-ext-lib #430
2022-05-17 10:06:56 -04:00
Honza Rychnovsky 665042e6d9
[#211] check for app updates
- Basic screen UI scaffolding.
- Set up communication with Google Play in-app update API.
- Mocking communication with Google Play API.
- Added unit, UI and integration tests for the in-app update screen model, util, view and viewmodel classes.
- Added mock implementation of helper AppUpdateChecker class.
- Introduced ViewModel integration test.
- Filed issue for future manual testing of implemented in-app update mechanisms after the wallet app is released on Google Play.
-  Implement FakeAppUpdateManager in AppUpdateCheckerMock instead of the ugly AppUpdateInfo instantiation - this affected the tests too.
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-05-16 13:40:50 +02:00