lib: optimize hex string parceling

This commit is contained in:
Oscar Mira 2025-02-26 12:40:42 +01:00
parent cb79e3421d
commit f97854e424
No known key found for this signature in database
GPG Key ID: B371B98C5DC32237
2 changed files with 18 additions and 3 deletions

View File

@ -0,0 +1,14 @@
package im.molly.monero.internal
import android.os.Parcel
import kotlinx.parcelize.Parceler
@OptIn(ExperimentalStdlibApi::class)
object HexStringParceler : Parceler<String?> {
override fun create(parcel: Parcel): String? =
parcel.createByteArray()?.toHexString()
override fun String?.write(parcel: Parcel, flags: Int) {
parcel.writeByteArray(this?.hexToByteArray())
}
}

View File

@ -18,6 +18,7 @@ import im.molly.monero.UnlockTime
import im.molly.monero.findAddressByIndex
import im.molly.monero.isBlockHeightInRange
import kotlinx.parcelize.Parcelize
import kotlinx.parcelize.WriteWith
import java.time.Instant
/**
@ -29,9 +30,9 @@ import java.time.Instant
*/
@Parcelize
internal data class TxInfo @CalledByNative constructor(
val txHash: String,
val publicKey: String?,
val keyImage: String?,
val txHash: @WriteWith<HexStringParceler> String,
val publicKey: @WriteWith<HexStringParceler> String?,
val keyImage: @WriteWith<HexStringParceler> String?,
val subAddressMajor: Int,
val subAddressMinor: Int,
val recipient: String?,