This commit is contained in:
Vitor Pamplona
2023-11-24 12:28:01 -05:00
5 changed files with 51 additions and 7 deletions
+3
View File
@@ -338,6 +338,7 @@
<string name="follow_list_selection">Seznam sledovaných</string> <string name="follow_list_selection">Seznam sledovaných</string>
<string name="follow_list_kind3follows">Všechna sledování</string> <string name="follow_list_kind3follows">Všechna sledování</string>
<string name="follow_list_global">Globální</string> <string name="follow_list_global">Globální</string>
<string name="follow_list_mute_list">Seznam ztlumení</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Připojte se přes Tor s Orbotem <string name="connect_through_your_orbot_setup_markdown"> ## Připojte se přes Tor s Orbotem
\n\n1. Nainstalujte [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android) \n\n1. Nainstalujte [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Spusťte Orbot \n2. Spusťte Orbot
@@ -509,7 +510,9 @@
<string name="paid">Zaplaceno</string> <string name="paid">Zaplaceno</string>
<string name="wallet_number">Peněženka %1$s</string> <string name="wallet_number">Peněženka %1$s</string>
<string name="error_opening_external_signer">Chyba při otevírání aplikace pro podpis</string> <string name="error_opening_external_signer">Chyba při otevírání aplikace pro podpis</string>
<string name="error_opening_external_signer_description">Signner aplikace nebyla nalezena. Zkontrolujte, zda aplikace nebyla odinstalována</string>
<string name="sign_request_rejected">Žádost o podpis byla zamítnuta</string> <string name="sign_request_rejected">Žádost o podpis byla zamítnuta</string>
<string name="sign_request_rejected_description">Ujistěte se, že podepisující aplikace autorizovala tuto transakci</string>
<string name="no_wallet_found_with_error">Nebyly nalezeny žádné peněženky pro platbu bleskové faktury (Chyba: %1$s). Prosím, nainstalujte si bleskovou peněženku pro použití Zapů</string> <string name="no_wallet_found_with_error">Nebyly nalezeny žádné peněženky pro platbu bleskové faktury (Chyba: %1$s). Prosím, nainstalujte si bleskovou peněženku pro použití Zapů</string>
<string name="no_wallet_found">Nebyly nalezeny žádné peněženky pro platbu bleskové faktury. Prosím, nainstalujte si bleskovou peněženku pro použití Zapů</string> <string name="no_wallet_found">Nebyly nalezeny žádné peněženky pro platbu bleskové faktury. Prosím, nainstalujte si bleskovou peněženku pro použití Zapů</string>
<string name="hidden_words">Skrytá slova</string> <string name="hidden_words">Skrytá slova</string>
+3
View File
@@ -343,6 +343,7 @@ anz der Bedingungen ist erforderlich</string>
<string name="follow_list_selection">Folgen-Liste</string> <string name="follow_list_selection">Folgen-Liste</string>
<string name="follow_list_kind3follows">Alle Folgen</string> <string name="follow_list_kind3follows">Alle Folgen</string>
<string name="follow_list_global">Weltweit</string> <string name="follow_list_global">Weltweit</string>
<string name="follow_list_mute_list">Stummliste</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Über Tor mit Orbot verbinden <string name="connect_through_your_orbot_setup_markdown"> ## Über Tor mit Orbot verbinden
\n\n1. Installiere [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android) \n\n1. Installiere [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Starte Orbot \n2. Starte Orbot
@@ -513,7 +514,9 @@ anz der Bedingungen ist erforderlich</string>
<string name="paid">Bezahlt</string> <string name="paid">Bezahlt</string>
<string name="wallet_number">Brieftasche %1$s</string> <string name="wallet_number">Brieftasche %1$s</string>
<string name="error_opening_external_signer">Fehler beim Öffnen der Signatur-App</string> <string name="error_opening_external_signer">Fehler beim Öffnen der Signatur-App</string>
<string name="error_opening_external_signer_description">Die Unterzeichner-App konnte nicht gefunden werden. Prüfen Sie, ob die App nicht deinstalliert wurde</string>
<string name="sign_request_rejected">Signaturanfrage abgelehnt</string> <string name="sign_request_rejected">Signaturanfrage abgelehnt</string>
<string name="sign_request_rejected_description">Stellen Sie sicher, dass die Unterzeichner-Anwendung diese Transaktion autorisiert hat</string>
<string name="no_wallet_found_with_error">Keine Wallets gefunden, um eine Lightning-Rechnung zu bezahlen (Fehler: %1$s). Installieren Sie eine Lightning-Wallet, um Zaps zu verwenden</string> <string name="no_wallet_found_with_error">Keine Wallets gefunden, um eine Lightning-Rechnung zu bezahlen (Fehler: %1$s). Installieren Sie eine Lightning-Wallet, um Zaps zu verwenden</string>
<string name="no_wallet_found">Keine Wallets gefunden, um eine Lightning-Rechnung zu bezahlen. Installieren Sie eine Lightning-Wallet, um Zaps zu verwenden</string> <string name="no_wallet_found">Keine Wallets gefunden, um eine Lightning-Rechnung zu bezahlen. Installieren Sie eine Lightning-Wallet, um Zaps zu verwenden</string>
<string name="hidden_words">Versteckte Wörter</string> <string name="hidden_words">Versteckte Wörter</string>
+1
View File
@@ -338,6 +338,7 @@
<string name="follow_list_selection">Követek Lista</string> <string name="follow_list_selection">Követek Lista</string>
<string name="follow_list_kind3follows">Mindenki akit követek</string> <string name="follow_list_kind3follows">Mindenki akit követek</string>
<string name="follow_list_global">Globális</string> <string name="follow_list_global">Globális</string>
<string name="follow_list_mute_list">Némítottak listája</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Kapcsolódj a TOR-on keresztül az Orbot segítségével <string name="connect_through_your_orbot_setup_markdown"> ## 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) \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 \n2. Indítsd el az Orbot-ot
@@ -337,6 +337,7 @@
<string name="follow_list_selection">Följ lista</string> <string name="follow_list_selection">Följ lista</string>
<string name="follow_list_kind3follows">Alla följare</string> <string name="follow_list_kind3follows">Alla följare</string>
<string name="follow_list_global">Global</string> <string name="follow_list_global">Global</string>
<string name="follow_list_mute_list">Tyst listan</string>
<string name="connect_through_your_orbot_setup_markdown"> ## Anslut genom Tor med Orbot <string name="connect_through_your_orbot_setup_markdown"> ## Anslut genom Tor med Orbot
\n\n1. Installera [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android) \n\n1. Installera [Orbot](https://play.google.com/store/apps/details?id=org.torproject.android)
\n2. Starta Orbot \n2. Starta Orbot
@@ -507,7 +508,9 @@
<string name="paid">Betald</string> <string name="paid">Betald</string>
<string name="wallet_number">Plånbok %1$s</string> <string name="wallet_number">Plånbok %1$s</string>
<string name="error_opening_external_signer">Fel vid öppning av signeringsapp</string> <string name="error_opening_external_signer">Fel vid öppning av signeringsapp</string>
<string name="error_opening_external_signer_description">Signeringsprogrammet kunde inte hittas. Kontrollera att appen inte har avinstallerats</string>
<string name="sign_request_rejected">Underteckningsbegäran avvisad</string> <string name="sign_request_rejected">Underteckningsbegäran avvisad</string>
<string name="sign_request_rejected_description">Kontrollera att signeringsprogrammet har godkänt denna transaktion</string>
<string name="no_wallet_found_with_error">Inga plånböcker hittades för att betala en blixtfaktura (Fel: %1$s). Installera en blixtpengaplånbok för att använda zaps</string> <string name="no_wallet_found_with_error">Inga plånböcker hittades för att betala en blixtfaktura (Fel: %1$s). Installera en blixtpengaplånbok för att använda zaps</string>
<string name="no_wallet_found">Inga plånböcker hittades för att betala en blixtfaktura. Installera en blixtpengaplånbok för att använda zaps</string> <string name="no_wallet_found">Inga plånböcker hittades för att betala en blixtfaktura. Installera en blixtpengaplånbok för att använda zaps</string>
<string name="hidden_words">Dolda ord</string> <string name="hidden_words">Dolda ord</string>
@@ -5,10 +5,13 @@ import android.content.Intent
import android.net.Uri import android.net.Uri
import android.util.Log import android.util.Log
import android.util.LruCache 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.encoders.HexKey
import com.vitorpamplona.quartz.events.EventInterface import com.vitorpamplona.quartz.events.EventInterface
import com.vitorpamplona.quartz.events.LnZapRequestEvent import com.vitorpamplona.quartz.events.LnZapRequestEvent
enum class SignerType { enum class SignerType {
SIGN_EVENT, SIGN_EVENT,
NIP04_ENCRYPT, 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( class ExternalSignerLauncher(
private val npub: String, private val npub: String,
val signerPackageName: String = "com.greenart7c3.nostrsigner" val signerPackageName: String = "com.greenart7c3.nostrsigner"
@@ -57,16 +69,36 @@ class ExternalSignerLauncher(
} }
fun newResult(data: Intent) { fun newResult(data: Intent) {
val signature = data.getStringExtra("signature") ?: "" val results = data.getStringExtra("results")
val packageName = data.getStringExtra("package") ?: "" if (results != null) {
val id = data.getStringExtra("id") ?: "" val objectMapper = ObjectMapper()
if (id.isNotBlank()) { val localResults: Array<Result> = objectMapper.readValue(
val result = if (packageName.isNotBlank()) "$signature-$packageName" else signature results,
contentCache.get(id)?.invoke(result) Array<Result>::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( fun openSignerApp(
data: String, data: String,
type: SignerType, type: SignerType,
@@ -145,6 +177,8 @@ class ExternalSignerLauncher(
intent.`package` = signerPackageName intent.`package` = signerPackageName
} }
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP)
contentCache.put(id, onReady) contentCache.put(id, onReady)
intentLauncher(intent) intentLauncher(intent)