Updated visibility on open classes to improve extensibility.

This commit is contained in:
Kevin Gorham 2020-10-16 13:39:16 -04:00
parent 8edc0c6204
commit 8cbc063caa
No known key found for this signature in database
GPG Key ID: CCA55602DF49FC38
5 changed files with 25 additions and 11 deletions

View File

@ -1,6 +1,10 @@
Change Log
==========
Version 1.1.0-beta10 *(2020-10-16)*
------------------------------------
New: Modified visibility on a few things to facilitate partner integrations.
Version 1.1.0-beta08 *(2020-10-01)*
------------------------------------
Fix: Publishing has been corrected by jcenter's support team.
@ -9,7 +13,7 @@ New: Minor improvement to initializer
Version 1.1.0-beta05 *(2020-09-11)*
------------------------------------
New: Synchronizer can now be started with just a viewing key.
New: Initializer improvments.
New: Initializer improvements.
New: Added tool for loading checkpoints.
New: Added tool for deriving keys and addresses, statically.
New: Updated and revamped the demo apps.

View File

@ -6,8 +6,8 @@ object Deps {
const val kotlinVersion = "1.4.10"
const val group = "cash.z.ecc.android"
const val artifactName = "zcash-android-sdk"
const val versionName = "1.1.0-beta08"
const val versionCode = 1_01_00_208 // last digits are alpha(0XX) beta(2XX) rc(4XX) release(8XX). Ex: 1_08_04_401 is an release candidate build of version 1.8.4 and 1_08_04_800 would be the final release.
const val versionName = "1.1.0-beta10"
const val versionCode = 1_01_00_210 // last digits are alpha(0XX) beta(2XX) rc(4XX) release(8XX). Ex: 1_08_04_401 is an release candidate build of version 1.8.4 and 1_08_04_800 would be the final release.
const val description = "This lightweight SDK connects Android to Zcash. It welds together Rust and Kotlin in a minimal way, allowing third-party Android apps to send and receive shielded transactions easily, securely and privately."
const val githubUrl = "https://github.com/zcash/zcash-android-wallet-sdk"
@ -15,8 +15,8 @@ object Deps {
// NOTE: to upload run: ./gradlew bintrayUpload after setting BINTRAY_USER and BINTRAY_API_KEY as environment variable
// to publish for local development run: ./gradlew publishToMavenLocal
// Remember: publish both mainnet and testnet!
const val publishingDryRun = true
val publishingTarget = Publication.Testnet
const val publishingDryRun = false
val publishingTarget = Publication.Mainnet
object Publication {
object Mainnet {

View File

@ -23,6 +23,12 @@ interface Twig {
return if(twig is CompositeTwig) twig.plus(this) else CompositeTwig(mutableListOf(this, twig))
}
companion object {
/**
* Access the trunk corresponding to this twig.
*/
val trunk get() = Bush.trunk
/**
* Plants the twig, making it the one and only bush. Twigs can be bundled together to create the appearance of
* multiple bushes (i.e `Twig.plant(twigA + twigB + twigC)`) even though there's only ever one bush.
@ -45,6 +51,7 @@ interface Twig {
* Clip all leaves from the bush.
*/
fun prune() = Bush.leaves.clear()
}
}
@ -113,7 +120,7 @@ open class TroubleshootingTwig(
* Since there can only ever be one trunk on the bush of twigs, this class lets
* you cheat and make that trunk be a bundle of twigs.
*/
open class CompositeTwig(private val twigBundle: MutableList<Twig>) :
open class CompositeTwig(open val twigBundle: MutableList<Twig>) :
Twig {
override operator fun plus(twig: Twig): Twig {
if (twig is CompositeTwig) twigBundle.addAll(twig.twigBundle) else twigBundle.add(twig); return this

View File

@ -19,9 +19,12 @@ class RustBackend private constructor() : RustBackendWelding {
}
// Paths
internal lateinit var pathDataDb: String
internal lateinit var pathCacheDb: String
internal lateinit var pathParamsDir: String
lateinit var pathDataDb: String
internal set
lateinit var pathCacheDb: String
internal set
lateinit var pathParamsDir: String
internal set
internal var birthdayHeight: Int = -1
get() = if (field != -1) field else throw BirthdayException.UninitializedBirthdayException

View File

@ -22,8 +22,8 @@ import kotlinx.coroutines.withContext
* @param pageSize transactions per page. This influences pre-fetch and memory configuration.
*/
open class PagedTransactionRepository(
private val derivedDataDb: DerivedDataDb,
private val pageSize: Int = 10
open val derivedDataDb: DerivedDataDb,
open val pageSize: Int = 10
) : TransactionRepository {
/**