Commit Graph

456 Commits

Author SHA1 Message Date
Honza Rychnovský 2129adaa8d
[#1595] Build Request ZEC Uri Consume Part (#1642)
* Payment Request screen logic update

* Scan view model implementation

* Zip321 Uri parsing and passing around screens

* Pass PaymentRequestArguments

* Fixed screens navigation

* Screen balances UI part

* Address UI part

* Address UI part + logic

* Memo UI part

* Amounts UI part

* Add stages and send logic with authentication

* Send transaction error handling

* Code analysis warnings fix

* Tests update

* Changelogs

* [#1595] QR code design update

* Address review comments

---------

Co-authored-by: Milan Cerovsky <milan@z.cash>
2024-10-21 21:11:10 +02:00
Milan 711feb4251
Remote address book storage disabled & address book removal (#1639)
* Commented out address book

* Commented out address book

* Address book deletion
2024-10-18 09:43:25 +02:00
Milan 8652b91a99
Issue 1630 global design update (#1638)
* [#1630] Buttons replaced

Closes #1630

* [#1630] Grid background removed

Closes #1630

* [#1630] Sharp boxes replaced

Closes #1630

* [#1629] Onboarding redesign

Closes #1629

* [#1630] Content spacing

Closes #1630

* [#1630] Code cleanup

Closes #1630

* [#1630] Documentation

Closes #1630

* [#1630] Code cleanup

* [#1630] Text updates

* [#1630] Text updates

* [#1630] Test hotfix

* [#1630] Test hotfix
2024-10-18 09:43:06 +02:00
Milan d6f630cab8
[#1568] Integrations screen (#1637)
* [#1568] Integrations screen

Closes #1568

* [#1568] Icon added to integrations list item

Closes #1568

* [#1568] Test hotfix

Closes #1568

* [#1568] Code cleanup

Closes #1568

* [#1568] Code cleanup

Closes #1568
2024-10-17 13:07:50 +02:00
Honza Rychnovský 0e67d826d3
[#1595] Request ZEC flow (QR generation) 2024-10-17 12:13:19 +02:00
Milan 624bee88ef
Address book remote storage implementation (#1632)
* Address book remote storage implementation

* Code cleanup

* Biometrics enabled

* Error handling

* Code cleanup

* Merging strategy

* Offline bugfixes

* Code cleanup

* Performance update for address book CRUD

* Performance update for transaction history

* Proguard update

* Documentation update

* Documentation update
2024-10-16 11:12:03 +02:00
Milan 2345a40c3b
Fixed address book field state handling (#1625) 2024-10-09 11:10:01 +02:00
Milan 1e275fe634
Adress book local storage (#1623)
* Address book local storage architecture

* Address book local storage implementation

* Code cleanup

* Unused parameter suppression

* Code cleanup

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-10-08 16:52:36 +02:00
Milan 9b30346504
Scan QR screen redesign (#1616)
* Scan QR screen redesign

* Corners update

* Test hotfix

* Design hotfix

* Design hotfix

* Test hotfix

* Test hotfix
2024-10-08 15:59:52 +02:00
Milan d3f85631ac
Send address book and scan contact qr (#1615)
* Scan QR logic

* Send address book logic

* Documentation update

* Resources update

* Test hotfix

* Confirmation Screen contact name information

* Confirmation Screen contact name information

* Address Book ellipsis

* Code cleanup

* Test hotfix

* Code cleanup

* Test hotfix
2024-10-08 13:03:53 +02:00
Honza Rychnovský c6257d8412
[#1612] QR Code screen
* Refactor Receive screen architecture

- Added QrCodeScreen architecture and basic UI

* QrCode Detail screen UI + logic

* Improve share intent

+ Attach snackbar to the failed sharing attempt
+ Fix tests

* Changelogs update

* Ktlint warnings fix
2024-10-08 09:46:42 +02:00
Milan 1fedce1cff
Feature/address book (#1614)
* [#1564] Send screen redesign (#1601)

* [#1564] Send screen redesign

Closes #1564
Closes #1580

* [#1564] Test hotfix

Closes #1564
Closes #1580

* [#1564] Test hotfix

* [#1564] Bugfixes and code cleanup

* [#1564] Focus handling

* Address Book UI (#1606)

* Address Book UI

* Design hotfix

* Code cleanup

* Test hotfix

* Confirmation screen redesign (#1602)

* Confirmation screen redesign

* Documentation update

* Design hotfixes

* History item redesign (#1603)

* History item redesign

* Empty Memo message removed

* Hidden fee for a receiving transaction

* Address Book, Add Contact & Update Contact logic (#1610)

* Address Book Screen logic

* Add New Contact screen logic

* Update Contact screen logic

* Code cleanup

* Code cleanup
2024-10-03 17:40:19 +02:00
Honza Rychnovský 519b48b524
[#1574] Update Receive screen UI
* [#1574] Receive screen redesign

Initial changes

* Remove adjust brightness feature

* Hamburger icon change

* Basic address panel UI

+ necessary resource

* Final design

* Changelogs update

* Tests fix

* Fix screenshot testing

* Improve addresses panel animation
2024-10-03 17:03:30 +02:00
Honza Rychnovský 259ec2ce97
[#1608] Release 1.2 (739)
* Adopt SDK version with removed BlockHeight check

* [#1608] Release 1.2 (739)

- Adopted the Zcash SDK 2.2.5-SNAPSHOT version
- Changelogs update
- Closes #1608

* WhatsNew changelog update
2024-09-27 14:12:01 +02:00
Milan 2df8126454
New compose design system (#1596)
* New compose design system

* Code cleanup

* Documentation update

* Code cleanup

* Code cleanup
2024-09-23 11:01:43 +02:00
Honza Rychnovský 8e24a2273c
[#1597] Improve EmailUtils Intent for more clients
- Closes #1597
- Changelogs update
2024-09-20 08:55:57 +02:00
Honza Rychnovský c2cd2404e7
[#1593] Add Report action to Error dialogs
* [#1593] Add Report action to Error dialogs

- Closes #1593
- These changes cover sent funds, shield transparent funds, and sync errors and their dialogs
- Changelogs update

* Fix Detekt warning

* Fix tests setup
2024-09-19 10:12:33 +02:00
Honza Rychnovský d3c29ee710
[#1591] Send.Form Memo field improvements
- Closes #1591
- Changelog update
2024-09-18 14:14:57 +02:00
Honza Rychnovský b8ae29a17f
Fix stacktrace printing (#1583)
* Fix stacktrace printing

* Changelog update

* Whatsnew update
2024-09-13 10:53:53 +02:00
Milan 35c01df313
[#1528] Coinbase on-ramp integration
* [#1528] Coinbase integration

Closes #1528

* [#1528] CI hotfix

Closes #1528

* Remove duplicate lines

* Improve CI scripts + variable renaming

* Remove coinbase button in testnet build

* Update changelogs

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-09-12 18:10:54 +02:00
Milan fa9ea0c03a
Settings redesign (#1576)
* Settings redesign

Closes #1146

* Tests hotfix

* Changelogs update

* Code cleanup

* Add small padding above logo in Settings

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-09-12 09:03:38 +02:00
Milan b75836f941
[#1420] Testing Servers Responses + redesign (#1536)
* Dependency injection implementation

* Code cleanup

* Code cleanup

* Test hotfix

* [#1420] Choose Server UI refactor

* [#1420] UI refactor

* [#1420] Code cleanup

* [#1420] SDK integration

* [#1420] Choose server redesign

Closes #1420

* [#1420] Code cleanup

Closes #1420

* #1420 Design updates

Closes #1420

* #1420 Design updates

Closes #1420

* #1420 Code cleanup

Closes #1420

* #1420 Code cleanup

Closes #1420

* #1420 Code cleanup

Closes #1420

* #1420 Design hotfixes

Closes #1420

* #1420 Design hotfixes

Closes #1420

* #1420 Code cleanup

Closes #1420

* #1420 Design hotfixes

Closes #1420

* #1420 Design hotfixes

Closes #1420

* Remove unnecessary supression

* Remove unnecessary dependency

- We link these by the command api(libs.bundles.koin) above

* [#1420] Code cleanup

Closes #1420

* Changelogs update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-09-11 11:08:27 +02:00
Honza Rychnovský 44deb1ce59
[#1419] TRX Resubmission
* [#1419] Trx resubmission

- Closes #1419
- Changelogs update
- These changes improve the texts for not grpc transaction error, too

* Fix ktlint warning
2024-09-10 17:57:43 +02:00
Honza Rychnovský 13108ca9f5
[#1569] Release 1.1.7 (717)
* Make fiat widget paddings smaller

* Remove LocaleExt

* Adopt latest Zcash SDK changes

- These changes adopt the latest Zcash SDK snapshot changes that bring simplification in zec and fiat APIs localization
- Fixes bug of requesting fiat for non-english device locale
- Closes #1569
- Closes #1171 too

* Target Zcash SDK 2.2.3-SNAPSHOT

* Changelogs update

* Remove unnecessary import

* Code cleanup
2024-09-06 15:47:11 +02:00
Milan d29b0f7bb2
Dependency injection implementation (#1513)
* Dependency injection implementation

* Code cleanup

* Code cleanup

* Test hotfix

* Code cleanup

* Code cleanup

* Code cleanup

* Merge dependencies to bundle

* Changelog update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-09-04 15:36:59 +02:00
Milan 23603dcd29
Activity Compose Composition Strategy handling (#1556)
* Activity Compose Composition Strategy handling

* Change visibility

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-09-04 15:13:00 +02:00
Honza Rychnovský 52d355a271
[#1557] Release 1.1.6 (712)
* [#1557] Release 1.1.6 (712)

- Closes #1557
- Changelogs update

* WhatsNew update

* Updated WHATS_NEW_EN.md

final update to the release notes

* Documentation update

* Currency conversion floating point hotfix

* Fix empty SDK error stacktrace

* Remove included build locale path

* Revert "Currency conversion floating point hotfix"

This reverts commit 7b808c53c8.

* Revert MIN_SDK_VERSION back to 27

As the bug was fixed inside the Rust side of the Zcash SDK

* Bump Zcash SDK to latest v2.2.2

- Which brings SQLite DB access fixes

* Changelog update

* Fix cloud testing setup

- Reverting previously changed Testlab values and updating the Emulator values to more recent

* Updated WHATS_NEW_EN.md

---------

Co-authored-by: Andrea Kobrlova <109794238+true-jared@users.noreply.github.com>
Co-authored-by: Milan Cerovsky <milan@z.cash>
2024-09-04 13:29:41 +02:00
Milan a9e8c102c9
Exchange rate implementation (#1540)
* Adopt TEX addresses related changes

* Exchange Rates implementation

Closes #532
Closes #578

* Send Review Screen design change

Closes #532
Closes #578

* Code cleanup

Closes #532
Closes #578

* Exchange rate implementation

* Exchange rate implementation

* Exchange rate design implementation

* Exchange rate design implementation

* Exchange Rate redesign

* Code cleanup

* Design hotfix

* Design hotfix

* Disabling of usd text field

* Sort new dependencies

* Code cleanup

* Code cleanup

* Test hotfixes

* Link TODO issue

* Unify MockSynchronizer functions report

* New navigation target

* Code cleanup

* Send screen amount focus handling

* Code cleanup

* Fix test fixtures

* Design hotfix

* Code cleanup

* Test hotfixes

* Test hotfixes

* Activity Compose Composition Strategy handling

* Revert "Activity Compose Composition Strategy handling"

This reverts commit be8ed7a8ad.

* Test hotfixes

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-08-23 07:58:27 +02:00
Honza Rychnovský 76a89c9b91
[#1538] Adopt TEX addresses related changes (#1539)
* Adopt TEX addresses related changes

* Send screen keyboard ime action handling

* Send screen amount handling for tex addresses

* Dependency update

* Test hotfixes

* Test hotfixes

* Code cleanup

* Test hotfix

* Test hotfix

* Min api bump

* Test hotfixes

---------

Co-authored-by: Milan Cerovsky <milan@z.cash>
2024-08-23 06:00:36 +02:00
Honza Rychnovský c9875c0732
[#1547] Adopt latest Zcash SDK v2.1.3
* [#1547] Adopt latest Zcash SDK v2.1.3

- Closes #1547
- Changelogs update

* Switch to production Zcash SDK 2.1.3
2024-08-09 08:47:37 +02:00
Milan fb138c2412
[#234] AppCompat removal (#1509)
* [#234] AppCompat removal

Closes #234

* [#234] Crash fix

Closes #234

* Changelog update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-22 15:24:14 +02:00
Milan 906873b6fb
Activity configuration handling (#1511)
* Activity configuration handling

* Code cleanup

* Changelog update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-22 12:31:50 +02:00
Milan a503091ab2
QR scanner better cropping & support for inverted colors
* QR scanner fixes

* QR cropping

* Code cleanup

* Scanning frame offsets change

* Changelog update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-19 14:28:59 +02:00
Milan 741601b65f
[#1467] Activity resizing according to soft keyboard (#1506)
* [#1467] Activity resizing according to soft keyboard

Closes #1467

* [#1467] Seed keyboard handling

* [#1467] Seed keyboard handling

Closes #1467

* [#1467] Documentation update

* TODO reference

* [#1467] Documentation update

Closes #1467

* [#1467] Detekt fix

Closes #1467

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-19 12:00:50 +02:00
Milan 0bc7757aa2
[#1492] Restore success dialog refactor (#1507)
* [#1492] Restore success dialog refactor

Closes #1492

* [#1492] Code cleanup

Closes #1492

* Create a separate Android layer

* Changelog update

* Move restore success string resources

* Rename logic related variables

+ File a follow-up issue

* Resources rename

* Move drawable to its package

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-19 10:17:45 +02:00
Milan 1a0b634ab6
[#1499] StyledBalance configuration defaults added
* [#1499] StyledBalance configuration defaults added

Closes #1499

* [#1499] Code cleanup

Closes #1499

* Rename model paramaters

As the floating point is not the diving point for the different styles

* Changelog update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-18 14:07:15 +02:00
Milan 23e1bb7e75
[#1440][#1415] In-app update information - What's New screen
* [#1440] Inject in-app-update information

* [#1415] What's new screen

Closes #1415

* [#1415] Code cleanup

Closes #1415

* [#1415] Test hotfix

Closes #1415

* Clear What’s New docummentation

* Improve parser logic

So it’s able to parse the first changelog entry or the first unfinished one (i.e. [Unreleased] entries only)

* Order alphabetically

* [#1440] About redesign

* Changelog update

* Use of small button style on About

- Primary button’s parameters have been slightly changed, too

* Add IN_APP_UPDATE_PRIORITY to gradle.properties

* Rename functions

To align with the existing pattern

* Sort alphabetically

* Add ChangelogFixture

* Create ChangelogFixture

* Move navigation from Android layer to Navigation

* Fix changelog parsing

This way, it will also work with `-` in the middle of the sentence. With such a solution, we need to ensure the `\n-` characters sequence in every changelog entry. But it’s replaced by the bullet character at the end. It will work for Google Play within in-app updates, as well.

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-07-18 10:48:02 +02:00
Honza Rychnovský bbf730d8f5
[#1414] Hide Balances
* [#1414] Hide Balances

- Closes #1414
- Reworked TopAppBar back navigation-related parameters across the app to enable us to inject a different action - hide balances instead of just the back navigation
- Tests updated to reflect the above changes
- A simple new button UI test was added, too
- Changelog update
2024-07-03 15:29:49 +02:00
Milan 42deed3391
#814 Compose back handler (#1494)
* #814 Compose back handler

Closes #814

* #814 Test hotfixes

Closes #814

* Back handling for onboarding

Closes #814

* [#814] Changelog update

Closes #814

---------

Co-authored-by: Milan Cerovsky <milan.cerovsky@leeaf.life>
2024-07-01 12:44:51 +02:00
Honza Rychnovský 508552f0fa
[#1496] Authentication success after previous failure
- Closes #1496
- The onFailed callback now does not reset the helper compose variable anymore
- Toast duration shortened in the auth failed state to improve its UX
- Changelog update
2024-06-28 16:23:45 +02:00
Honza Rychnovský e1ab2e2af6
[#1047] Consistent Zatoshi amounts representation
* [#1047] Consistent Zatoshi amounts representation

- Closes #1047
- Tests
- Changelog update

* Address review comment
2024-06-27 16:00:07 +02:00
Milan 31649ff718
[#1413] [#1460] [#1461] QR code scanning from gallery picker (#1479)
* [#1413] [#1460] [#1461] QR code scanning from gallery picker

Closes #1413
Closes #1460
Closes #1461

* [#1413] [#1460] [#1461] Code cleanup

* [#1413] [#1460] [#1461] Camera scan frame anchored to a static view

Closes #1413
Closes #1460
Closes #1461

* [#1413] [#1460] [#1461] Code cleanup

Closes #1413
Closes #1460
Closes #1461

* Changelog update

- Unrelated change: this commit also removes a log from Navigation that was introduced in some of the previous changes and does not describe the actual execution state

---------

Co-authored-by: Milan Cerovsky <milan.cerovsky@leeaf.life>
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-06-21 10:36:45 +02:00
Honza Rychnovský 987595eaa2
[#1011] Dark mode
* [#1011] Rework buttons design system

* [#1011] Dark mode in Onboarding screen

* [#1011] Welcome animation dark mode

* [#1011] SecurityWarning screen dark mode

+ Proper coloring of the labeled checkbox across the app

* [#1011] NewWalletRecovery dark mode

+ Chip and ChipGrid coloring
+ Navigation button and Dialog coloring
+ NewWalletRecovery screen button copy update

* [#1011] RestoreView dark mode

+ Chip components coloring

* [#1011] RestoreView.Birthday dark mode

+ Fix Primary/Secondary colors

* [#1011] Settings screen dark mode

- Fix TopAppBar colors in dark mode

* [#1011] Support screen dark mode

* Fix static code analysis warnings

* [#1011] About screen dark mode

* [#1011] ChooseServer screen dark mode

+ LabeledRadioButton coloring
- Closes #1410

* [#1011] AppAlertDialog dark mode

* [#1011] Not Enough Free Space screen dark mode

- Screen redesigned to align with latest design specifications
- Added Go To System Settings and Go To App Settings buttons to the screen
- Closes #1337
- Few unused resources removed

* [#1011] App Update screen dark mode

* [#1011] Balances screen dark mode

+ dividers’ color review

* [#1011] Receive screen dark mode

* [#1011] Send.Form screen dark mode

* [#1011] Send.Confirmation screen dark mode

* [#1011] Send.MultipleTrxError screen dark mode

* [#1011] Scan screen dark mode

* [#1011] TransactionHistory screen dark mode

* Changelog update

* Address review comments
2024-06-19 14:09:28 +02:00
Milan-Nerevar 4cdb9f3024
[#1412] Receive Page split into horizontal pager
* ISSUE-1412 Receive Page split into horizontal pager

* ISSUE-1412 Code cleanup

* ISSUE-1412 Code cleanup

* Resolve code analysis warnings

* Improve vertical paddings

- So the entire screen is scrollable as expected
- This also moves us towards the newly updated screen design

---------

Co-authored-by: Milan Cerovsky <milan.cerovsky@leeaf.life>
Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-06-14 15:59:17 +02:00
Serhii Ihnatiev 0a35c4fffd
[#1259] Add bubble message component
* [#1259] - Add bubble message component

- Closes #1418
- Wrap history and send message fields in bubble style
- Update changelog

* Change bubble message component file name

* Apply bubble design to SendConfirmationView

* Use different design for sent and received history transactions

* Simplify Send transaction recognition

* Color bubble arrow in transparent receiver case

---------

Co-authored-by: Serhii Ihnatiev <serhii.ihnatiev@ext.grandcentrix.net>
Co-authored-by: Honza Rychnovský <rychnovsky.honza@gmail.com>
2024-06-14 08:54:20 +02:00
Serhii Ihnatiev 34e741e3b3
[#1418] Display all transaction messages
* [#1418] - Display all transaction messages as separate items

- Closes #1418
- Fix new line indent
- Mention functionality in the changelog
- Use plurals for title when displaying transaction history messages

---------

Co-authored-by: Serhii Ihnatiev <serhii.ihnatiev@ext.grandcentrix.net>
2024-06-14 07:33:56 +02:00
Honza Rychnovský 6f878ea609
[#1463] Display Disconnected app state
- Closes #1463
- Disconnected dialog text update
- Changelog updated
2024-06-05 12:52:43 +02:00
Honza Rychnovský d813c1a9da
[#1458] Detect unavailable service and show a dialog
* [#1458] Detect unavailable service and show a dialog

- Closes #1458
- Changelog update

* Provide unsorted trx list when disconnected

- These changes also improve the app’s ability to use the SDK’s APIs to provide a transaction history list, even in a disconnected state. In such a case, the list is sorted by its original order.
- Changelog update
2024-06-03 18:41:06 +02:00
Honza Rychnovský 75e90607d1
[#1456] runCreateTransactions on lifecycleScope
- Closes #1456
- Also, these changes leverage updated snapshot Zcash SDK version  2.1.2
- Changelog update
2024-06-03 08:12:07 +02:00
Honza Rychnovský 030d2e20b0
[#1085] Grid pattern in the screen background
- Closes #1085
- Closes #1091
- These are prerequisites for the Dark mode adoption within #1011
- A few unused UI components have been removed to simplify the dark mode adoption
- BlankSurface and GridSurface have been added and used instead of the previous GradientSurface
- A new BlankBgScaffold, GridBgScaffold, BlankBgColumn, and GridBgColumn UI components have been prepared to provide an easy grid or blank screen background adoption across the whole app
- Several colors from resources have been eliminated, as the design doc simplified its color palette
- The grid pattern has been added to the screens according to the design doc and iOS platform
- Changelog updated
2024-05-30 13:32:35 +02:00
Honza Rychnovský 7e9e89725b
[#1449] Display Synchronizer details in dialog
- Closes #1449
- Synchronizer status details are now available to users by pressing the simple status view. The details are displayed within the predefined Zashi dialog on the Balances and Account screens
- As this view also presents information about Zashi app updates available on Google Play, by pressing the view, the app redirects users to Google Play Zashi’s page
- As agreed, we’re moving towards more rounded corners in dialogs, which is part of these changes, too
- Added also several minor Balances screen UI improvements
- Improved biometric flow without any authentication method set on older Android versions
- Changelog update
2024-05-24 10:41:57 +02:00
Honza Rychnovský 00db536674
[#1417] Add in-app authentication
* [#1417] Add authentication

- Closes #1417
- Closes #326
- Partially addresses [Electric-Coin-Company/zashi#7] too
- Creates reusable AuthenticationVM component with all necessary logic that reports authentication status to its callers
- Addresses authentication requirements for the Send funds, Delete wallet, Export private data, and Recovery phrase. The App access authentication use case is prepared and can be turned on anytime.
- The new logic also counts with possible future user customization via the app UI of the default on/off states for all implemented authentication use cases
- Send.Confirmation logic simplification
- This also adds the welcome screen (splash) animation to all the app entry points (the app recreation caused by system included)

* Allow unauthenticated access

- In case no authentication method is available on the device

* Build supported authenticators for the device

- Based on the device Android SDK version

* Disable broken screenshot testing

- This is a temporary change until #1448 is addressed

* Changelog update

* Add temporary placeholder screenshot test

To suppress no test error
2024-05-22 15:59:38 +02:00
Honza Rychnovský a97b71d922
[#1338] Redesign Update-Available screen
- Closes  #1338
- Changelog update
2024-05-07 16:57:45 +02:00
Honza Rychnovský 6c3307748a
Improve delete wallet app state reset (#1438) 2024-05-06 19:29:50 +02:00
Honza Rychnovský c3cf711ee6
[#1382] Improve Onboarding screen dynamic height calculation
- Closes #1382
- Changelog update
2024-05-06 18:54:52 +02:00
Honza Rychnovský 5c21a776d5
[#1434] Improve Shielding UX
* [#1434] Improve Shielding UX

- Closes #1434
- Changelog update

* Trigger balances refresh after sending too
2024-05-06 16:33:31 +02:00
Honza Rychnovský 6160554d64
[#1431] Minor UI improvements
* [#1431] Minor UI improvements

- Account - syncing bar vertical paddings too big

* Add missing bottom padding on About

* Changelog update

* Improve OS info in the support email template

* [#1348] Update restore wallet text field copy

Closes #1348
2024-05-03 13:53:10 +02:00
Honza Rychnovský 2828c25c21
[#1350] No message included in transaction
- Closes #1350
2024-05-03 10:15:59 +02:00
Honza Rychnovský e2ddebe47c
[#1429] Deduplicate messages on transaction
- Closes #1429
- Changelog update
2024-05-02 12:53:21 +02:00
Honza Rychnovský 448177c2d1
[#1427] Do not concatenate memos
- Closes #1427
- Changelog update
2024-05-02 12:37:50 +02:00
Honza Rychnovský 09febc6ff1
[#1425] Improve Balances widget loader logic
- Closes #1425
- Changelog update
2024-05-02 12:04:49 +02:00
Honza Rychnovský a1cf59f9b2
[#1407] Add Delete wallet feature
- Closes #1407
- Changelog update
- Link a new snapshot version of the Zcash SDK
2024-05-02 10:07:28 +02:00
Honza Rychnovský b0ccdef6e3
Fix server selection in Restore wallet flow (#1404) 2024-04-26 16:42:54 +02:00
Honza Rychnovský 9b2bad6f10
Add zec.rocks lightwalletd server options (#1401)
- Default wallet option changed to zec.rocks:443
- Changleog update
2024-04-26 13:02:07 +02:00
Honza Rychnovský 2ac9f5ebd4
Add more servers to the list (#1394)
- 8 more servers added to the list
- Order of servers changed to show default as 1st, custom as 2nd
2024-04-24 18:47:23 +02:00
Honza Rychnovský d9565e68e0
Remove unused resources (#1390) 2024-04-23 18:08:58 +02:00
Honza Rychnovský 45ca274f98
Display only 3 decimals within fee amount (#1387)
- The proper solution will be added with #1047
2024-04-23 13:30:11 +02:00
Honza Rychnovský 66ba050719
Scroll to Send button (#1386) 2024-04-23 13:29:12 +02:00
Honza Rychnovský 1ffbaf986f
[#1284] Rework Scan screen
- Closes #1284
- Closes #423
- Closes #437
- Changelog update
2024-04-23 10:05:15 +02:00
Honza Rychnovský dd371348eb
[#372] Improve scrolling on Onboarding
* [#372] Improve scrolling on Onboarding

- Closes #372
- All screens were checked
- The Onboarding screen behavior on very small screens improved
- Tested with Split screen OS feature to emulate a very small screen

* Fixed status and navigation bars height
2024-04-23 08:45:27 +02:00
Honza Rychnovský 551055e65c
[#1291] Balances hint box copy update
Closes #1291
2024-04-23 08:43:48 +02:00
Honza Rychnovský 786c8c2cab
[#1371] Improve Balances widget loader logic
- Closes #1371
- This also covers the security audit recommendation: 4.2.14 (App) This comment in WalletSnapshot.kt should be ticketed
2024-04-23 08:42:34 +02:00
Honza Rychnovský fb5d446bab
[#1367] Send 0 funds only within shielded transaction
- Closes #1367
- Plus slightly refactored SendForm composable to two functions
- Changelog update
2024-04-23 08:39:40 +02:00
Honza Rychnovský e92c0b613c
[#1359] Remove fixed US locale
* [#1359]: Use default Locale in PercentDecimal

* Intended use of Local.US

* Use default Locale in Transaction history dates

* Use default Locale in Balance widget

* Use default Locale in Send tests

* Use default Locale in WalletDisplayValues.kt
2024-04-18 13:05:32 +02:00
Honza Rychnovský afd47e513e
[#1352] Remove test fixture values ZIP321
- Addresses issue J from the security audit: Payment URI parser uses a test fixture address
- This also removes unused Request screen with its logic and tests
- Closes #1352
2024-04-18 08:10:08 +02:00
Honza Rychnovský dc955d6ee3
[#1342] Dependency update
* [#1342] Bip-39 1.0.8-SNAPSHOT

* Gradle versions 0.51.0

* Ktlint 1.2.1

* Kotlin 1.9.23 + Compose Compiler 1.5.11

* Gradle 8.7

* compose Activity 1.8.2

* AndroidX Annotation 1.7.1

* Test Macrobenchmark 1.2.3

* Compose 1.6.5

* AndroidX Core 1.12.0

* AndroidX Lifecycle 2.7.0

* Uiautomator 2.3.0

* Accompanist Permission 0.34.0

* Firebase Bom 32.8.1

* Google Play Service Plugin 4.4.1 + Firebase CL Tools 4.4.1

* UiAutomater version fix

* Zxing 3.5.3

* Detekt 1.23.6 + Detekt Compose 0.3.15

* Kotlin Immutable Collections 0.3.7

* Emulator Wtf Gradle Plugin 0.16.2

* Changelog update

[skip ci]

* Bip-39 1.0.8

* AGP 8.3.0

* Jacoco 0.8.12
2024-04-15 17:46:49 +02:00
Honza Rychnovský 47937ffabc
Show initial restoring dialog (#1335) 2024-04-12 15:02:44 +02:00
Honza Rychnovský cad8e48bf8
[#1319] Restoring state UI in Account and Balances (#1334)
* [#1319] Restoring state UI in Account and Balances

- Closes #1319

* [#1319] Restoring state widget in Account

- Closes #1319

* Add syncing widget to Account while restoring

* Update changelog

Plus reset the previously unreleased app record
2024-04-12 11:55:44 +02:00
Honza Rychnovský bcdf328cb4
Fix shielding state interpretation (#1333) 2024-04-10 14:41:41 +02:00
Honza Rychnovský c9308546ab
Release 0.2.0 (594) (#1330) 2024-04-09 16:20:17 +02:00
Honza Rychnovský 0d3d0c4d19
[#1263] Statuses of the sync process
- Closes #1263
- Changelog update
2024-04-09 12:19:13 +02:00
Honza Rychnovský bca1c32b8c
[#1264] Handle unavailable AccountBalance
- Closes #1264
- Changelog update
2024-04-08 12:59:03 +02:00
Honza Rychnovský b34d086cc0
Extend shielding state (#1322)
- This adds `ShieldState.Shielded` that helps us keep the correct UI state of the Transparent funds widget after the user starts shielding action
- This also brings little UI improvement in PrimaryButton sizing
2024-04-08 07:49:53 +02:00
Honza Rychnovský 8c027003cc
[#1164] Restoring UI state in TopAppBar
- Closes #1164
- This incorporates the new wallet restoring label into the custom TopAppBar UI component, so it’s accessible from all screens
- This also fixes the adjust brightness feature that previously stayed turned on when the user left to a surrounding tab screen (Send or Balances)
- Changelog update

Move DisableScreenTimeout into the parent HomeView

Persist restoring state

Fix infinite loading trx history UI state

Add New wallet syncing state

This also adds the wallet restoring state into the transaction history state calculation
2024-04-05 13:09:08 +02:00
Honza Rychnovský e398af5690
[#1317] Improve balances logic calculation
- Closes #1317
2024-04-03 14:16:51 +02:00
Honza Rychnovský 2c45ab642b
[#1162] Finish expandable trx item UI state
- Closes #1162
- Closes #1237
- Closes #1078
- This removes unused DangerousButton component and its related resources
- It fixes the Collapse button vector icon
- It brings send_failed and receive_failed states into the trx item UI
- It adds the fee part of the expandable item
- Its follow-up is #1047
- Changelog updated
2024-04-03 09:18:46 +02:00
Honza Rychnovský c8a14f0375
[#1312] Display SDK error cause in dialog
* [#1312] Display SDK error cause in dialog

- Closes #1312
- Changelog reverter as the previous release hasn’t been deployed yet due to a new bug

* Too long dialog text scrollable
2024-04-02 08:29:08 +02:00
Honza Rychnovský a8ad649ef8
[#1310] Release 0.2.0 (583)
* [#1310] Release 0.2.0 (583)

Closes #1310

* Fix valid message check
2024-03-29 21:23:39 +01:00
Honza Rychnovský 4ae3fde690
[#1162] Expandable transaction history item
Although this brings many changes to the transaction history item UI, it only partly solves Expandable transaction history item #1162
Follow-up PR will close it
2024-03-29 20:27:30 +01:00
Honza Rychnovský c99c2907b1
[#1307] Keep transaction history UI state
- Closes #1307
- Changelog update
- #1162 is the direct follow-up of this PR
2024-03-28 12:57:04 +01:00
Honza Rychnovský 809820c1f2
[#1305] Connect shielding Multi-Trx-Submit-Error
- Closes #1305
2024-03-28 10:54:51 +01:00
Honza Rychnovský 8b58233648
[#1303] Refresh transactions immediately
Closes #1303
2024-03-26 10:56:29 +01:00
Honza Rychnovský e2eb043afb
[#1294] Send Multi-Trx-Submission failure screen
- Closes #1294
- Changelog update
2024-03-25 20:50:31 +01:00
Honza Rychnovský 7f3e55cc82
[#1161] Remove Send.Success + rework Send.Failure
- Closes #1161
2024-03-21 13:02:31 +01:00
Honza Rychnovský 3845772071
[#1159] Send.Confirmation according to new design
- Closes #1159
- Closes #1269
- Closes #1073
- Its direct follow-ups are #1294 and #1161
- Other follow up is #1260
- These changes also enable having two Primary buttons side-by-side
- This adds sorting history of transactions by a new calculated height after send done
- This also changes how we treat empty transaction dates from `-` to `` in UI
- Changelog update
2024-03-21 09:57:36 +01:00
Honza Rychnovský fe5236fdae
[#1285] Adopt proposal API
* Adopt Zcash SDK v2.0.8-SNAPSHOT

* [#1285] Adopt proposal API

- Closes #1285
- Manually tested and the updated send and shield features work as expected
2024-03-15 10:05:40 +01:00
Honza Rychnovský d309da9287
[#1286] Remove Seed Copy Button
* [#1286] New wallet screen: Copy seed only in debug

* [#1286] Seed screen: Copy seed only in debug

* Changelog update
2024-03-13 15:49:10 +01:00
Honza Rychnovský d076605444
[#1162] Partial transaction history item rework
- Zcash Android SDK v2.0.7 partially adopted. Proper implementaiton will be part of the Send screens rework.
- Partially addresses #1162. More related UI changes on the transaciton history item come in a follow-up PR
- `HistoryItem` composable will be reworked to several more composables as well
- Also note that the history item amount still lacks proper formatting as filed in #1047
- Closes #1236
- Closes #1288
- Closes #1253
2024-03-13 09:56:49 +01:00
Honza Rychnovský 9a929c1109
[#1160] Trx History UI incorporated into Account
- Closes #1160
- Changelog update
2024-03-05 08:52:47 +01:00
Honza Rychnovský e000745885
[#1280] Improve button sizing
- Applied to both Primary and secondary buttons
- Changelog update
- Closes #1280
2024-03-04 18:06:44 +01:00
Honza Rychnovský 5bf7a635ff
[#1262][#1083][#1241] Privacy policy link
- Closes #1262
- Closes #1083
- Closes #1241
2024-03-04 18:01:24 +01:00
Honza Rychnovský 45ab8ce8c9
[#1242] Unified error popup UI
- Closes #1242
- This creates a reusable alert dialog UI and uses it in the server switching, shielding transparent funds, and contacting support use cases.
- This also updates the Transparent funds shielding help text according to the latest design guideline
2024-03-04 17:45:51 +01:00
Honza Rychnovský cc5f3504fe
[#1235] Server switching
- Closes #1235
- Note that failures and server saving success are reported to the UI with the Android system Snackbar or via the existing Textfield’s error bottom text until we define popup design as filed in #1242
- Changelog update
2024-03-04 16:53:30 +01:00
Honza Rychnovský c8e3a05eb9
[#1234] Advanced settings screen (#1272)
- Changelog update
- Closes #1234
2024-03-02 18:57:49 +01:00
Honza Rychnovský 7285137f2e
[#1144] Send.Form screen rework
* [#1144] Send.Form screen rework

- This follows the new Figma design. It also adds the TextFields values validation and proper UI reactions.
- Closes #340
- Closes #810
- Closes #1157
- Closes #1158
- Closes #1253
- Closes #1254
- Closes #826
- Follow-ups: #1047, #1257

* Changelog update
2024-02-27 10:13:44 +01:00
Honza Rychnovský bf618a1ba3
[#1151] Background syncing
* [#1151] Background syncing

- A periodic background block synchronization has been added. When the device is connected to the internet using an unmetered connection and is plugged into the power, the background task will start to synchronize blocks randomly between 3 and 4 a.m.
- The background worker was in place but not fully working, plus was set to trigger randomly in 24 hours
- Changelog update
- Closes #1151
- Closes #634
- Its follow-up #1249
- Its follow-up #1258
2024-02-16 22:00:18 +01:00
Honza Rychnovský 26a73f8e59
[#1166] Add shielding funds feature
* [#1166] Add shielding funds feature

- Changelog updated
- Closes #1127
- Closes #1166
- Related #238
2024-02-13 09:30:51 +01:00
Honza Rychnovský cc333ea902
[#1165] Syncing progressbar
* [#1165] Syncing progressbar

-  UI + logic + tests
- Closes  #1165

* Changelog update
2024-02-08 11:28:00 +01:00
Honza Rychnovský 1058802b19
[#1219] Current balances UI
* [#1219] Current balances UI

- This represents UI changes for balance, change, and transaction on the Balances screen
- Reworked StyledBalance to be more reusable, too
- Adopted the latest SDK changes related to change pending and pending transactions
- Closes #1224
- Closes #1219

* Adopted latest SDK snapshot version
2024-02-07 18:28:26 +01:00
Honza Rychnovský c5efcabf4c
[#1216] Home screen tabs UI improvements
Closing #1216
2024-02-01 19:36:44 +01:00
Honza Rychnovský 392689e676
[#1032] Prevent font ligatures on addresses 2024-02-01 00:13:40 +01:00
Honza Rychnovský dcd2cbd177
[#1210] Release 0.2.0 (541) 2024-01-30 23:05:09 +01:00
Honza Rychnovský b79739db0c
[#1206] Clear focus on Send Form
* [#1206] Clear focus on Send Form

- Closes #1206
2024-01-28 01:28:27 +01:00
Honza Rychnovský 3240c3baa8
[#1196] Balances widget on Balances screen
* [#1196] Integrate Balances widget to Balances

- Closing #1196
- Changelog update
2024-01-28 01:26:11 +01:00
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