diff --git a/amethyst/src/main/res/values-cs-rCZ/strings.xml b/amethyst/src/main/res/values-cs-rCZ/strings.xml
index b8a0233ca..23e828e01 100644
--- a/amethyst/src/main/res/values-cs-rCZ/strings.xml
+++ b/amethyst/src/main/res/values-cs-rCZ/strings.xml
@@ -164,6 +164,8 @@
Blokovaní uživatelé
Nové vlákna
Konverzace
+ Kanál
+ Fronta moderace
Poznámky
Odpovědi
Vaše
@@ -654,6 +656,8 @@
Vysvětlení členům
Změna názvu pro nové cíle.
Vložit ze schránky
+ Neplatné NIP-47 URI
+ URI %1$s není platné přihlašovací URI NIP-47.
Pro rozhraní aplikace
Tmavé, světlé nebo systémové téma
Automaticky načítat obrázky a GIFy
@@ -671,6 +675,9 @@
Média přidána do vaší profilové galerie
Vytvořeno
Pravidla
+ O nás
+ Pokyny
+ Moderátoři
Přihlásit se pomocí Amber
Aktualizovat svůj stav
Chyba při zpracování chybové zprávy
@@ -883,10 +890,13 @@
Nahrát v DM
Nastavení relé
Veřejná domácí relé
+ Uživatel zveřejňuje svůj obsah na těchto přenašečích
Tento typ relé ukládá veškerý váš obsah. Amethyst sem pošle vaše příspěvky a ostatní použijí tato relé, aby našli váš obsah. Vložte mezi 1–3 relé. Mohou to být osobní relé, placená relé nebo veřejná relé.
Veřejná schránka relé
+ Uživatel přijímá oznámení na těchto přenašečích
Tento typ relé přijímá všechny odpovědi, komentáře, lajky a zaps k vašim příspěvkům. Vložte mezi 1–3 relé a ujistěte se, že přijímají příspěvky od kohokoli.
DM schránka relé
+ Uživatel přijímá soukromé zprávy na těchto přenašečích
Vložte mezi 1–3 relé, která budou sloužit jako vaše soukromá schránka. Ostatní použijí tato relé k posílání DM zpráv vám. DM schránka relé by měla přijímat jakékoli zprávy od kohokoli, ale pouze vám umožnit jejich stahování. Dobré možnosti jsou:\n - inbox.nostr.wine (placené)\n - you.nostr1.com (osobní relé - placené)
Soukromá relé
Vložte mezi 1–3 relé pro ukládání událostí nikoho jiného, jako jsou koncepty a/nebo nastavení aplikace. V ideálním případě jsou tato relé buď lokální, nebo vyžadují autentizaci před stažením obsahu každého uživatele.
@@ -1013,4 +1023,12 @@
Zde zobrazené jazyky nebudou přeloženy. Vyberte jazyk, který chcete odstranit a nechat je znovu přeložit.
Pozastavit
Hrát
+ Otevřít rozbalovací nabídku
+ Možnost %1$s z %2$s
+ Filtr kanálu, %1$s vybráno
+ Filtr kanálu, %1$s
+ Nalezen záznam o pádu
+ Chcete poslat poslední záznam o pádu do Amethystu v soukromé zprávě? Žádné osobní údaje nebudou sdíleny
+ Odeslat
+ Tato zpráva zmizí za %1$d dní
diff --git a/amethyst/src/main/res/values-cs/strings.xml b/amethyst/src/main/res/values-cs/strings.xml
index 223c59d5f..7d48a433e 100644
--- a/amethyst/src/main/res/values-cs/strings.xml
+++ b/amethyst/src/main/res/values-cs/strings.xml
@@ -936,4 +936,20 @@
Možnost %1$s z %2$s
Filtr kanálu, %1$s vybráno
Filtr kanálu, %1$s
+ Kanál
+ Fronta moderace
+ Neplatné NIP-47 URI
+ URI %1$s není platné přihlašovací URI NIP-47.
+ Uživatel zveřejňuje svůj obsah na těchto přenašečích
+ Uživatel přijímá oznámení na těchto přenašečích
+ Uživatel přijímá soukromé zprávy na těchto přenašečích
+ Tato zpráva zmizí za %1$d dní
+ Nahrát video
+ Nalezen záznam o pádu
+ Chcete poslat poslední záznam o pádu do Amethystu v soukromé zprávě? Žádné osobní údaje nebudou sdíleny
+ Odeslat
+ O nás
+ Pokyny
+ Moderátoři
+ Otevřít rozbalovací nabídku
diff --git a/amethyst/src/main/res/values-de-rDE/strings.xml b/amethyst/src/main/res/values-de-rDE/strings.xml
index 5d7816ae6..d94655388 100644
--- a/amethyst/src/main/res/values-de-rDE/strings.xml
+++ b/amethyst/src/main/res/values-de-rDE/strings.xml
@@ -150,6 +150,7 @@ erie gespeichert
Video konnte nicht gespeichert werden
Bild hochladen
Ein Foto aufnehmen
+ Video aufnehmen
Eine Nachricht aufnehmen
Eine Nachricht aufnehmen
Zum Aufnehmen einer Nachricht gedrückt halten
@@ -165,6 +166,7 @@ erie gespeichert
Blockierte Benutzer
Neue Threads
Unterhaltungen
+ Moderationswarteschlange
Notizen
Antworten
Deine
@@ -658,6 +660,8 @@ anz der Bedingungen ist erforderlich
Erklärung an Mitglieder
Ändern des Namens für die neuen Ziele.
Aus Zwischenablage einfügen
+ Ungültige NIP-47 URI
+ Die URI %1$s ist keine gültige NIP-47 Anmelde-URI.
Für die App-Benutzeroberfläche
Dunkles, helles oder Systemdesign
Bilder und GIFs automatisch laden
@@ -675,6 +679,9 @@ anz der Bedingungen ist erforderlich
Medien wurden zu Ihrer Profilgalerie hinzugefügt
Erstellt am
Regeln
+ Über uns
+ Richtlinien
+ Moderatoren
Mit Amber anmelden
Status aktualisieren
Fehler beim Verarbeiten der Fehlermeldung
@@ -887,10 +894,13 @@ anz der Bedingungen ist erforderlich
DM-Upload
Relaiseinstellungen
Öffentliche Heimrelais
+ Der Benutzer veröffentlicht seine Inhalte auf diesen Relays
Dieser Relais-Typ speichert alle Ihre Inhalte. Amethyst sendet Ihre Beiträge hierher und andere werden diese Relais verwenden, um Ihre Inhalte zu finden. Fügen Sie 1–3 Relais ein. Sie können persönliche Relais, bezahlte Relais oder öffentliche Relais sein.
Öffentliche Posteingangsrelais
+ Der Benutzer erhält Benachrichtigungen auf diesen Relays
Dieser Relais-Typ empfängt alle Antworten, Kommentare, Likes und Zaps auf Ihre Beiträge. Fügen Sie 1–3 Relais ein und stellen Sie sicher, dass sie Beiträge von jedem akzeptieren.
DM-Posteingangsrelais
+ Der Benutzer empfängt Direktnachrichten auf diesen Relays
Fügen Sie 1–3 Relais ein, die als Ihr privater Posteingang dienen sollen. Andere werden diese Relais verwenden, um Ihnen DMs zu senden. DM-Posteingangsrelais sollten Nachrichten von jedem akzeptieren, aber nur Ihnen erlauben, sie herunterzuladen. Gute Optionen sind:\n - inbox.nostr.wine (bezahlt)\n - you.nostr1.com (persönliche Relais - bezahlt)
Private Relais
Fügen Sie zwischen 1–3 Relais ein, um Ereignisse zu speichern, die niemand anders sehen kann, wie Ihre Entwürfe und/oder App-Einstellungen. Idealerweise sind diese Relais entweder lokal oder erfordern eine Authentifizierung, bevor Sie die Inhalte eines jeden Benutzers herunterladen.
@@ -1017,4 +1027,12 @@ anz der Bedingungen ist erforderlich
Die hier angezeigten Sprachen werden nicht übersetzt. Wählen Sie eine Sprache, um sie zu entfernen und lassen Sie sie erneut übersetzen.
Pausen
Abspielen
+ Dropdown-Menü öffnen
+ Option %1$s von %2$s
+ Feed-Filter, %1$s ausgewählt
+ Feed-Filter, %1$s
+ Absturzbericht gefunden
+ Möchten Sie den letzten Absturzbericht per Direktnachricht an Amethyst senden? Es werden keine persönlichen Daten weitergegeben
+ Senden
+ Diese Nachricht verschwindet in %1$d Tagen
diff --git a/amethyst/src/main/res/values-de/strings.xml b/amethyst/src/main/res/values-de/strings.xml
index a450fb7a2..6476be0e7 100644
--- a/amethyst/src/main/res/values-de/strings.xml
+++ b/amethyst/src/main/res/values-de/strings.xml
@@ -977,4 +977,19 @@ anz der Bedingungen ist erforderlich
Option %1$s von %2$s
Feed-Filter, %1$s ausgewählt
Feed-Filter, %1$s
+ Feed
+ Moderationswarteschlange
+ Ungültige NIP-47 URI
+ Die URI %1$s ist keine gültige NIP-47 Anmelde-URI.
+ Der Benutzer veröffentlicht seine Inhalte auf diesen Relays
+ Der Benutzer erhält Benachrichtigungen auf diesen Relays
+ Der Benutzer empfängt Direktnachrichten auf diesen Relays
+ Diese Nachricht verschwindet in %1$d Tagen
+ Absturzbericht gefunden
+ Möchten Sie den letzten Absturzbericht per Direktnachricht an Amethyst senden? Es werden keine persönlichen Daten weitergegeben
+ Senden
+ Über uns
+ Richtlinien
+ Moderatoren
+ Dropdown-Menü öffnen
diff --git a/amethyst/src/main/res/values-pt-rBR/strings.xml b/amethyst/src/main/res/values-pt-rBR/strings.xml
index 05590d68f..8425d583c 100644
--- a/amethyst/src/main/res/values-pt-rBR/strings.xml
+++ b/amethyst/src/main/res/values-pt-rBR/strings.xml
@@ -164,6 +164,8 @@
Usuários
Novos Tópicos
Conversas
+ Feed
+ Fila de moderação
Notas
Respostas
Suas
@@ -654,6 +656,8 @@
Explicação aos membros
Mudando o nome dos novos objetivos.
Colar da área de transferência
+ URI NIP-47 inválido
+ O URI %1$s não é um URI de login NIP-47 válido.
Para a interface do aplicativo
Tema Escuro, Claro ou Padrão
Carregar automaticamente imagens e GIFs
@@ -671,6 +675,9 @@
Mídia adicionada à sua Galeria de Perfil
Criado em
Regras
+ Sobre nós
+ Diretrizes
+ Moderadores
Login com Amber
O que você está fazendo?
Erro ao analisar mensagem de erro
@@ -883,10 +890,13 @@
Envio de DM
Configurações de Relay
Relés Públicos de Casa
+ O usuário está publicando seu conteúdo nesses relays
Esse tipo de relé armazena todo o seu conteúdo. Amethyst enviará suas postagens aqui e outros usarão esses relés para encontrar seu conteúdo. Insira entre 1–3 relés. Eles podem ser relés pessoais, relés pagos ou relés públicos.
Relés Públicos de Caixa de Entrada
+ O usuário está recebendo notificações nesses relays
Esse tipo de relé recebe todas as respostas, comentários, curtidas e zaps para suas postagens. Insira entre 1–3 relés e certifique-se de que aceitem postagens de qualquer pessoa.
Relés de Caixa de Entrada de DM
+ O usuário recebe mensagens diretas (DMs) nesses relays
Insira entre 1–3 relés para servir como sua caixa de entrada privada. Outros usarão esses relés para enviar DMs para você. Relés de Caixa de Entrada de DM devem aceitar qualquer mensagem de qualquer pessoa, mas permitir apenas você baixá-las. Boas opções são:\n - inbox.nostr.wine (pago)\n - you.nostr1.com (relés pessoais - pago)
Relés privados
Insira entre 1–3 retransmissores para armazenar eventos que ninguém mais possa ver, como seus rascunhos e/ou configurações de aplicativo. Idealmente, esses relés são locais ou requerem autenticação antes de baixar o conteúdo de cada usuário.
@@ -1013,7 +1023,12 @@
Os idiomas mostrados aqui não serão traduzidos. Selecione um idioma para removê-lo e traduzi-lo novamente.
Pausar
Reproduzir
+ Abrir menu suspenso
Opção %1$s de %2$s
Filtro de feed, %1$s selecionado
Filtro de feed, %1$s
+ Relatório de falha encontrado
+ Gostaria de enviar o relatório de falha recente para o Amethyst em uma DM? Nenhuma informação pessoal será compartilhada
+ Enviar
+ Esta mensagem desaparecerá em %1$d dias
diff --git a/amethyst/src/main/res/values-sv-rSE/strings.xml b/amethyst/src/main/res/values-sv-rSE/strings.xml
index 7d5512a82..3c7ce5d03 100644
--- a/amethyst/src/main/res/values-sv-rSE/strings.xml
+++ b/amethyst/src/main/res/values-sv-rSE/strings.xml
@@ -164,6 +164,8 @@
Blockerade användare
Nya trådar
Konversationer
+ Flöde
+ Moderationskö
Anteckningar
Svar
Dina
@@ -653,6 +655,8 @@
Förklaring till medlemmar
Ändra namnet för de nya målen.
Klistra in från urklipp
+ Ogiltig NIP-47 URI
+ URI %1$s är inte en giltig NIP-47 inloggnings-URI.
För appens gränssnitt
Mörkt, Ljust eller Systemtema
Ladda automatiskt bilder och GIFs
@@ -670,6 +674,9 @@
Media har lagts till i ditt profilgalleri
Skapad den
Regler
+ Om oss
+ Riktlinjer
+ Moderatorer
Logga in med Amber
Uppdatera din status
Fel vid tolkning av felmeddelande
@@ -882,10 +889,13 @@
DM uppladdning
Relä inställningar
Offentliga hemreläer
+ Användaren publicerar sitt innehåll på dessa reläer
Denna typ av relä lagrar allt ditt innehåll. Amethyst skickar dina inlägg hit och andra kommer att använda dessa reläer för att hitta ditt innehåll. Sätt in mellan 1–3 reläer. De kan vara personliga reläer, betalda reläer eller offentliga reläer.
Offentliga inkorgsreläer
+ Användaren tar emot aviseringar på dessa reläer
Denna typ av relä tar emot alla svar, kommentarer, gillanden och zaps till dina inlägg. Sätt in mellan 1–3 reläer och se till att de accepterar inlägg från vem som helst.
DM inkorgsreläer
+ Användaren tar emot DM:s på dessa reläer
Sätt in mellan 1–3 reläer som ska fungera som din privata inkorg. Andra kommer att använda dessa reläer för att skicka DM till dig. DM inkorgsreläer bör acceptera alla meddelanden från vem som helst, men endast tillåta dig att ladda ner dem. Bra alternativ är:\n - inbox.nostr.wine (betald)\n - you.nostr1.com (personliga reläer - betald)
Privata reläer
Infoga mellan 1–3 reläer för att lagra händelser som ingen annan kan se, som dina Utkast och/eller appinställningar. Helst är dessa reläer antingen lokala eller kräver autentisering innan du laddar ner varje användares innehåll.
@@ -1012,7 +1022,12 @@
Språk som visas här kommer inte att översättas. Välj ett språk för att ta bort det och få det översatt igen.
Pausa
Spela
+ Öppna rullgardinsmeny
Alternativ %1$s av %2$s
Flödesfilter, %1$s valt
Flödesfilter, %1$s
+ Kraschrapport hittad
+ Vill du skicka den senaste kraschrapporten till Amethyst i ett DM? Ingen personlig information kommer att delas
+ Skicka
+ Detta meddelande försvinner om %1$d dagar
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index ffc728e65..535ed3a99 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -40,7 +40,7 @@ navigationCompose = "2.9.3"
okhttp = "5.1.0"
runner = "1.7.0"
rfc3986 = "0.1.2"
-secp256k1KmpJniAndroid = "0.18.0"
+secp256k1KmpJniAndroid = "0.19.0"
securityCryptoKtx = "1.1.0"
spotless = "7.2.1"
torAndroid = "0.4.8.17.2"
diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DecryptZapResponse.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DecryptZapResponse.kt
index 35b3474a2..fec2ca5ad 100644
--- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DecryptZapResponse.kt
+++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DecryptZapResponse.kt
@@ -34,6 +34,9 @@ class DecryptZapResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed {
+ if (intent.rejected) {
+ return SignerResult.RequestAddressed.ManuallyRejected()
+ }
val eventJson = intent.result
return if (!eventJson.isNullOrBlank()) {
if (eventJson.startsWith("{")) {
diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DeriveKeyResponse.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DeriveKeyResponse.kt
index 3d51fb9a5..c1353a1e6 100644
--- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DeriveKeyResponse.kt
+++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/DeriveKeyResponse.kt
@@ -33,6 +33,9 @@ class DeriveKeyResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed {
+ if (intent.rejected) {
+ return SignerResult.RequestAddressed.ManuallyRejected()
+ }
val newPrivateKey = intent.result
return if (newPrivateKey != null) {
SignerResult.RequestAddressed.Successful(DerivationResult(newPrivateKey))
diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04DecryptResponse.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04DecryptResponse.kt
index 84cc20ab6..ee94be069 100644
--- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04DecryptResponse.kt
+++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04DecryptResponse.kt
@@ -32,6 +32,9 @@ class Nip04DecryptResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed {
+ if (intent.rejected) {
+ return SignerResult.RequestAddressed.ManuallyRejected()
+ }
val plaintext = intent.result
return if (plaintext != null) {
SignerResult.RequestAddressed.Successful(DecryptionResult(plaintext))
diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04EncryptResponse.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04EncryptResponse.kt
index 969520fef..874f782e0 100644
--- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04EncryptResponse.kt
+++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip04EncryptResponse.kt
@@ -32,6 +32,10 @@ class Nip04EncryptResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed {
+ if (intent.rejected) {
+ return SignerResult.RequestAddressed.ManuallyRejected()
+ }
+
val ciphertext = intent.result
return if (ciphertext != null) {
SignerResult.RequestAddressed.Successful(EncryptionResult(ciphertext))
diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44DecryptResponse.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44DecryptResponse.kt
index e65dd8f4f..2f609f0e9 100644
--- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44DecryptResponse.kt
+++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44DecryptResponse.kt
@@ -32,6 +32,9 @@ class Nip44DecryptResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed {
+ if (intent.rejected) {
+ return SignerResult.RequestAddressed.ManuallyRejected()
+ }
val plaintext = intent.result
return if (plaintext != null) {
SignerResult.RequestAddressed.Successful(DecryptionResult(plaintext))
diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44EncryptResponse.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44EncryptResponse.kt
index 243856a38..fc5615442 100644
--- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44EncryptResponse.kt
+++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/Nip44EncryptResponse.kt
@@ -32,6 +32,9 @@ class Nip44EncryptResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed {
+ if (intent.rejected) {
+ return SignerResult.RequestAddressed.ManuallyRejected()
+ }
val ciphertext = intent.result
return if (ciphertext != null) {
SignerResult.RequestAddressed.Successful(EncryptionResult(ciphertext))
diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/SignResponse.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/SignResponse.kt
index 6e8a6d639..d37fb0d9a 100644
--- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/SignResponse.kt
+++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/responses/SignResponse.kt
@@ -39,6 +39,10 @@ class SignResponse {
intent: IntentResult,
unsignedEvent: Event,
): SignerResult.RequestAddressed {
+ if (intent.rejected) {
+ return SignerResult.RequestAddressed.ManuallyRejected()
+ }
+
val eventJson = intent.event
return if (eventJson != null) {
if (eventJson.startsWith("{")) {
diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResult.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResult.kt
index b1beca7a8..58844729b 100644
--- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResult.kt
+++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResult.kt
@@ -29,6 +29,7 @@ data class IntentResult(
val result: String? = null,
val event: String? = null,
val id: String? = null,
+ val rejected: Boolean = false,
) {
fun toJson(): String = JsonMapper.mapper.writeValueAsString(this)
@@ -48,6 +49,7 @@ data class IntentResult(
result = data.getStringExtra("result"),
event = data.getStringExtra("event"),
`package` = data.getStringExtra("package"),
+ rejected = data.extras?.containsKey("rejected") == true,
)
fun fromJson(json: String): IntentResult = JsonMapper.mapper.readValue(json)
diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResultJsonDeserializer.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResultJsonDeserializer.kt
index e53cb8be2..7b21edf39 100644
--- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResultJsonDeserializer.kt
+++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResultJsonDeserializer.kt
@@ -36,6 +36,7 @@ class IntentResultJsonDeserializer : StdDeserializer(IntentResult:
result = jsonObject.get("result")?.asText()?.intern(),
event = jsonObject.get("event")?.asText()?.intern(),
id = jsonObject.get("id")?.asText()?.intern(),
+ rejected = jsonObject.get("rejected")?.asBoolean() ?: false,
)
}
}
diff --git a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResultJsonSerializer.kt b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResultJsonSerializer.kt
index 289f4daed..d8e5f9226 100644
--- a/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResultJsonSerializer.kt
+++ b/quartz/src/androidMain/kotlin/com/vitorpamplona/quartz/nip55AndroidSigner/api/foreground/intents/results/IntentResultJsonSerializer.kt
@@ -35,6 +35,7 @@ class IntentResultJsonSerializer : StdSerializer(IntentResult::cla
result.result?.let { gen.writeStringField("result", it) }
result.event?.let { gen.writeStringField("event", it) }
result.id?.let { gen.writeStringField("id", it) }
+ result.rejected.let { gen.writeBooleanField("rejected", it) }
gen.writeEndObject()
}
}