From 92e9978859da8d43ce01edea753c5ecdec321846 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Mon, 18 Aug 2025 11:25:57 -0400 Subject: [PATCH] Moves to parcelable. Fixes: https://github.com/vitorpamplona/amethyst/issues/1413 --- .../amethyst/ui/note/UpdateReactionTypeDialog.kt | 2 +- gradle/libs.versions.toml | 1 + quartz/build.gradle | 1 + .../quartz/nip01Core/tags/addressables/Address.kt | 6 +++++- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/UpdateReactionTypeDialog.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/UpdateReactionTypeDialog.kt index 70fbd1221..16060c726 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/UpdateReactionTypeDialog.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/UpdateReactionTypeDialog.kt @@ -394,7 +394,7 @@ fun EmojiCollectionGallery( LazyColumn( state = listState, ) { - itemsIndexed(emojiCollections, key = { _, item -> item.pubKeyHex }) { _, item -> + itemsIndexed(emojiCollections, key = { _, item -> item }) { _, item -> LoadAddressableNote(item, accountViewModel) { it?.let { WatchAndRenderNote(it, bgColor, accountViewModel, nav, onClick) } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 95221f910..65b0d6cb4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -146,3 +146,4 @@ jetbrainsKotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "k jetbrainsKotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } jetbrainsComposeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } serialization = { id = 'org.jetbrains.kotlin.plugin.serialization', version.ref = 'kotlinxSerializationPlugin' } +parcelize = { id = "kotlin-parcelize" } \ No newline at end of file diff --git a/quartz/build.gradle b/quartz/build.gradle index 60c5ab93c..f4e91c4d0 100644 --- a/quartz/build.gradle +++ b/quartz/build.gradle @@ -3,6 +3,7 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.androidLibrary) alias(libs.plugins.jetbrainsKotlinAndroid) + alias(libs.plugins.parcelize) } android { diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip01Core/tags/addressables/Address.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip01Core/tags/addressables/Address.kt index c2ad93901..8c5edc6d2 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip01Core/tags/addressables/Address.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip01Core/tags/addressables/Address.kt @@ -20,6 +20,7 @@ */ package com.vitorpamplona.quartz.nip01Core.tags.addressables +import android.os.Parcelable import android.util.Log import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.Kind @@ -28,12 +29,15 @@ import com.vitorpamplona.quartz.nip19Bech32.entities.NAddress import com.vitorpamplona.quartz.utils.Hex import com.vitorpamplona.quartz.utils.bytesUsedInMemory import com.vitorpamplona.quartz.utils.pointerSizeInBytes +import kotlinx.parcelize.Parcelize +@Parcelize data class Address( val kind: Kind, val pubKeyHex: HexKey, val dTag: String = "", -) : Comparable
{ +) : Comparable
, + Parcelable { fun toValue() = assemble(kind, pubKeyHex, dTag) fun countMemory(): Long =