Commit Graph

242 Commits

Author SHA1 Message Date
Honza Rychnovský b68d93b137
[#1201] Enhance SendStage.SendFailure with error
* [#1201] Enhance SendStage.SendFailure with error

- Closes #1201
- The changes also contain custom saver for SendStage
- The error is printed on the SendFailure screen as a simple text for now
- Changelog updated
2024-01-26 13:59:23 +01:00
Honza Rychnovský 7e27bdddff
[#1195] Integrate Current Balances widget to Send
- Closes #1195
- The fixture recipient address type changed from the unified to the sapling on several tests to avoid temporary address TODO text obtained from the SDK fixture
- WalletDisplayValues have the updateAvailable optional with false as a default value
- Changelog updated
2024-01-26 12:44:46 +01:00
Honza Rychnovský 155b171b46
[#1156] Common current balance state UI component
* [#1156] Common current balance state UI component

- Closes #1156
- Created a reusable current balances widget UI component for the Account and Balances screen
- Incorporated into the Account screen
- Improved ZcashCurrency API with localized currency identificators

* Changelog update

* File follow-up on testing
2024-01-23 09:59:33 +01:00
Honza Rychnovský 6519df7539
[#1145] Receive screen
- Closes #1145
- Closes #1057
- Closes #1088
- Closes #1154
- Closes #1155
- Closes #1185
2024-01-15 17:32:15 +01:00
Honza Rychnovský b58d3069c2
[#1178] Slightly improve Update screen UI 2024-01-10 16:12:27 +01:00
Honza Rychnovský f711cd7cbd
[#883] Turn on NotEnoughSpace light theme
- Closes #883
- This removes the hardcoded dark theme from the NotEnoughSpace screen
2024-01-10 11:38:07 +01:00
Honza Rychnovský d1eec2dae8
[#1153] Adopt SDK v2.0.4
* [#1153] Adopt SDK v2.0.4
- Closes #1153
- Add TODO inline
- Changelog update
2024-01-09 12:27:32 +01:00
Honza Rychnovský 2f33ccf818
[#1143] Transaction ID row in Transaction item
* [#1143] Transaction ID row in Transaction item

- Added a new transaction ID row into the transaction item on the Transactions screen
- It displays a TODO value instead of the TXID until the #1316 in SDK done
- Closes #1143

Changelog update
2024-01-02 14:25:24 +01:00
Honza Rychnovský b544de316d
[#1147] Show transaction memo
- Improves the screen UI so we’re able to call click, and query transaction memos
- These APIs will be useful once we approach screen refactoring according to the Figma design
- Adds UI test for the new feature
- Closes #1147

Changelog update
2024-01-02 09:03:12 +01:00
Honza Rychnovský b42db7b035
[#1138] Malformed pattern: Grouping separator
* [#1138] Malformed pattern: Grouping separator

- This handles possible malformed format pattern exceptions in Zashi, but the proper solution needs to be provided within the SDK. See  #1315.
- Closes #1138

* Changelog update
2023-12-21 17:46:02 +01:00
Honza Rychnovský 90c982ac2a
[#1134] Home screens UI improvements
* [#1134] Improve Home sub-screens paddings

* [#1134] Rework Home Scaffold to ConstraintLayout

* [#1134] Rework Home screen TextFields

Plus, unify Home sub-screens bottom action buttons position

* [#1134] Fix Textfiled height jumping

* Changelog update
2023-12-21 16:15:20 +01:00
Honza Rychnovský c943fc58be
[#1121] Available balance check on Send
* [#1121] Available balance check on Send

Closes #1121

* Align UI tests

* Changelog update
2023-12-21 08:51:54 +01:00
Honza Rychnovský 4e3bea2c2f
[#1129] Fix failing Test Robo Debug
* [#1129] Fix failing Test Robo Debug

Closes #1129

* Changelog update

* Specify main-debug folder

* [#1129] Separate version flags

- Separate debuggable and run under a test service flags
- As we now have more flexibility in requesting the flags in runtime
2023-12-19 11:03:28 +01:00
Honza Rychnovský 4cf608b733
[#1079] Home screen bottom nav bar
* Changelog update

* [#1118] Account screen Balance Text line break

- Closes #1118

* [#1117] Reusable Loading screen indicator

- Closes #1117

* [#1116] Balances screen structure

- Closes #1116

* [#1079] Bottom bar - tabs navigation

- Closes #1079

* [#1079] Rework UI tests

* [#1079] File follow-ups

* [#1079] Fix static lint tools warnings

* [#1079] Improve Home sub-screens indexing

* [#1079] Reorg navigation into Home components

* [#1079] Align with Figma design

* [#1079] Update screenshot and UI tests
2023-12-18 14:31:25 +01:00
Honza Rychnovský c28dadaeed
[#1109] Detekt Compose Rules 0.3.5
- Closes #1109
- Fixed the new Detekt Compose warnings
2023-12-11 10:31:24 +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ý 4c97e2f82e
[#1098] Gradle 8.5
- Closes #1098
- Leverages new Gradle APIs from versions 8.4 and 8.5
- Follow-ups filled for the not-used but useful new APIs
2023-12-08 13:13:23 +01:00
Honza Rychnovský 06ca665fca
[#1096] Change brightness adjusting feature
* [#1096] Change brightness adjusting feature

- Closes #1096
- As reported by testers, the automatic brightness adjustment could be too invasive
- Switched to the on-demand feature after a new button click
- Tests aligned

* Align Screenshot tests

* Changelog update
2023-12-07 16:35:27 +01:00
Honza Rychnovský 201cdbbd07
[#1094] Add message under Doc and PP buttons
* [#1094] Add message under Doc and PP buttons

- Closes #1094
- Shows Toast UI message with Not implemented yet test after the buttons hit

* Changelog update
2023-12-07 08:14:16 +01:00
Honza Rychnovský 1310a0730d
[#1092] Duplicate Home to separate Account screen
- Closes #1092
- New Account screen + logic created
- Moved a few commonly used logic components into the common package
2023-12-06 15:29:12 +01:00
Honza Rychnovský dd81b90fbf
[#1089] Remove circular progress bar from Home
* [#1089] Remove circular progress bar from Home

Closes #1089

* Fix ktlint warning
2023-12-05 12:29:15 +01:00
Honza Rychnovský f67c3fde8f
[#1082] Remove Side Navigation Drawer menu
- Closes #1082
- Closes #1086
- Added TODO links to the missing Settings actions
- Fixed About screen versionCode displaying
- Added app name to the About screen debug menu, as the Home screen does not contain it anymore
- Changelog updated
2023-12-04 15:45:30 +01:00
Honza Rychnovský 905a14db50
[#1003] Clear unused Onboarding alternatives
- Removes unused Oboarding alternative LongOnboarding screen with all related resources
- Removes related integration tests and screen decision logic
- Removes related is_short_onboaridng remote configuration logic
- Closes #1003
2023-11-30 20:50:59 +01:00
Honza Rychnovský 3d33bb8ca5
[#1064] Restore Seed-Birthday Screen
* [#1064] Restore Seed-Birthday Screen

- Reworked Restore Seed-Birthday height screen
- Contains UI, screen logic and tests
- Closes #1064

* Update changelog

* [#859] Fix failing Restore screenshot test

Closes #859
2023-11-28 13:05:31 +01:00
Honza Rychnovský b15c1e9063
[#1059] Restore Seed Screen
* [#1059] Restore Seed Screen

- Reworked UI according to Figma design
- Closes #1059

* Changelog update
2023-11-27 10:55:15 +01:00
Honza Rychnovský f34aa78f3d
[#1054][#1055] Update buttons and screens spacings
- Done across all screens
- Closes #1054
- Closes #1055

Fix Ktlint warnings
2023-11-23 11:37:02 +01:00
Honza Rychnovský 8966615a39
[#1051] Fix Export Data FileProvider
- Both debug and production builds of the app can now be deployed on the same device
- Closes #1051
2023-11-23 11:07:09 +01:00
Honza Rychnovský 771dc114da
[#1048] Seed Recovery Screen
[#1048] Seed Recovery Screen

Open Seed Recovery from the Settings screen

[#1014] Unify screen name with Figma

[#1048] UI + logic + tests

Improve click action effect on TopAppBar

[#1049] Add Changelog

Closes #1049

Update PR template
2023-11-23 10:41:59 +01:00
Honza Rychnovský cf45a0ef34
[#942] New Wallet Recovery Phrase Screen
[#942] New Wallet Recovery Phrase Screen

[#1006] Enhance VersionInfo with other fields

[#947] About screen UI + logic + tests

[#1040] Extract logo and title on top of screens

- Place it into a separate UI component
- Used across several screens
- Closes #1040

Remove long version of the Backup screen

- We previously had a configuration field that controlled which version of the screen should be displayed to a user
- Removed
- Partly solves #1003

Backup screen view redesign

Tests + docummentation

Update links to the Zashi Github repository

As the GitHub repository was recently moved from Zcash under the ECC company

[#1014] Unify screen name with Figma design

[#1045] Adopt Zcash SDK v2.0.3

Closes #1045

Fix screenshot test

The new wallet recovery screen is now much taller; scrolling to the acting button is needed.

Fix Restore screen test

Lint tools warnings
2023-11-23 10:00:13 +01:00
Honza Rychnovský 6aa8094ed7
[#1038] Primary button has colored shadow background
* [#1038] Primary button has colored shadow bg

- Closes #1038
- Also improves share_file_provider_paths content for exporting private data feature

* Reorder parameters
2023-11-14 16:00:00 +01:00
Honza Rychnovský 494d068168
[#1031] Export of private app data
* [#1031] Export of private app data UI+logic

- Closes #1031

* [#1031] Export of private app data tests

* Move provider to app/manifest

To avoid: The application could not be installed: INSTALL_FAILED_CONFLICTING_PROVIDER

* [#1037] Debuggable release build

- So we’re able to log or debug release app build while testing
- Default value false
- Closes #1037

* Fix file provider path in release build
2023-11-13 14:53:16 +01:00
Honza Rychnovský 6df3806a1f
[#998] Transaction History Compose Preview 2023-11-08 10:47:49 +01:00
Honza Rychnovský a15bea738f
[#355] Lock screen to portrait
- Adds capability to customize the screen lock via gradle.properties to enable it while developing or testing the app UI easily
- Closes #355
2023-11-08 10:47:31 +01:00
Honza Rychnovský 84e591561d
[#1026] Restore Seed screen keyboard hides UI
Closes #1026
2023-11-08 10:47:03 +01:00
Honza Rychnovský 2f773b8b0a
[#1016] Force SecureScreen turned on in UI testing
- After we added the customization of SecureScreen sensitive data mechanism in building and testing the app via Gradle property in #1009, we also need to ensure that the SecureScreen is always on in our automated Android UI tests.
- Closes #1016
2023-10-23 15:21:00 +02:00
Honza Rychnovský ab7117e458
[#1020] Re-enable fixture wallets in debug
- The debug with Alice’s and Ben’s fixture wallets from the Zcash SDK is visible only in debug mode. UI tests and production are not impacted.
- It provides a quick way to import an existing wallet for developers while building or testing the app
- Closes #1020
- The debug menu with fixture wallet was partially hidden by PR #1004
2023-10-23 15:18:02 +02:00
Honza Rychnovský f9f6334f16
[#1015] Custom TopAppBar UI component
- Covers all the necessary states and sub-components defined in the design document
- Closes #1015
2023-10-20 15:44:57 +02:00
Honza Rychnovský a70586d8b6
[#1012] Customize Dark mode support for debugging
- And disable its support in the app UI by default
- Closes #1012
2023-10-19 15:00:47 +02:00
Honza Rychnovský 5010c624a8
[#1008] SecureScreen customization
* [#1008] Customizing SecureScreen mechanism

Tested with an unexpected value in checkProperties too.
2023-10-17 16:01:53 +02:00
Honza Rychnovský 16bf1afa90
[#947] About screen UI/logic/tests
* [#947] About screen UI (partially implemented)

* [#947] About screen UI

* [#947] Fixed failing test case

* [#947] Added Zashi text logo

---------

Co-authored-by: Honza Rychnovský <rychnovsky.honza@gmail.com>

* [#947] UI: About Screen

* [#1005] Remove DebugMenu from Home screen

- The new design does not require it on the Home screen
- Partially moved to the Settings and About screens

* [#392] Update About screen texts

Closes #392 as not needed now

* [#1006] Enhance VersionInfo with other fields

* [#947] About screen UI + logic + tests

* Adopt VersionInfo on different screens

* VersionInfo test

Update .gitignore

---------

Co-authored-by: Venkat-corebts <143575548+Venkat-corebts@users.noreply.github.com>
2023-10-17 15:56:04 +02:00
Honza Rychnovský e871c4eb45
[#941] Opening screen + Load animation
* [#941] Loading screen UI

Co-authored-by: Honza Rychnovský <rychnovsky.honza@gmail.com>

* Fix unallowed doubled scroll

* Remove duplicate icon

* [#997] Splash alignment with welcome animation

* [#999] Compile SDK version 34

* [#1000] Colour system bars

* [#941] Load + Opening screens

- Contains UI of both these screens
- Their logic
- And the Load screen animation
- Designed util ScreenHeight composable
- Redesigned SecondaryButton to match the design and fixed its positioning on different screens

---------

Co-authored-by: Venkat-corebts <143575548+Venkat-corebts@users.noreply.github.com>
2023-10-12 19:04:23 +02:00
Honza Rychnovský 57a133a12c
[#946][#993] Warning screen + button animation (#994)
* [#946] Warning screen UI

[#946] Code review changes
moved security warning to separate folder
changed main heading text style
changed static version text to dynamic

Co-authored-by: Honza Rychnovský <rychnovsky.honza@gmail.com>

* [#993] New Primary Button Click Animation

* [#946] Warning Screen [UI][Logic][Tests]

- Security Warning screen incorporated into the app onboarding logic
- NeedsWarning wallet state persisted and is required if the user re-runs next time, and the Security Warning screen still needs to be presented
- Privacy Policy opened by part of the screen text clicking in an external web browser app
- Unit tests
- UI tests
- Screenshot tests

---------

Co-authored-by: Venkat-corebts <143575548+Venkat-corebts@users.noreply.github.com>
2023-10-10 12:41:17 +02:00
Honza Rychnovský e4d744fc98
[#975] Post Core BTS UI changes
- PrimaryButton centered horizontally on all screen
- Compose Preview switched to light theme on all screens as Zashi supports light theme only
- Closes #975
2023-10-04 16:01:40 +02:00
Honza Rychnovský 8aaa5367d8
[#974] Post SbS adoption UI changes
* [#974] Post SbS adoption UI changes

Closes #974

* [#974] Add decimals to percentage
2023-10-04 14:04:08 +02: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
Venkat-corebts 705386e031
[#948] Updated Settings screen UI
* [#948] Updated Settings screen UI

* [#948] Crash fix on settings screen

* Center button UI components text

So the text aligns with the center when the button is displayed on a very small device or, e.g., when the system accessibility text size increase feature is used.

* Keep button spacing

When rotated to landscape, the weighted spacing disappears. But we ideally want buttons to have all the same spacing around them in this scenario.

* Kotlin code style

* Move previous settings option to overflow

- As the new design prescribes no debug/test options in the settings screen, we moved these useful actions into the only troubleshooting menu in the app bar.
- Tests added

* Add UI tests

* Text in all caps in the components

Rather than enforcing all caps in translations.

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-09-28 14:17:21 +02: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 Rychnovský 54e522090a
[#951] Add Archivo font
* [#951] Add Archivo font

- Font added
- License documentation file updated
- This slightly changes the provided font accessibility. Both Inter and Archivo are now available with the `ZcashTheme.typography` API.
- Closes #951

* Update license documents
2023-08-30 10:36:31 +02:00
Honza Rychnovský 6ec3c95914
[#915] Black and white color themes
* [#915] Black and white color themes

- Simplified color model to just black and white colors
- Reworked send fab button to a regular primary button
2023-08-07 14:52:24 +02:00
Honza Rychnovský 7240753964
[#931] New app launcher icon 2023-08-04 15:35:59 +02:00
Honza Rychnovský 01b24f47ed
[#914] Rectangle shapes 2023-08-04 13:01:16 +02:00
Honza Rychnovský 3c751a5893
[#917] Use Inter font 2023-08-03 16:02:51 +02:00
Honza Rychnovský ebc2061916
[#913] Replace logo 2023-08-03 16:00:45 +02:00
Honza Rychnovský 6b5359119c
[#905] Add copy-to-clipboard for addresses
* [#905] Add copy-to-clipboard for addresses

* Unify copy-to-clipboard across screens and APIs

* Fix ripple effect on address item
2023-07-17 12:33:14 +02:00
Honza Rychnovský e1eb66326c
[#897] Fix failing keyboard_disappears_after_seed
* [#897] Fix failing keyboard_disappears_after_seed

* Rework test
2023-07-06 11:16:28 +02:00
Alex fc7321e049
[#664] Transaction History List
* [#664] Transaction history

* Move under the screens folder

* Fix Request screen Preview

* Add TODO link

* Improve Text design component

* HistoryView UI enhancing

* Adopt ZcashCurrency API

* Add transaction history sync state

* Compact time format

* Bump Compose Material Icons to v1.5.0-beta02

* Add support for pending and expired transactions

* Add progress in syncing with no transaction yet

* Screenshot test

* Simplified no transaction check

* Transaction history manual test case

* Home screen history button test

* Fix flow collecting

* View tests

* Sent transaction sign

* Remove unused transaction snapshot from VM

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-07-04 13:24:07 +02:00
Honza Rychnovský a71ea7577d
[#873] Detekt enhance
* [#873] Detekt - consider MaxLineLength rule on

* [#882] Detekt Compose 0.1.10

* [#872] Detekt 1.23.0
2023-06-19 08:59:00 +02:00
Carter Jernigan 3d439ae6a1
[#751] AGP 8.0.2
* [#751] AGP 7.4.2

* [#874][#758][#751] Gradle 8.1.1 + AGP 8.0.2

- Dependency locks update
- And the related changes the versions bump brings done as well
- Dep issue template changed as appropriate now

* [#875] Emulator.wtf 0.12.2

* Minor fixing changes after Gradle bump

* Fix deprecated Runtime.exec()

* Fix running screenshot tests

We use the same pattern now as in the other pure test modules.

* Fix jvm versions compatibility

'compileJava' task (current target is 1.8) and 'compileKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-06-09 15:19:09 +02:00
Carter Jernigan de00a6eb51 Adopt SDK 1.17.0-beta01 changes 2023-05-23 06:34:06 -04:00
Carter Jernigan a6857f0a86 Adopt latest SDK changes 2023-05-19 06:12:04 -04:00
Carter Jernigan b6226c55eb
[#853] Adopt latest SDK changes
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-05-12 07:14:31 -04:00
Carter Jernigan 8045df9e6d [#818] Androidx updates 2023-05-10 05:52:41 -04: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
Honza Rychnovsky 5296dc5ea9
[#791] Add Scan To Send
* [#791] Add Scan Button To Send Screen

- Switched Send.Form screen input fields ordering to match the MFP design
- Added Scan button to Send.Form
- Changed navigation to pass the scanned result to the Send.Form screen
- Added leading and trailing icons to FormTextField component
- Created SendArgumentsWrapper to pass any future Zcash URL parsed parameters

* Report invalid address scanned

- Merged composes to provide snackbar after invalid address scanned

* Add SendView tests

- Added one for scanner click and one for initial send arguments inserted
- This led to input and check amount and memo as part of the SendArgumentsWrapper too to have it prepare for future Zcash URI parsing

* Static analysis warnings fixes

* Don't make camera feature required

- And hide the scanner button on Send.Form when any camera is not supported by the device

* Let SendArgumentsWrapperFixture use SDK fixtures

* Tweak hint text

We need better text, but this is at least more correct than the previous iteration.

* Replace assertTextContains with assertTextEquals

- To compare inputs texts to an exact match to avoid potentially missing bugs if there is extra text in the field that we're not expecting

* Fix ktlint warning

---------

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-03-30 09:58:20 +02:00
Carter Jernigan d1d7304780 [#824] Run emulator.wtf tests against API 33 2023-03-29 07:02:44 -04:00
Honza Rychnovsky 595b6ad34f
[#786] Hide circular progress bar on home screen 2023-03-27 17:03:33 +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
Honza Rychnovsky 0c0bf8cb34
[#785] Remove press-and-hold from Send
* [#785] Remove press-and-hold for send confirmation

- Timed button replaced by standard behaviour button
- Related SendView test updated

* Remove unused API

If we need this back, we can restore it from the Git history.

* Remove unused imports

---------

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-03-20 10:17:22 +01:00
Honza Rychnovsky d37310a935
[#789] Fix Send Screen Layout
* [#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

* Add vertical scrolling feature to SendForm screen

* Add vertical scrolling feature to Settings screen

+ Switched from Paddings to Dimens spacing system

* Add paddings, vertical scrolling, move modifiers

- As part of this is also move modifiers to the caller side where it makes sense

* Improve Send screen layout

- Added header view to the screen
- Added spacers between some UI parts of the screen
- Fixed background colors
- And improved textfields sizes

* Link Fix ZEC balance number formatting issue

* Link Disable Memo UI field in case of Transparent address issue

* Replace all .dp with predefined Dimens spacing in SendView

* Create custom FormTextField UI component

* Re-write paddings to spacers in list
2023-03-16 15:36:06 +01:00
Carter Jernigan 1d74e0bbf2 [#766] Change app icon 2023-03-14 12:08:51 -04:00
Honza Rychnovsky 78180ee4e8
[#790] Fix Settings screen layout
* [#790] Fix Settings screen layout

- SwitchWithLabel moved to ui-design-lib
- Internally switched from Row to ConstraintLayout
- Used paddings, which after creating and applying of Design system #611 will be refactored
- Moved Modifier definitions to the caller side, when possible
2023-03-14 08:00:36 +01:00
Honza Rychnovsky c18160356e
[#799] Fix passing drawer state
* [#799] Fix passing drawer state
2023-03-14 07:57:15 +01:00
Carter Jernigan 5fc3974129
[#784] Refactor support email address to CI variable
---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-03-13 09:19:14 -04:00
Carter Jernigan 5e3c1f1768
[#783] Hide fiat currency conversion
* [#783] Hide fiat currency conversion

* Add test
2023-03-13 09:05:44 +01:00
Carter Jernigan 4c6e498b37 [#793] Androidx updates
Also leveraged new WorkManager API to avoid resetting the background sync schedule

Note that Material3 alpha 7 breaks our UI tests, so I’ve only bumped to alpha 6 for now.
2023-03-09 13:00:23 -05:00
Carter Jernigan 8e17d07ced
[#762] Simplified seed backup UX
Because we’re making UI text changes, I’ve forked our views into “long” and “short” versions that preserve the previous experience while allowing the shorter experience to be different.

One limitation of the current approach is that the screenshot tests are limited to the current configuration, so there is some risk of ‘bit rot’ with the screenshot tests for the longer onboarding.  For this PR, I manually switched the feature flags and re-ran the screenshot tests to make sure they still worked.

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-03-03 08:06:03 -05: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
Carter Jernigan 6d01f210fe
[#774] Redesign home with hamburger menu
---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-02-28 08:54:07 -05:00
Carter Jernigan a806d2defa [#763] Configure simplified onboarding 2023-02-21 15:48:01 -05:00
Carter Jernigan ec7eb3804e [#770] Hide request ZEC button 2023-02-21 12:50:31 -05:00
Carter Jernigan 417fc4b8a5 [#764] Android Remote Config implementation
Note that there is no cloud integration yet. This creates the abstractions to support injecting different remote config sources
2023-02-21 12:50:31 -05:00
Carter Jernigan 6b202e3c9f [#764] Multiplatform remote config API 2023-02-21 12:50:31 -05:00
Carter Jernigan edaeda56da
[#748][#749] Preferences for sync
Adds an option to enable/disable background sync, as well as an option to keep the screen on during sync

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-02-17 11:39:15 -05:00
Carter Jernigan f5e0af6545
[#757] Adopt SDK 1.14.0 (#759) 2023-02-17 06:05:23 -05:00
Alex 7523619afa
[#673] process .ec files from emulator.wtf
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-02-13 08:10:32 -05:00
Carter Jernigan a7d7de0451
[#745] Set min API to 27
* Add Android min SDK API level check test

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-02-09 06:47:04 -05:00
Honza Rychnovsky a9787ebeac
[#694] Ktlint 0.48.2
* [#694] Ktlint 0.48.2
2023-02-01 13:50:24 +01:00
Carter Jernigan 6e85764f74
[#346][#304] Configure Crashlytics and analytics opt-out 2023-01-26 14:12:44 -05:00
Carter Jernigan 5d59420fb1 [#729] Androidx updates 2023-01-18 11:59:19 -05:00
Alex b84df3d9dc
[#592] Instrumentation coverage
Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2023-01-17 14:54:40 -05:00
Carter Jernigan 193b376fe3
[#581] Switch to Play app update library
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2023-01-17 11:43:22 -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
Carter Jernigan 4f7c10f4b5
[#634] Stop synchronizer when leaving app
* [#634] Collect flows with lifecycle awareness

* [#686] Adopt SDK 1.11.0
2022-12-22 09:38:02 +01:00
Honza Rychnovsky a8308bd492
[#693] Ktlint 0.48.0
* Bump version 0.48.0

* Move config file to /tools

+ global suppress

* Local suppress of no-semi

* Minor indentation fix
2022-12-19 18:58:43 +01:00
Alex 9150f80b9d
implementation of push and hold to send zec (#641)
* [#249] Implement Press-And-Hold To Confirm Sending ZEC

* Remove default value for interaction source

* Rename interaction source argument

* removed dependency of ui-design-lib on sdkExtLib

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-12-02 10:54:06 +01:00
Alex 6c6339fb41
[#600]Improve UX of wallet restore screen (#671)
* [#600]Improve UX of wallet restore screen

* implemented suggestions from Geffen

* fixed test
2022-12-01 12:31:02 +01: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
Honza Rychnovsky 381af575ef
[#653] Refactor Backup flow screens
* [#653] Move copy to buffer action

- Trigger this action after seed phrase panel click and confirm via dialog window
- Added basic ui tests
- Added also dialog integration test
- Added related strings

* Revert "[#653] Move copy to buffer action"

This reverts commit 813eab00b747a779be5ef652745002f65c04572c.

* [#150] Refactoring the Backup flow to use Compose Scaffold

* Fix Backup flow screenshot test

- Removed scroll actions above nodes, which are no longer part of scroll behaviour - bottom navigation buttons are now part of Compose Scaffold component.

* Added scroll actions in screenshot test of Profile screen

- After tested the whole app with screenshot test on smaller screen device 4WVGA Nexus S

* Remove unnecessary screenshot test click action

- This click action on the Profile screen title seems to be unnecessary for the test and creates confusion

* ScreenshotTest module auto components init

- Changed the way we auto-initialize components in ScreenshotTest module
- Now we use androidx-startup library for it
- And we disabled the default way

* Add system back button navigation support

* Enable scrolling for Backup Test screen

* Fix Screenshot test on small screen in landscape

- Tested and fixed cases in which our screenshot test wasn't successful
- Tested on 4 WVGA Nexus S in landscpae mode

* Code clean

* Address review comments + stages refactoring

- Flattened BackupStage sealed class. Test and Failure are now regular stages.
- Introduced CheckSeed stage, instead of reusing Seed phrase for re-viewing.
- Simplified BackupView and custom Saver implementations.
- List of possible screen state stages is now lazy loaded value, instead of method.
- Some of the stages now override stage moving methods to enhance Backup screen state machine, as it's not linear.
- Existing tests updated to align with the new implementation of stages.

* Remove `run` block

* Rename CheckSeed -> ReviewSeed

Check might imply to another reader of the code that there is some going back to the test.  I went with the word Review which seems to better convey how that screen is passive for the user.

* Simplify list construction

This should have better performance.

* Crash instead of allowing back navigation

* Add documentation

* Fix initialization error

* Add non-localized string tag

Co-authored-by: Carter Jernigan <git@carterjernigan.com>
2022-11-23 08:17:06 +01:00