From 8a18781048bb82ddf8fdc34100872ba5a107e7a0 Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Fri, 24 Nov 2023 12:33:10 -0300 Subject: [PATCH 1/2] support for sending/receiving multiple events from external signer --- .../quartz/signers/ExternalSignerLauncher.kt | 48 ++++++++++++++++--- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/signers/ExternalSignerLauncher.kt b/quartz/src/main/java/com/vitorpamplona/quartz/signers/ExternalSignerLauncher.kt index acb50e5ff..5428c55bb 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/signers/ExternalSignerLauncher.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/signers/ExternalSignerLauncher.kt @@ -5,10 +5,13 @@ import android.content.Intent import android.net.Uri import android.util.Log import android.util.LruCache +import com.fasterxml.jackson.annotation.JsonProperty +import com.fasterxml.jackson.databind.ObjectMapper import com.vitorpamplona.quartz.encoders.HexKey import com.vitorpamplona.quartz.events.EventInterface import com.vitorpamplona.quartz.events.LnZapRequestEvent + enum class SignerType { SIGN_EVENT, NIP04_ENCRYPT, @@ -28,6 +31,15 @@ class Permission( } } +class Result( + @JsonProperty("package") + val `package`: String?, + @JsonProperty("signature") + val signature: String?, + @JsonProperty("id") + val id: String? +) + class ExternalSignerLauncher( private val npub: String, val signerPackageName: String = "com.greenart7c3.nostrsigner" @@ -57,16 +69,36 @@ class ExternalSignerLauncher( } fun newResult(data: Intent) { - val signature = data.getStringExtra("signature") ?: "" - val packageName = data.getStringExtra("package") ?: "" - val id = data.getStringExtra("id") ?: "" - if (id.isNotBlank()) { - val result = if (packageName.isNotBlank()) "$signature-$packageName" else signature - contentCache.get(id)?.invoke(result) + val results = data.getStringExtra("results") + if (results != null) { + val objectMapper = ObjectMapper() + val localResults: Array = objectMapper.readValue( + results, + Array::class.java + ) + + localResults.forEach { + val signature = it.signature ?: "" + val packageName = it.`package` ?: "" + val id = it.id ?: "" + if (id.isNotBlank()) { + val result = if (packageName.isNotBlank()) "$signature-$packageName" else signature + val contentCache = contentCache.get(id) + contentCache?.invoke(result) + } + } + } else { + val signature = data.getStringExtra("signature") ?: "" + val packageName = data.getStringExtra("package") ?: "" + val id = data.getStringExtra("id") ?: "" + if (id.isNotBlank()) { + val result = if (packageName.isNotBlank()) "$signature-$packageName" else signature + val contentCache = contentCache.get(id) + contentCache?.invoke(result) + } } } - fun openSignerApp( data: String, type: SignerType, @@ -145,6 +177,8 @@ class ExternalSignerLauncher( intent.`package` = signerPackageName } + intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP) + contentCache.put(id, onReady) intentLauncher(intent) From 0f74bc7b746ed7058b341360cb1c6c5927d063d0 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Fri, 24 Nov 2023 15:37:59 +0000 Subject: [PATCH 2/2] New Crowdin translations by GitHub Action --- app/src/main/res/values-cs/strings.xml | 3 +++ app/src/main/res/values-de/strings.xml | 3 +++ app/src/main/res/values-hu/strings.xml | 1 + app/src/main/res/values-sv-rSE/strings.xml | 3 +++ 4 files changed, 10 insertions(+) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 86afbbfae..a45b46521 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -338,6 +338,7 @@ Seznam sledovaných Všechna sledování Globální + Seznam ztlumení ## Připojte se přes Tor s Orbotem \n\n1. Nainstalujte [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android) \n2. Spusťte Orbot @@ -509,7 +510,9 @@ Zaplaceno Peněženka %1$s Chyba při otevírání aplikace pro podpis + Signner aplikace nebyla nalezena. Zkontrolujte, zda aplikace nebyla odinstalována Žádost o podpis byla zamítnuta + Ujistěte se, že podepisující aplikace autorizovala tuto transakci Nebyly nalezeny žádné peněženky pro platbu bleskové faktury (Chyba: %1$s). Prosím, nainstalujte si bleskovou peněženku pro použití Zapů Nebyly nalezeny žádné peněženky pro platbu bleskové faktury. Prosím, nainstalujte si bleskovou peněženku pro použití Zapů Skrytá slova diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 90dbb59af..85bc7a833 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -343,6 +343,7 @@ anz der Bedingungen ist erforderlich Folgen-Liste Alle Folgen Weltweit + Stummliste ## Über Tor mit Orbot verbinden \n\n1. Installiere [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android) \n2. Starte Orbot @@ -513,7 +514,9 @@ anz der Bedingungen ist erforderlich Bezahlt Brieftasche %1$s Fehler beim Öffnen der Signatur-App + Die Unterzeichner-App konnte nicht gefunden werden. Prüfen Sie, ob die App nicht deinstalliert wurde Signaturanfrage abgelehnt + Stellen Sie sicher, dass die Unterzeichner-Anwendung diese Transaktion autorisiert hat Keine Wallets gefunden, um eine Lightning-Rechnung zu bezahlen (Fehler: %1$s). Installieren Sie eine Lightning-Wallet, um Zaps zu verwenden Keine Wallets gefunden, um eine Lightning-Rechnung zu bezahlen. Installieren Sie eine Lightning-Wallet, um Zaps zu verwenden Versteckte Wörter diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 976f3530b..13e92836d 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -338,6 +338,7 @@ Követek Lista Mindenki akit követek Globális + Némítottak listája ## Kapcsolódj a TOR-on keresztül az Orbot segítségével \n\n1. Telepítsd az [Orbot-ot](https://play.google.com/store/apps/details?id=org.torproject.android) \n2. Indítsd el az Orbot-ot diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index 2c4b50245..270298458 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -337,6 +337,7 @@ Följ lista Alla följare Global + Tyst listan ## Anslut genom Tor med Orbot \n\n1. Installera [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android) \n2. Starta Orbot @@ -507,7 +508,9 @@ Betald Plånbok %1$s Fel vid öppning av signeringsapp + Signeringsprogrammet kunde inte hittas. Kontrollera att appen inte har avinstallerats Underteckningsbegäran avvisad + Kontrollera att signeringsprogrammet har godkänt denna transaktion Inga plånböcker hittades för att betala en blixtfaktura (Fel: %1$s). Installera en blixtpengaplånbok för att använda zaps Inga plånböcker hittades för att betala en blixtfaktura. Installera en blixtpengaplånbok för att använda zaps Dolda ord