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
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)