Commit Graph

20 Commits

Author SHA1 Message Date
Honza Rychnovský a3e7d8f6c4
[#1108] Ktlint 1.0.1
* [#1108] Ktlint 1.0.1

- Closes #1108
- Version and artefact update

* Fix ktlint warnings
2023-12-11 10:20:32 +01:00
Honza Rychnovský 3b1d42528d
[#972] Adopt PersistableWallet API changes in SDK
* [#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
2023-09-28 12:05:36 +02:00
Honza Rychnovský 9ec0de1729
[#944] Adopt SDK version 2.0.0 with SbS included
* [#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
2023-09-27 08:52:31 +02:00
Honza Rychnovsky 543d5f2b59
[#792] Add Sending Screens
* [#804][Design system] Paddings - Dimens

- Initial commit to ensure it meets our requirements
- This solution is now in parallel with a simpler existing Paddings solution
- Four spacing groups defined
- Provides a way to define default and custom spacing values
- Distinguished by screen size, but other metrics also available (e.g. orientation, aspect ratio, layout direction or screen shape)

* Fix spacing value

* Move spacings change logic to comment

- We've decided to have only one regular spacing group for now, which is suitable for most of current phone devices

* Move Dimens out of internal package

* Link TODO for later Paddings remove

* Link issue of Use Dimens across the app to TODO

* [#792] Add sending screens

- This extends the Send screen logic with several subscreens
- A transaction submission connected to the Synchronizer
- Some logic moved to Android specific class
- System back navigation handler implemented
- Styling with dimes introduced to all Send screens
- New UI, Android specific, integration and screenshot tests added
- Additionally we could consider implementing a proper SendState mechanism, as we do in e.g. BackupState

* File issue of problematic pseudolocales texts inserted in Send.Form screen

* Add scrolling to send view

* Switch SendViewIntegrationTest away from TestSetup

* Provide MockSynchronizer to integration test

---------

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-03-27 08:25:36 +02:00
Carter Jernigan 84b40fc5fa
[#151] Add birthday to restore 2023-03-21 15:04:16 -04:00
Carter Jernigan f5e0af6545
[#757] Adopt SDK 1.14.0 (#759) 2023-02-17 06:05:23 -05:00
Alex 88c7277048
[#161] Implement display of new address types
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-01-09 07:57:22 -05: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
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
Honza Rychnovsky 32c20953f7
[#310] [Scaffold] Progress Status Circular Bar
* [#310] [Scaffold] Progress Status Circular Bar

- Added Z to Home ZECs balance
- Added USD balance text to Home
- Prepared Text extension functions for both
- Provided Zatoshi to USD conversion methods + filed related SDK conversion issue

* Update Home screen UI with progress bars

- Implemented scaffolding UI of progress bars
- Added related texts to strings

* Update Home screen UI with progress bars

- Connected some of the implemented UI elements to SDK values
- Added app update information to Home screen
- Update WalletSnapshot with progress field

* Update Home screen UI with progress bars

- Capturing and handling errors from SDK Synchronizer.
- Added related error strings.
-  Simplified Home screen UI.

* Zboto font added. Load it in runtime. Import to Typography.

* Updated ZEC sign icon.

* Draw ZEC balance with Zboto font

* Simplify Home screen balances assigning

* Switch to PercentDecimal progress representatiton

* Support different locales while working with fiat currency

* Fix bug in checking of fiat currency value

* Generalize strings to provide possibility of other fiat currencies

* Add fiat currency conversion states mechanism

* Add TODO comment with reference to follow up SynchronizerError issue

* Add WalletDisplayValues to simplify HomeView composable

* Add CurrencyConversion class for connection to Price API (and convert Zatoshi to fiat currency)

* Add basic HomeView tests

* Add basic HomeViewIntegration test

* Review changes

- Used Duration API for times
 - Allow injecting clock into currency conversion
 - Moved FiatCurrencyConversionRateState to sdk-ext-ui because I suspect that we’ll consider this to be a UI object.  I based this on the fact that current/stale cutoff values are arbitrary and probably should be the domain of the UI rather than the SDK.
 - Added some tests, although additional coverage is needed
 - Added fixtures for model objects

* Minor code refactoring

- Move UpdateInfoFixture class to fixture dir
- Remove unnecessary annotation
- Add common application context method to test suite
- Fix Test class import
- Move several WalletSnapshotFixture parameters to const fields

* Add WalletDisplayValuesTest to cover the model class.

* Fix import after changes merged

* Use the new MonetarySeparatorsFixture in related tests

* Add a few basic Zatoshi -> USD conversion tests

* Turn on core lib desugaring for sdk-ext-ui-lib module

* Make WalletDisplayValues a data class

I think there may be some instances where this can help with recomposition

* Add preference key for fiat currency

This allows us to configure reading the value with observers correctly, even if we don’t allow the user to change it right now.

* Delegate symbol and formatting to JVM

* Add tests for Locale

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-07-13 09:16:05 +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
Honza Rychnovsky 39949d8632
[#283] Kotlin API for Zcash URI parser
- Includes Zip321UriBuildFixture for the toUri() method from the Rust layer.
- Includes Zip321UriParseFixture for the fromUri() method from the Rust layer.
- Added ZecRequestTest class for testing ZecRequest methods.
- Align Zip321UriBuildFixture and Zip321UriParseFixture parameters.
- Added comments to the new() methods of Zip321BuildFixture and Zip321ParseFixture.
2022-03-30 14:16:57 +02:00
Carter Jernigan 3d4f9fb4b4
[#142] Send ZEC scaffold (#253)
Implements a basic scaffold for sending ZEC.

Some new model objects and an extension method were added that I hope to move to the SDK.

Followup issues include
 - Press-and-hold for the Send button #249
 - Prevent illegal input in input form #218
 - Prevent undefined behavior if locale changes #217
 - Add error handling to the Zec send screen #250
 - Add confirmation after send is created #252
2022-03-01 08:11:23 -05:00
Carter Jernigan a1199e706e
[#135] Request ZEC scaffold 2022-02-17 08:08:06 -05:00
Carter Jernigan d46cf8187c
[#145] Profile scaffold 2022-01-13 12:49:08 -05:00
Carter Jernigan ee96e915ae
[#62] Wallet details scaffold
Implements a details screen showing various wallet addresses

Some known issues requiring followup in future pull requests:
 - #159 Colors for light theme have not been defined yet
 - #160 Color blocks have 2x borders along the top/bottom of the middle item
 - #161 Some address types display placeholder values
2021-12-31 08:28:16 -05:00
Carter Jernigan 2e40af9390 [#17] Import wallet 2021-12-17 10:35: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