Use quartz from maven

This commit is contained in:
greenart7c3
2025-10-03 10:37:20 -03:00
parent 9d0fb21fa7
commit f06ff11ce6
10 changed files with 24 additions and 22 deletions
+1 -1
View File
@@ -206,7 +206,6 @@ dependencies {
implementation libs.adaptive.android
testImplementation libs.junit
testImplementation libs.mockk
androidTestImplementation libs.ext.junit
androidTestImplementation libs.espresso.core
androidTestImplementation libs.ui.test.junit4
@@ -254,4 +253,5 @@ dependencies {
implementation libs.security.crypto
implementation libs.lifecycle.process
implementation libs.kotlinx.collections.immutable
}
@@ -17,7 +17,7 @@ import com.fasterxml.jackson.module.kotlin.readValue
import com.greenart7c3.nostrsigner.Amber
import com.greenart7c3.nostrsigner.ui.RememberType
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JacksonMapper
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.RelayUrlNormalizer
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerRequest
@@ -58,7 +58,7 @@ data class AmberBunkerRequest(
fun fromJson(jsonObject: JsonNode): AmberBunkerRequest {
return AmberBunkerRequest(
request = JsonMapper.mapper.readValue(jsonObject.get("request").asText().intern()),
request = JacksonMapper.mapper.readValue(jsonObject.get("request").asText().intern()),
localKey = jsonObject.get("localKey")?.asText()?.intern() ?: "",
relays = jsonObject.get("relays")?.asIterable()?.toList()?.mapNotNull {
RelayUrlNormalizer.normalizeOrNull(it.asText())
@@ -69,7 +69,7 @@ data class AmberBunkerRequest(
name = jsonObject.get("name")?.asText()?.intern() ?: "",
signedEvent = jsonObject.get("signedEvent")?.asText()?.intern()?.let {
try {
JsonMapper.fromJson(it)
JacksonMapper.fromJson(it)
} catch (_: Exception) {
null
}
@@ -14,7 +14,7 @@ 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.R
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper.Companion.defaultPrettyPrinter
import com.vitorpamplona.quartz.nip01Core.jackson.JacksonMapper.Companion.defaultPrettyPrinter
data class Permission(
val type: String,
@@ -21,8 +21,8 @@
package com.greenart7c3.nostrsigner.okhttp
import android.util.Log
import com.vitorpamplona.quartz.nip17Dm.files.encryption.AESGCM
import com.vitorpamplona.quartz.nip17Dm.files.encryption.NostrCipher
import com.vitorpamplona.quartz.utils.ciphers.AESGCM
import com.vitorpamplona.quartz.utils.ciphers.NostrCipher
import okhttp3.Interceptor
import okhttp3.Response
import okhttp3.ResponseBody.Companion.toResponseBody
@@ -21,7 +21,7 @@
package com.greenart7c3.nostrsigner.okhttp
import android.util.LruCache
import com.vitorpamplona.quartz.nip17Dm.files.encryption.NostrCipher
import com.vitorpamplona.quartz.utils.ciphers.NostrCipher
/**
* Neigther ExoPlayer, nor Coil support passing key and nonce to the Interceptor via
@@ -71,7 +71,7 @@ class OkHttpWebSocket(
webSocket: okhttp3.WebSocket,
response: Response,
) = out.onOpen(
response.receivedResponseAtMillis - response.sentRequestAtMillis,
(response.receivedResponseAtMillis - response.sentRequestAtMillis).toInt(),
response.headers["Sec-WebSocket-Extensions"]?.contains("permessage-deflate") ?: false,
)
@@ -18,7 +18,7 @@ import com.greenart7c3.nostrsigner.relays.AmberListenerSingleton
import com.greenart7c3.nostrsigner.service.model.AmberEvent
import com.greenart7c3.nostrsigner.ui.RememberType
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JacksonMapper
import com.vitorpamplona.quartz.nip01Core.relay.client.accessories.sendAndWaitForResponse
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerRequest
@@ -94,7 +94,7 @@ object BunkerRequestUtils {
id = 0,
url = relay.url,
type = "bunker response",
message = JsonMapper.mapper.writeValueAsString(bunkerResponse),
message = JacksonMapper.mapper.writeValueAsString(bunkerResponse),
time = System.currentTimeMillis(),
),
)
@@ -102,14 +102,16 @@ object BunkerRequestUtils {
}
val encryptedContent = try {
val plainText = JacksonMapper.mapper.writeValueAsString(bunkerResponse)
if (bunkerRequest.encryptionType == EncryptionType.NIP44) {
account.signer.signerSync.nip44Encrypt(
JsonMapper.mapper.writeValueAsString(bunkerResponse),
plainText,
bunkerRequest.localKey,
)
} else {
account.signer.signerSync.nip04Encrypt(
JsonMapper.mapper.writeValueAsString(bunkerResponse),
plainText,
bunkerRequest.localKey,
)
}
@@ -43,10 +43,10 @@ import com.greenart7c3.nostrsigner.models.SignerType
import com.greenart7c3.nostrsigner.service.NotificationUtils.sendNotification
import com.greenart7c3.nostrsigner.service.model.AmberEvent
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.crypto.verify
import com.vitorpamplona.quartz.nip01Core.jackson.JacksonMapper
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
import com.vitorpamplona.quartz.nip01Core.tags.people.taggedUsers
import com.vitorpamplona.quartz.nip01Core.verify
import com.vitorpamplona.quartz.nip04Dm.crypto.EncryptedInfo
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerRequest
import com.vitorpamplona.quartz.nip46RemoteSigner.BunkerRequestConnect
@@ -164,7 +164,7 @@ class EventNotificationConsumer(private val applicationContext: Context) {
),
)
val bunkerRequest = JsonMapper.mapper.readValue(request, BunkerRequest::class.java)
val bunkerRequest = JacksonMapper.mapper.readValue(request, BunkerRequest::class.java)
val signedEvent = if (bunkerRequest is BunkerRequestSign) {
acc.signer.signerSync.sign(bunkerRequest.event)
@@ -15,7 +15,7 @@ import com.fasterxml.jackson.databind.ser.std.StdSerializer
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
import com.vitorpamplona.quartz.nip01Core.jackson.JacksonMapper
import com.vitorpamplona.quartz.nip01Core.jackson.toTypedArray
import com.vitorpamplona.quartz.utils.TimeUtils
@@ -78,7 +78,7 @@ open class AmberEvent(
jacksonObjectMapper()
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
.enable(JsonReadFeature.ALLOW_UNESCAPED_CONTROL_CHARS.mappedFeature())
.setDefaultPrettyPrinter(JsonMapper.defaultPrettyPrinter)
.setDefaultPrettyPrinter(JacksonMapper.defaultPrettyPrinter)
.registerModule(
SimpleModule()
.addSerializer(AmberEvent::class.java, EventSerializer())
+4 -4
View File
@@ -11,9 +11,8 @@ junit = "4.13.2"
junitVersion = "1.3.0"
lifecycle_version = "2.9.4"
material3 = "1.4.0"
mockk = "1.14.5"
nav_version = "2.9.5"
quartz = "v1.00.5"
quartz = "1.03.0"
compose_ui = "1.9.2"
richtextUi = "e1151c8"
roomKtx = "2.8.1"
@@ -30,6 +29,7 @@ storage = "2.2.0"
jna = "5.18.0"
adaptiveAndroid = "1.1.0"
materialIconsExtended = "1.7.8"
collections = "0.4.0"
[libraries]
datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastorePreferences" }
@@ -49,9 +49,9 @@ lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel
lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "lifecycle_version" }
material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "materialIconsExtended" }
material3 = { module = "androidx.compose.material3:material3", version.ref = "material3" }
mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "nav_version" }
quartz = { module = "com.github.vitorpamplona.amethyst:quartz", version.ref = "quartz" }
quartz = { module = "com.vitorpamplona.quartz:quartz-android", version.ref = "quartz" }
kotlinx-collections-immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version.ref = "collections" }
richtext-commonmark = { module = "com.github.vitorpamplona.compose-richtext:richtext-commonmark", version.ref = "richtextUi" }
richtext-ui = { module = "com.github.vitorpamplona.compose-richtext:richtext-ui", version.ref = "richtextUi" }
richtext-ui-material3 = { module = "com.github.vitorpamplona.compose-richtext:richtext-ui-material3", version.ref = "richtextUi" }