Commit Graph

12 Commits

Author SHA1 Message Date
Honza Rychnovský b58d3069c2
[#1178] Slightly improve Update screen UI 2024-01-10 16:12:27 +01:00
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ý 1a8114a9b7
[#985] Fix failing UI tests on texts' case
- Closes #985

Fix Detekt warning
2023-10-03 14:23:43 +02:00
Honza Rychnovsky cb98cc048f
[#808] Use Dimens Across App
* [#808] Use Dimens across the app

- Shorter Onboarding screen design enhanced

* Shorter New Wallet Backup screen UI enhanced

* Home screen UI enhance

* Seed screen UI enhance

* Link SendArgumentsWrapper issue

* Move custom buttons paddings to PaddingValues

- Optional Modifier parameter should have a default value of Modifier
- Thanks to this we introduced the outerPaddingValues parameter to all our buttons with default paddings
- Also notice the difference between e.g. ShortOnboardingView and ShortNewWalletBackupView. In the backup, we have the bottom button to be part of Scaffold’s bottomBar, which is maybe a better pattern than stretching the buttons with spacers in case of part of the screen content view, but it has also its tradeoffs.

* Settings screen enhance

* Support screen UI enhance

* About screen UI enhance

* Scan screen UI enhance

- Move modifiers to the caller’s side
- Match texts to predefined styles
- Add color to Small text component + reorder parameters

* Send screen UI enahnce

- Lifted out some modifiers arguments to the caller’s side
- Fixed button’s horizontal paddings

* Scan move BackHandler to Android class

* Update screen UI enhance

* Receive screen UI enhance

* Address screen UI enhance

* Ignore AndroidUpdate back action test

- Will be refactored soon

* Remove TODO as already implemented

* Restore screens UI enhance

* Create UpdateViewAndroidTest

* [#807][Design system] Remove deprecated Paddings

* [#705] Instrumentation coverage generation fails locally

* [#808] Use Dimens across the app

- Shorter Onboarding screen design enhanced

* Shorter New Wallet Backup screen UI enhanced

* Home screen UI enhance

* Seed screen UI enhance

* Link SendArgumentsWrapper issue

* Move custom buttons paddings to PaddingValues

- Optional Modifier parameter should have a default value of Modifier
- Thanks to this we introduced the outerPaddingValues parameter to all our buttons with default paddings
- Also notice the difference between e.g. ShortOnboardingView and ShortNewWalletBackupView. In the backup, we have the bottom button to be part of Scaffold’s bottomBar, which is maybe a better pattern than stretching the buttons with spacers in case of part of the screen content view, but it has also its tradeoffs.

* Settings screen enhance

* Support screen UI enhance

* About screen UI enhance

* Scan screen UI enhance

- Move modifiers to the caller’s side
- Match texts to predefined styles
- Add color to Small text component + reorder parameters

* Send screen UI enahnce

- Lifted out some modifiers arguments to the caller’s side
- Fixed button’s horizontal paddings

* Scan move BackHandler to Android class

* Update screen UI enhance

* Receive screen UI enhance

* Address screen UI enhance

* Ignore AndroidUpdate back action test

- Will be refactored soon

* Remove TODO as already implemented

* Restore screens UI enhance

* Create UpdateViewAndroidTest

* [#807][Design system] Remove deprecated Paddings

* Address review comments
2023-04-04 14:21:18 +02:00
Carter Jernigan 4acd5d3593
[#584 ]Adopt Twitter's Compose Detekt rules
Twitter had a set of Compose rules, which have been forked into Detekt, Ktlint, and Android Lint implementations.

I see ktlint as mostly being formatting, Detekt being more for multiplatform static analysis, and Android Lint for Android-specific issues.  Android lint is slow, so I didn’t want to use it as the first choice.

I went with the Detekt implementation which can be useful if we leverage multiplatform for our Composables in the future.
2023-03-01 07:58:47 -05: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
Honza Rychnovsky 386c7d7793
[#485] Test Failure For UpdateViewModel 2022-06-30 15:02:26 +02: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
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 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
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