- Refactored this server call to adopt our new Response mechanism
- GrpsStatusResolver.resolveFailureFromStatus() now accepts Throwable input
- Added Response.Failure.toThrowable() to satisfy subsequent server calls results processing
- A few other minor refactoring changes
* main:
Bump actions/cache from 3.2.2 to 3.2.3 in /.github/actions/setup (#878)
[#861] Remove cancel spend from public API
[#631] Improve demo app compose UI for testing
[#866] Clipboardmanager on Android level 21 in Demo-app
Bump actions/upload-artifact from 3.1.1 to 3.1.2 (#871)
Bump actions/download-artifact from 3.0.1 to 3.0.2 (#870)
Bump actions/checkout from 3.2.0 to 3.3.0 (#869)
[#864] Duplicate Synchronizers in Demo-app
# Conflicts:
# demo-app/src/main/java/cash/z/ecc/android/sdk/demoapp/MainActivity.kt
# demo-app/src/main/java/cash/z/ecc/android/sdk/demoapp/SharedViewModel.kt
# sdk-lib/src/main/java/cash/z/ecc/android/sdk/Synchronizer.kt
- Moved to fixture and build type check components to the new networking module, so it's accessible from all needed parts of the projects
- Changed fixture return type to fit to all needed usages
* Add testnet faucet to Compose UI
* Show status on home view
* Add BlockHeight for fixture wallets
* Add balance screen
* Keep screen on while syncing
* Fix conversion of seed phrase to bytes
Previously if `initLogs()` was called more than once, the application
would crash. `NativeLibraryLoader` already implements a singleton for
loading the Rust library, so we now hook into that for initialization.
We now always initialize the Rust logging system, along with the tracing
event hooks and anything else we add in future.
* [#789] Add Benchmark module to Demo-app
* Code cleanup
* Opti-in experimental coroutines api in tests
* Add Testing documentation
* Documentation update + ktlint
* Check screen on and keyguard unlocked in each test
* Introduce UiAutomator extensions
* Enhance BenchmarkTrace events definition
* Remove unnecessary mutex
* Change blocks range
* Increase sync blockchain timeout
- To always fit in the Balances screen timeout for the selected blocks range
* Remove unnecessary fun suspend modifiers
* Macrobenchmark lib bump to 1.2.0-alpha8
* Remove duplicate label attr in app/manifest
* File and link benchmark on CI task
* Add proguard keep rules
* Documentation update
The Android and Rust code have previously managed joint custody of the derived data database. With more complex migrations now required, we need to make the Android side read-only. To achieve that, the Android side will remove Room and instead rely on more primitive SQLite APIs for read-only access.
As part of implementing this change, database management throughout the SDK is being refactored.
There will be multiple representations of the data:
- Database representation (and some Entity representations in the places that Room hasn’t been removed yet). These representations are not as type safe and don’t match Kotlin best practices in all cases.
- Once #615 is implemented there will also be network representations
- Type safe models, which often appear in the public API The Database and Network representations will be converted to and from the type safe model representation.
The SDK now exposes UAs primarily, with additional methods for obtaining
corresponding Sapling and transparent addresses for legacy compatibility.
The `Account` DAO is also fixed to use the migrated `accounts` table format.
The demo app now shows the current UA and the legacy Sapling and transparent
addresses.
Closeszcash/zcash-android-wallet-sdk#677.
* [#665] Recover from corrupted sapling-spend.params and sapling-output.params
* Make parameters on exception internal
* Make SaplingParameters internal
* Fix for changed parameters visibility in tests
Co-authored-by: Carter Jernigan <git@carterjernigan.com>