Commit Graph

371 Commits

Author SHA1 Message Date
Carter Jernigan 7b6aba5fbb [#444] Zcash SDK 1.5.0-beta01 2022-06-01 05:22:57 -04:00
Carter Jernigan 9267e75cb8
[#303] Write crash logs on external storage (#429)
- Added automatic exception logging, registered in the Application object
 - The design sends the exception to a second process, as the main process could be in a bad state when crashing. If we ever encounter problems with this design, it is easily toggleable to turn off with a boolean resource
 - Reading the process name is a bit complex on older Android versions, so we leverage a ContentProvider (which runs prior to Application.onCreate()) to get the process name
 - Added a simple logging mechanism for multiprocess and multithread log messages
 - Refactored spackle-lib into spackle-lib (multiplatform) and spackle-android-lib

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2022-05-31 12:38:02 -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
Carter Jernigan 62f976b1d8
[#431] Switch to Adoptium JDK
Temurin/Adoptium is the default used by Gradle toolchains, and they now have both Java 11 and 17 ARM support for Macs
2022-05-17 06:07:22 -04:00
Carter Jernigan 4f960d5bf8
[#6] Refactor kotlinOptions to build-conventions 2022-05-17 06:06:44 -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
Honza Rychnovsky 0f5a094a92
[#424] Back button invisible on Wallet addresses screen.
- Solved by removing unnecessary tint parameter.
2022-05-13 13:58:28 +02:00
Carter Jernigan a65aec18a4
[#418] Android Gradle Plugin 7.2.0 2022-05-11 16:24:52 -04:00
Honza Rychnovsky d83b89d46e [#409] Keep showing keyboard over Home screen
- Implement hiding software keyboard manually, as it stays shown after all words are filled successfully.
2022-05-09 10:26:13 +02:00
Honza Rychnovsky f41ecab98a
[#179] Improve Ability to Run Application under Robo Test 2022-05-08 14:47:25 +02:00
Carter Jernigan b0ae6b5e72
[#290] Screen on for UI tests (#400)
This improves the reliability of UI tests, especially on physical devices, by helping ensure the screen is on.

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2022-05-02 15:49:49 -04:00
Carter Jernigan 08fad9e763 [#296] About screen scaffold
This provides a basic scaffold for the About screen.  There are several followup issues:

 - #392 update the in-app legal text
 - #398 Add open source attributions
2022-04-29 15:26:28 -04:00
Francisco Gindre 5e1d25b34a
[#401] Add Contributing Guidelines (#402)
* [#401] Update Contributing Guidelines "Commit Messages" section to reflect the changes on iOS SDK

Closes #401

Update Contributing Guidelines "Commit Messages" section to reflect the changes on iOS SDK

* Apply to existing CONTRIBUTING.md

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-04-29 09:27:58 -03:00
Carter Jernigan 3e67fda537
[#394] Kotlin 1.6.20
Also updated the Compose compiler to be compatible
2022-04-22 10:57:56 -04:00
Carter Jernigan 48bd2e8ced
[#213] Contact support scaffold
This provides a basic screen for users to type a support inquiery, which then opens a pre-filled message in the user’s email app.

There are a few followup issues:
 - Detect seed phrases in the email #377
 - Report crashes in the generated email #378
 - Fuzz timestamps #388
 - Set the correct support email address #379
 - Improve handling on devices without an email app #386
2022-04-19 21:28:49 -04:00
Honza Rychnovsky 15f119371a
[#356] Crash verify backup while save state
- Check solution with Parcelable to the Index model class.
- Align implementation with lint checks.
- Implement custom Saver object.
- Add test cases for the new custom Saver.
- Add fixture for the new test cases.
- Remove testChoices form BackupVM and add rememberSaveable to BackupView.
- Enhance TestChoices.Saver save/store mechanisms.
- Add integration test class with 3 tests.
- Add new callback choices and onChoicesChanged to BackupWallet composable and BackupTestSetup class to be able to test save/restore mechanism of Backup-Test stage.
- Refactor WrapBackup.
- This is a new pattern that helps us share more logic between the using the test activity and the main activity, which makes the state retention tests more valid
- Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-04-19 14:04:56 +02:00
Honza Rychnovsky 550df810c9
[#71] Add re-creation test for onboarding
- Created dedicated test activity for integration tests.
- Created Onboarding integration test class with two state restoration tests.
- Moved OnboardingTestSetup to its own class.
- Filed related issues.
2022-04-14 18:34:12 +02:00
Carter Jernigan 07a12f8832 [#374] Run sanity check on universal APK 2022-04-13 05:53:12 -04:00
Carter Jernigan 9933721b5a [#373] Generate universal APK on CI 2022-04-13 05:53:12 -04:00
Carter Jernigan c5f81f7c94 [#277] Fix collection of release binary artifacts
We won’t know for certain whether this works until the main branch deployment completes
2022-04-12 10:17:57 -04:00
Carter Jernigan 741593eeb0 [#366] Navigation Compose 2.4.2 2022-04-12 10:09:14 -04:00
Carter Jernigan a0294fb1f4 [#365] Compose Material3 1.0.0-alpha09 2022-04-12 10:09:14 -04:00
Carter Jernigan 79c3d43426 [#367] ktlint 0.45.2 2022-04-12 10:09:14 -04:00
Carter Jernigan ac1635261e [#368] Jacoco 0.8.8 2022-04-12 10:09:14 -04:00
Carter Jernigan 6e118ab3ea [#363] GitHub Setup Java Action 3.1.1 2022-04-12 10:09:14 -04:00
Carter Jernigan f7f3754dea [#364] GitHub Cache Action 3.0.2 2022-04-12 10:09:14 -04:00
Carter Jernigan b280914a84 [#358] AGP 7.1.3 2022-04-12 10:09:14 -04:00
Honza Rychnovsky fff0dc4110
[#282] Tests fail on low resolution devices.
- Scrolling enabled for screens from Backup and Profile parts of the app.
- UI tests improved to always scroll to the desired views before working with them.
2022-04-12 15:31:27 +02:00
Honza Rychnovsky e44e901676
[#289] Crash while typing characters to Zec amount text field.
- Filed issue to SDK project.
- Temporary workaround to prevent SDK from returning negative results and thus to avoid app crashing.
- SuppressWarnings - ReturnCount - ZecString.
- Added unit test for validation of implemented workaround.
2022-04-12 14:13:48 +02:00
Honza Rychnovsky f091da51ee
[#322] Restore Wallet "greedy" autocompletion
- Changed order of conditions of automatic autocompletion.
- Added a test for validation of autocompletion functionality
- Changed type of test tag on ChipLayout component, as it seems its not necessary to have this one for proper component functionality. The one from the test package is needed here for the newly added test. And other screen components also use only those from the test package.
2022-04-11 15:19:04 +02:00
Carter Jernigan 482a48edb7
[#199] Pull test results from Firebase Test Lab
A future iteration should generate the HTML reports from these XML files

This rolls back Flank to 21.09.0 but does maintain the ability to version Flank separately.
2022-04-08 14:06:34 -04:00
Honza Rychnovsky 4e5e5c4ab7
[#223] fromZecString reject bad input.
- Implementing regex solution for validation of input ZecAmount after confirm button is pressed.
- Added also unit tests for this new feature.
- Move necessary components from sdk-ext-lib to sdk-ext-ui module.
- Align implementation with comments form PR.
- Fix name of run configuration.
- Ensure consistent behavior of tests.
2022-04-08 14:33:08 +02:00
Honza Rychnovsky 9485a7d4c3
[#244] Back button is invisible on Profile screen.
- Remove tint attribute from Icon definition of TopAppBar of the Profile screen.
- Minor code style refactoring.
2022-04-06 20:49:24 +02:00
Carter Jernigan 15034786e6 [#353] Google Auth Action 0.7.0 2022-04-06 07:56:17 -04:00
Carter Jernigan ea52674a68 [#342] Coroutines 1.6.1 2022-04-06 07:56:17 -04:00
Carter Jernigan 623a7d6602 [#336] GitHub Cache action 3.0.1 2022-04-06 07:56:17 -04:00
Carter Jernigan 2a63b09cec [#334] Setup Java Action 3.1.0 2022-04-06 07:56:17 -04:00
Carter Jernigan 8be473a988 [#335] Flank 22.03.0 2022-04-06 07:56:17 -04:00
Carter Jernigan 3c9331c3eb [#333] Update version catalog syntax 2022-04-06 07:56:17 -04:00
Carter Jernigan d35c3b0f4d [#297] Add locking to buildSrc and build-conventions 2022-04-06 07:56:17 -04:00
Carter Jernigan 116a0de32f [#332] jgit 6.1.0 2022-04-06 07:56:17 -04:00
Carter Jernigan f22586eacf [#330] Compose Material3 1.0.0-alpha08
Removed the proxy to the Material2 TextField in favor of the Material3 TextField
2022-04-06 07:56:17 -04:00
Carter Jernigan 556524b4bc [#331] Compose 1.1.1 2022-04-06 07:56:17 -04:00
Carter Jernigan c0a5d2607c [#329] AndroidX Updates
Updated to use the latest splash screen API
2022-04-06 07:56:17 -04:00
Carter Jernigan 3844d9987c [#328] ktlint 0.45.1 2022-04-06 07:56:17 -04:00
Carter Jernigan 8745c51457 [#302] Gradle 7.4.2 2022-04-06 07:56:17 -04:00
Honza Rychnovsky aac784cc5b
[#245] Onboarding test doesn't show selections. (#354)
- Changed color of the ChipDropDown text.
- Changed tint color of the ChipDropDown text disclosure trinagle.
2022-04-06 07:21:03 +02:00
Honza Rychnovsky db13435d52
[#218] Prevent illegal number on ZEC amount
- Prevent illegal input in ZEC Send/Request form.
- New SDL-EXT-UI module for UI related SDK helper components.
- Regex for continuous validation of the entered ZEC amount.
- Added a new unit tests for validation of the regex too.
- Using the regex on ZEC Request and ZEC Send screens.
- Updated existing and created a new UI tests for validating entered ZEC amount values on Request and Send screens.
- Improve code to be validated with DetektAll static analyzation.
- Architecture documentation update with the newly added sdk-ext-ui module.
- Added run configuration sdk-ext-lib:connectedCheck for AS.
- Added check for digits count between grouping separators + tests.
- Refactoring test class name and its separator value.
2022-04-01 16:28:16 +02:00