Commit Graph

641 Commits

Author SHA1 Message Date
Carter Jernigan c457406bc3
[#98] Detekt 1.19.0 2021-12-02 15:16:34 -05:00
Carter Jernigan d10ff6eb46
[#20] Add launcher icon 2021-12-02 15:16:20 -05:00
Carter Jernigan 8e9f8037c7 [#99] Ktlint 0.43.1 2021-12-01 15:24:34 -05:00
Carter Jernigan 541ed915c1 [#90] Fix backup res directory name 2021-11-30 14:16:22 -05:00
Carter Jernigan be08c85c38 [#89] Resolve Gradle build warnings 2021-11-30 14:16:22 -05:00
Carter Jernigan 9db77e2afe
[#16] Skeleton for wallet creation
In addition to the UI, this implements improved state management for the WalletViewModel which emits a sealed class now.

Work remaining for followup PRs:
- Use drag-and-drop for chips instead of dropdown menus #85
- Add red background color for test fail screen #86 
- Add images for various screens (depends on #66 #64)
- Implement copy to clipboard #49
2021-11-17 15:19:49 -05:00
Carter Jernigan ec983f1f8f [#28] Initial SDK integration
This sets up the infrastructure needed to continue implementing the onboarding UI for create and import of wallets.  By fleshing out the global state management in the app now, we can better manage asynchronous IO to avoid blocking the UI.

This adds:

 - Load and persistence a wallet in encrypted preferences
     - The stored data is written as a single JSON object, as opposed to multiple entries, to ensure atomic writes
     - The data is versioned, so that we can change the JSON format readily in the future
 - Detection of application state, e.g. onboarding versus loading the user's wallet
 - Touch points to initialize the SDK
2021-11-12 07:09:43 -05:00
Francisco Gindre 65792e92b0
Merge pull request #79 from zcash/77-gradle-7.3
[#77] Gradle 7.3
2021-11-11 20:25:53 -03:00
Francisco Gindre 935a302e55
Merge pull request #80 from zcash/78-apple-silicon-fix
[#78] Fix build on Apple Silicon
2021-11-11 20:24:45 -03:00
Francisco Gindre 4b036a1920
Merge pull request #82 from zcash/81-fix-gradle-warning
[#81] Fix Gradle warning during builds
2021-11-11 20:24:14 -03:00
Carter Jernigan 8bbdfc60c5 [#81] Fix Gradle warning during builds 2021-11-11 08:41:00 -05:00
Carter Jernigan 0ba504fac1 [#78] Fix build on Apple Silicon 2021-11-10 11:38:20 -05:00
Carter Jernigan 3bcf9b20cf [#77] Gradle 7.3 2021-11-10 11:16:09 -05:00
Francisco Gindre 99c237f196
Merge pull request #76 from zcash/59-core-library-desugaring 2021-11-10 13:08:57 -03:00
Francisco Gindre 62d67b87b5
Merge pull request #73 from zcash/72-chip 2021-11-10 13:02:16 -03:00
Carter Jernigan fb46fe2867
[#74] Prevent accidental targeting of newer API levels 2021-11-10 10:44:41 -05:00
Carter Jernigan 3ede7ac8f0 [#59] Enable core library desugaring for app module
Note that if we want to run tests from each module on older Android versions, we would need to enable desugaring for each module that is using newer JDK features.  For now, this prevents the app itself from crashing on devices with older versions of Android
2021-11-09 13:53:20 -05:00
Carter Jernigan 06b934bde6 [#72] Add Chip Composable 2021-11-08 13:47:00 -05:00
Carter Jernigan 575b3063bf
[#50] Preliminary design guide
Known issues
 - We cannot use downloadable fonts with Compose, so the fonts must be embedded with the app

Questions
 - How does the transparent button show a disabled state?
 - Are the navigation buttons and secondary buttons supposed to be effectively the same style but one is smaller?

TODO
 - Add gradients.  Gradients are not implemented for background, progress bar, etc.  Currently they simply use the start color for the gradient
 - Icons are using Material Icons, pending decision on how to leverage the vectors in the design
 - Add the border for hero images
 - Add shapes for the callout, which is currently square
 - Add padding
 - Add drop shadows
 - Double-check colors for correctness
2021-10-31 13:36:51 -04:00
Carter Jernigan 4f513932a6 [#53] Add issue template for updating dependencies 2021-10-25 13:57:04 -04:00
Carter Jernigan 7047ffa52b [#52] Add Gradle checksum 2021-10-25 13:56:51 -04:00
Carter Jernigan 7afdb59d50 [#54] Add dependency locking for buildscript
This only locks dependencies for Gradle plugins, but not for all of the runtime dependencies that we might have.  That will be accomplished in a followup change.
2021-10-25 13:56:36 -04:00
Carter Jernigan cc7600749b [#27] Add documentation for known issues 2021-10-19 16:23:18 -04:00
Carter Jernigan 7d305dc953 [#8] Restrict maven repositories
This improves security by ensuring that Google's dependencies only from the Google Maven repo.

A dependency on Jitpack has also been removed.
2021-10-19 14:42:30 -04:00
Carter Jernigan f3c425e68a [#31] Add injection of build info
Provides infrastructure to help us track exactly what build of the app is running.  This provides the ability to implement a number of features in the future
 - Displaying build version in an About screen
 - Automatically versioning with Git commit count as an incrementing version number
 - Injection of secrets, API keys, or other behaviors into the build so that the app can leverage them at runtime.  The secrets can be securely stored as environment variables (e.g. on CI), so they don't need to be committed to the repository.
2021-10-19 13:51:06 -04:00
Carter Jernigan c5f3a44340 [#13] Add initial preference infrastructure
This adds infrastructure to read/write preferences, with both a multiplatform wrapper and an Android-specific implementation.

This implementation is primarily designed to cover the initial needs of implementing the wallet SDK integration for issue #28 for securely storing keys (with encryption) for the user's wallet.
2021-10-19 09:26:03 -04:00
Carter Jernigan 33588e4e66 [#30] Explicitly set the Compose compiler version
Also bump the Compose dependency to 1.0.4, in order to support Kotlin 1.5.31
2021-10-19 07:20:38 -04:00
Carter Jernigan cfe0c47652 [#29] Fix viewmodel-compose artifact 2021-10-19 07:20:17 -04:00
Carter Jernigan bdc86a764d [#26] Android Gradle Plugin 7.0.3 2021-10-19 07:19:49 -04:00
Carter Jernigan 96b1e1913b [#21] Enable test orchestrator 2021-10-11 19:39:50 -04:00
Carter Jernigan 361c6a2eee
Merge pull request #25 from zcash/15-onboarding 2021-10-11 15:44:38 -04:00
Carter Jernigan e4c2c86598 [#3] Improve consistency between IntelliJ and ktlint
This is a followup fix to the previous change to enable ktlint
2021-10-11 12:38:47 -04:00
Carter Jernigan 1f5d7eb966 [#15] Add onboarding skeleton
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
2021-10-11 12:38:46 -04:00
Carter Jernigan 403f5d6467 [#15] Add ui-lib module 2021-10-09 10:36:58 -04:00
Francisco Gindre fa15c15e28
Merge pull request #19 from zcash/9-kotlin-compiler-warnings
[#9] Treat compiler warnings as errors
2021-10-07 11:40:38 -03:00
Carter Jernigan cec2ad260c [#9] Treat compiler warnings as errors 2021-09-22 12:43:43 -04:00
Carter Jernigan 7520e031c8 [#3] Add ktlint 2021-09-18 07:22:42 -04:00
Carter Jernigan 68a9cc7d27 [#3] Add skeleton Gradle project structure 2021-09-18 07:22:42 -04:00
Francisco Gindre 84d3f9a40b
Merge pull request #4 from zcash/2-documentation-and-templates
[#2] Add project documentation and templates
2021-09-13 17:44:48 -03:00
Carter Jernigan 740044a7cd [#2] Add project documentation and templates 2021-09-13 15:58:20 -04:00
Kevin Gorham 635dac0eb9
Initial commit 2021-07-29 13:54:16 -04:00