Commit Graph

36 Commits

Author SHA1 Message Date
Milan Cerovsky 8f526602ce Error handling 2025-04-14 13:09:22 +02:00
Milan Cerovsky c45d672995 Message persistence 2025-04-10 20:38:39 +02:00
Milan Cerovsky d6d500eaed Home messages business logic, wallet info removed from status bar and general refactoring 2025-04-10 12:53:34 +02:00
Milan Cerovsky 2f12bea435 Home messages and dialogs UI 2025-04-04 12:15:12 +02:00
Milan Cerovsky 6ce230cba0 Merge branch 'main' into feature/home-onboarding-redesign
# Conflicts:
#	configuration-api-lib/src/commonMain/kotlin/co/electriccoin/zcash/configuration/api/MergingConfigurationProvider.kt
#	sdk-ext-lib/src/main/java/cash/z/ecc/sdk/model/SeedPhraseValidation.kt
#	ui-design-lib/src/main/java/co/electriccoin/zcash/ui/design/component/TextField.kt
#	ui-lib/src/androidTest/java/co/electriccoin/zcash/ui/screen/account/view/AccountViewTest.kt
#	ui-lib/src/androidTest/java/co/electriccoin/zcash/ui/screen/balances/view/BalancesViewTest.kt
#	ui-lib/src/androidTest/java/co/electriccoin/zcash/ui/screen/restore/view/RestoreViewTest.kt
#	ui-lib/src/androidTest/java/co/electriccoin/zcash/ui/screen/securitywarning/view/SecurityWarningViewTestSetup.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/NavigationRouter.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/common/compose/SynchronizationStatus.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/common/repository/ExchangeRateRepository.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/common/repository/MetadataRepository.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/common/repository/WalletRepository.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/common/usecase/GetCurrentFilteredTransactionsUseCase.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/common/usecase/GetTransactionDetailByIdUseCase.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/common/usecase/GetWalletAccountsUseCase.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/common/usecase/Zip321ParseUriValidationUseCase.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/common/viewmodel/WalletViewModel.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/account/AndroidAccount.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/account/view/AccountView.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/accountlist/viewmodel/AccountListViewModel.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/advancedsettings/AndroidAdvancedSettings.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/authentication/AndroidAuthentication.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/balances/AndroidBalances.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/balances/model/WalletDisplayValues.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/balances/view/BalancesView.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/home/AndroidHome.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/home/view/HomeView.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/integrations/AndroidIntegrations.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/integrations/viewmodel/IntegrationsViewModel.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/restore/AndroidRestore.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/restore/model/ParseResult.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/restore/state/RestoreState.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/restore/state/WordList.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/restore/view/RestoreView.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/restore/viewmodel/RestoreViewModel.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/scan/AndroidScan.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/scan/model/ScanResultState.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/securitywarning/AndroidSecurityWarning.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/securitywarning/view/SecurityWarningView.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/seed/SeedRecoveryView.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/transactiondetail/TransactionDetailViewModel.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/transactionfilters/viewmodel/TransactionFiltersViewModel.kt
#	ui-screenshot-test/src/main/java/co/electroniccoin/zcash/ui/screenshot/ScreenshotTest.kt
2025-04-02 13:17:32 +02:00
Milan Cerovsky 38d3dfefd8 App hotfixes 2025-03-31 14:56:11 +02:00
Milan Cerovsky 11c2341022 Recovery seed screen redesigned 2025-03-25 17:22:24 +01:00
Milan Cerovsky 3ee0934e52 Restore estimation design added 2025-03-13 09:41:20 +01:00
Honza bc0481e590 Koin 4.0.2 2025-03-13 09:39:58 +01:00
Milan Cerovsky 43e1c36dfb Year-month date picker implementation 2025-03-12 19:38:15 +01:00
Milan Cerovsky cee77ea0f9 Restore redesign 2025-03-11 19:53:30 +01:00
Milan Cerovsky 3ff1df9d0d Home redesign 2025-03-07 13:37:37 +01:00
Milan dbd40183d0
Tax export (#1774)
* Tax export

* Code cleanup
2025-02-26 09:04:09 +01:00
Milan Cerovsky 7d48e1590f Merge branch 'main' into feature/redesign
# Conflicts:
#	CHANGELOG.md
#	app/src/main/java/co/electriccoin/zcash/app/ZcashApplication.kt
#	settings.gradle.kts
#	ui-lib/build.gradle.kts
#	ui-lib/src/main/java/co/electriccoin/zcash/di/UseCaseModule.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/account/view/HistoryView.kt
#	ui-lib/src/main/java/co/electriccoin/zcash/ui/screen/settings/viewmodel/SettingsViewModel.kt
2025-02-21 10:46:48 +01:00
Honza Rychnovský aa2b38cead
F-Droid and GitHub Release support (#1787)
* F-Droid support (#1784)

* [#1768] `Zashi Foss` build type (#1769)

* [#1768] Zashi Foss build type

- Closes #1768
- Changelog updated

* Support `zcashtestnetFoss` build type provider

* Code cleanup

* Build type converted to dimension

* CI update

* Code cleanup

* Code cleanup

Closes #1763

* CI update

* CI update

---------

Co-authored-by: Milan Cerovsky <milan@z.cash>

* Support `zcashtestnetFoss` build type provider

* Remove FB Crashlytics for Debug and Foss BT

* Helper comments

Remove these helper comments before merging

* Firebase FOSS removal

* Update screen removed

* QR scanner set to zxing for foss version

* Compilation hotfix

* Foss suffix removed

* Revert "Foss suffix removed"

This reverts commit 881ef0d4d43ff4a391d31091dd4d3672770688aa.

* Version code hotfix for fdroid

* Minor alternative-stores changes (#1777)

- Fix app name
- Tests fix

* Test fdroid 855 (#1775)

Revert "#1763 Keystone confirmation flow design update (#1773)"

* Compilation hotfix

* Change default `verssionCode` back to 1

As it’s not needed for F-Droid version passing

* Change the default `versionName` format

- To align with the F-Droid requirements
- UI still displays the same format

* Checkout hotfix

* Compilation hotfix

---------

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

* GitHub Releases (#1786)

* Create release.yaml

* Update release.yaml

---------

Co-authored-by: y4ssi <11613913+y4ssi@users.noreply.github.com>
Co-authored-by: Milan Cerovsky <milan@z.cash>

* F-Droid reproducible builds (#1788)

* Uncomment `check_secrets`

* Build Foss app variant

* Remove unnecessary variables

* Add striping of non-foss files

* Update the FOSS related steps

* Versions update

* Versions update

* Fix version files path

* Fix stripping step

* Rework non-foss stripping step

* Fix stripping with sed

* Strip out plugins

* Update release.yaml

* Integrations show only when flexa and coinbase is set up

* Version name and version code artifact fix

* Pipeline signing update

* Revert "Pipeline signing update"

This reverts commit 0b509907a7.

* Fdroid stripping update

* Pipeline update for reproducible build

* Pipeline update for reproducible build

* Pipeline update for reproducible build

* Pipeline update for reproducible build

* Remove support email from gradle variables

- Moved to strings instead
- So we can leverage reproducible builds from F-Droid

* Disable dependency metadata in apks

* Fix strip step timeout

---------

Co-authored-by: Milan Cerovsky <milan@z.cash>
Co-authored-by: y4ssi <11613913+y4ssi@users.noreply.github.com>

* Update fastlane changelogs

* Changelog update

---------

Co-authored-by: Milan <milan@z.cash>
Co-authored-by: y4ssi <11613913+y4ssi@users.noreply.github.com>
2025-02-20 20:42:02 +01:00
Milan ebd02de639
Transaction metadata with note & bookmark functionality (#1753)
* Transaction metadata with note & bookmark functionality

* Test hotfix

* Transaction loading and empty states

* Transaction search logic

* Application hotfixes and performance updates

* Performance update

* Transaction note hotfix

* Add fullText filtering feature

* Fix lint warnings

* Transaction restore timestamp taken into consideration when calculating whether transaction is read or unread

* Transaction search filter

* Code cleanup

* Code cleanup

* Bugfixing

* Adopt `TransactionId` wrapper

* Metadata update

* Code cleanup

* Eye icon added to transaction detail

* Metadata serialization update

* Memory optimization

* Sort update

* Design updates

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2025-02-18 14:49:40 +01:00
Milan f8b209c44c
Transaction detail implementation (#1748)
* Transaction Detail implementation

* View transaction detail after successful transaction

* Send transaction again button functionality

* String resource handling update

* Date format handling

* Memos update

* Transaction detail memo hotfix for receive transactions
2025-01-29 14:46:26 +01:00
Milan 84b1991c81
Transaction filters (#1752)
* Transaction filters kickoff

* Initial changes UI changes

* Progress on UI changes

+ Basic WM feature

* Transaction filter logic for sent and received

* Animation update

* Fix items ripple effect + filters animation

* Switch strings from resource

* Static analysis warnings

* String ids in VM

* Fix list header vertical paddings

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2025-01-29 11:29:41 +01:00
Milan 1912f9f34e
Homepage transaction history redesign (#1738)
* Homepage transaction history redeisgn

* Detailed transaction history screen

* Code cleanup

* Code cleanup

* Design updates

* Send screen navigation

* Design update

* Test hotfixes

* Empty state handling

* Transaction title handling

* Transaction design updates

* Strings update

* Design updates

* Transaction date handling

* Test hotfix

* Design update

* Remove unnecessary reference

* Code cleanup

* Add ES translation file

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2025-01-27 15:28:55 +01:00
Milan Cerovsky 9916a346d6 Keystone code cleanup 2025-01-09 15:26:36 +01:00
Milan ef4ccbec81
Feature: Keystone integration (#1692) (#1707)
* Keystone integration (#1692)

* Keystone QR generation and reader

* Keystone account list UI

* Top app bar refactor

* Code cleanup

* Design update

* Keystone version bump

* Code cleanup

* Test hotfixes

* Code cleanup

* Keystone business logic implementation & ui elaboration (#1708)

* Keystone business logic implementation & ui elaboration

* Code cleanup

* Code cleanup

* Strings code cleanup

* Navigation refactor

* Navigation update

* Select keystone account button hotfix

* Navigation hotfix

* Wallet restoration hotfixes and optimizations

* Confirmation refactor

* Design updates

* Strings update and design updates

* Zip321 keystone integration

* Strings update

* Spanish translations

* New SDK changes integration

* New SDK version adoption

* Code cleanup

* Code cleanup

* Transaction history preparation

* Sapling address made optional

* Code cleanup

* Design updates

* Transaction hotfix

* PCZT preparation

* Settings design update

* Strings update

* Code cleanup

* PCZT integration

* Design updates

* Code cleanup

* App hotfixes

* Strings update

* Strings update

* Transparent transaction UI update

* Keystone tutorial link commented out

* Keystone exception handling

* Scan keystone progress bar

* Scan keystone performance update

* Share PCZT debug button

* Optimizations

* Add `MockSynchornizer` functions

* Try-catch address obtaining

Even though this is not the proper way we want to implement it, it fixes #1658 as a temporary solution

* Fix `ExchangeRateState` loading state

* Peformance optimizations

* Account data source exception handling

* Spanish strings updated

* Transaction progress texts updated

* Copy PCZT proposal data

* Dialog window dim fix

* Proposal proof optimization

* Proposal proof optimization

* Transaction progress shielding texts update

* Code cleanup

* Code cleanup

* Code cleanup

* PCZT progress calculation update

* KS promo

* KS sign in progress update

* KS QR progress update

* Adopt `Synchronizer.Status.INITIALIZING` state

* Design updates

* Propagate exceptions

* Updates

* Code cleanup

* Promo update

* Scan fix

* Code cleanup

* Bump to Zcash SDK 2.2.7-SNAPSHOT

* Fix lint warnings

* Make tests update

With follow-up #1713 for fixing the failing tests.

---------

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

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-12-17 18:40:36 +01:00
Milan f60ba7597b
Navigation refactor - NavigationRouter added (#1698) 2024-12-02 13:32:47 +01:00
Milan 425052f1db
[#1618] Settings redesign (#1658)
* [#1618] About redesign

* [#1618] Whats new redesign

* [#1618] Delete screen redesign

* [#1618] Export private data refactor

* [#1618] Seed recovery refactor

* [#1618] Seed Redesign

* [#1618] Feedback Redesign

* [#1618] Popup implementation

* [#1618] Localization fixes

* [#1618] Code cleanup

* [#1618] Code cleanup

* [#1618] Code cleanup

* [#1618] Documentation update

* [#1618] Code cleanup

* [#1618] Design hotfixes

* [#1618] Code cleanup

* [#1618] Test hotfixes

* [#1618] Test hotfixes

* Code cleanup

* Changelogs entries update

* Address few review comments

* Fix UI tests

* Fix bottom widget version name in WhatsNew

* Update Spanish texts

* Fix ktlint warnings

* Test hotfix

* Test hotfix

* Code cleanup

* Design hotfixes for small screens

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-11-14 14:12:59 +01:00
Milan c6350641e3
Issue 1617 not enough space and update redesign (#1652)
* [#1617] Update redesign

Closes ##1617

* [#1617] Not enough space redesign

Closes ##1617

* [#1617] Code cleanup

Closes ##1617

* [#1617] Documentation update

Closes ##1617

* [#1617] Sensitive settings disabled during needed update

Closes ##1617

* Code cleanup

* Test hotfix

* Test hotfix

* Test hotfix

* Address review comments

* Fix broken in-app update logic

- It was broken since we introduced Koin
- Now fixed and tested using AppUpdateCheckerMock

* Changelogs update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-11-12 15:27:50 +01:00
Milan 078f7b88df
Address book fix on send screen (#1665)
* Address book fix on send screen

* Code cleanup

* Documentation update
2024-11-08 12:03:51 +01:00
Milan c773e7d1c7
[#1533] Flexa integration
* [#1533] Flexa integration

Closes #1533

* [#1533] Code cleanup

* [#1533] Finalisation

* [#1618] Flexa payment biometrics

* [#1618] Design update

* [#1618] Local maven added

* [#1618] Code cleanup

* [#1533] Material3 version bump

* Fix proguard rules

* [#1533] Flexa hotfixes

* [#1533] Flexa hotfixes

* Changelogs update

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-11-04 12:53:43 +01:00
Milan 9d634a2da8
Settings code cleanup (#1644)
* Settings code cleanup

* Auto formatting using Ktlint

---------

Co-authored-by: Honza <rychnovsky.honza@gmail.com>
2024-10-23 15:08:02 +02:00
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 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 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
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
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