From be4919129302e0f3ba7b29bfb4740376dbfcb68b Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Sat, 12 Jul 2025 07:29:27 -0300 Subject: [PATCH] Fix result toJson --- .idea/deviceManager.xml | 13 ++++++++ .../nostrsigner/ui/IncomingRequestScreen.kt | 32 ++++++++++++++++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 .idea/deviceManager.xml diff --git a/.idea/deviceManager.xml b/.idea/deviceManager.xml new file mode 100644 index 00000000..91f95584 --- /dev/null +++ b/.idea/deviceManager.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/greenart7c3/nostrsigner/ui/IncomingRequestScreen.kt b/app/src/main/java/com/greenart7c3/nostrsigner/ui/IncomingRequestScreen.kt index adc6d494..9bd4ef80 100644 --- a/app/src/main/java/com/greenart7c3/nostrsigner/ui/IncomingRequestScreen.kt +++ b/app/src/main/java/com/greenart7c3/nostrsigner/ui/IncomingRequestScreen.kt @@ -21,6 +21,12 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp import androidx.navigation.NavController +import com.fasterxml.jackson.core.JsonGenerator +import com.fasterxml.jackson.databind.DeserializationFeature +import com.fasterxml.jackson.databind.SerializerProvider +import com.fasterxml.jackson.databind.module.SimpleModule +import com.fasterxml.jackson.databind.ser.std.StdSerializer +import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.greenart7c3.nostrsigner.Amber import com.greenart7c3.nostrsigner.LocalPreferences import com.greenart7c3.nostrsigner.R @@ -125,4 +131,28 @@ data class Result( val signature: String?, val result: String?, val id: String?, -) +) { + companion object { + val mapper = + jacksonObjectMapper() + .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) + .registerModule( + SimpleModule().addSerializer(Result::class.java, ResultSerializer()), + ) + + private class ResultSerializer : StdSerializer(Result::class.java) { + override fun serialize( + result: Result, + gen: JsonGenerator, + provider: SerializerProvider, + ) { + gen.writeStartObject() + gen.writeStringField("id", result.id) + gen.writeStringField("package", result.`package`) + gen.writeStringField("signature", result.signature) + gen.writeStringField("result", result.result) + gen.writeEndObject() + } + } + } +}