From 13d9c1ab10c6d62d87edb1e26d643d57a83b668f Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Wed, 17 Jan 2024 09:05:24 -0300 Subject: [PATCH 1/2] add support for always rejected permissions from external signer --- .../quartz/signers/ExternalSignerLauncher.kt | 132 +++++++++++------- 1 file changed, 78 insertions(+), 54 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 a037817cd..7d5449ddb 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/signers/ExternalSignerLauncher.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/signers/ExternalSignerLauncher.kt @@ -252,33 +252,38 @@ class ExternalSignerLauncher( arrayOf(event.toJson(), event.pubKey()), columnName, ) - if (result == null) { - openSignerApp( - event.toJson(), - SignerType.SIGN_EVENT, - "", - event.id(), - onReady, - ) - } else { - onReady(result) - } + result.fold( + onFailure = { }, + onSuccess = { + if (it == null) { + openSignerApp( + event.toJson(), + SignerType.SIGN_EVENT, + "", + event.id(), + onReady, + ) + } else { + onReady(it) + } + }, + ) } - fun getDataFromResolver( + private fun getDataFromResolver( signerType: SignerType, data: Array, columnName: String = "signature", - ): String? { + ): kotlin.Result { return getDataFromResolver(signerType, data, columnName, contentResolver) } - fun getDataFromResolver( + private fun getDataFromResolver( signerType: SignerType, data: Array, columnName: String = "signature", contentResolver: (() -> ContentResolver)? = null, - ): String? { + ): kotlin.Result { val localData = if (signerType !== SignerType.GET_PUBLIC_KEY) { data.toList().plus(npub).toTypedArray() @@ -292,29 +297,33 @@ class ExternalSignerLauncher( ?.query( Uri.parse("content://$signerPackageName.$signerType"), localData, - null, + "1", null, null, ) .use { if (it == null) { - return null + return kotlin.Result.success(null) } if (it.moveToFirst()) { + if (it.getColumnIndex("rejected") > -1) { + Log.d("getDataFromResolver", "Permission denied") + return kotlin.Result.failure(Exception("Permission denied")) + } val index = it.getColumnIndex(columnName) if (index < 0) { Log.d("getDataFromResolver", "column '$columnName' not found") - return null + return kotlin.Result.success(null) } - return it.getString(index) + return kotlin.Result.success(it.getString(index)) } } } catch (e: Exception) { Log.e("ExternalSignerLauncher", "Failed to query the Signer app in the background") - return null + return kotlin.Result.success(null) } - return null + return kotlin.Result.success(null) } fun decrypt( @@ -325,17 +334,22 @@ class ExternalSignerLauncher( ) { val id = (encryptedContent + pubKey + onReady.toString()).hashCode().toString() val result = getDataFromResolver(signerType, arrayOf(encryptedContent, pubKey)) - if (result == null) { - openSignerApp( - encryptedContent, - signerType, - pubKey, - id, - onReady, - ) - } else { - onReady(result) - } + result.fold( + onFailure = { }, + onSuccess = { + if (it == null) { + openSignerApp( + encryptedContent, + signerType, + pubKey, + id, + onReady, + ) + } else { + onReady(it) + } + }, + ) } fun encrypt( @@ -346,17 +360,22 @@ class ExternalSignerLauncher( ) { val id = (decryptedContent + pubKey + onReady.toString()).hashCode().toString() val result = getDataFromResolver(signerType, arrayOf(decryptedContent, pubKey)) - if (result == null) { - openSignerApp( - decryptedContent, - signerType, - pubKey, - id, - onReady, - ) - } else { - onReady(result) - } + result.fold( + onFailure = { }, + onSuccess = { + if (it == null) { + openSignerApp( + decryptedContent, + signerType, + pubKey, + id, + onReady, + ) + } else { + onReady(it) + } + }, + ) } fun decryptZapEvent( @@ -365,16 +384,21 @@ class ExternalSignerLauncher( ) { val result = getDataFromResolver(SignerType.DECRYPT_ZAP_EVENT, arrayOf(event.toJson(), event.pubKey)) - if (result == null) { - openSignerApp( - event.toJson(), - SignerType.DECRYPT_ZAP_EVENT, - event.pubKey, - event.id, - onReady, - ) - } else { - onReady(result) - } + result.fold( + onFailure = { }, + onSuccess = { + if (it == null) { + openSignerApp( + event.toJson(), + SignerType.DECRYPT_ZAP_EVENT, + event.pubKey, + event.id, + onReady, + ) + } else { + onReady(it) + } + }, + ) } } From f4684ed07875cbff72e0fdece86790c9b933b2e0 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Wed, 17 Jan 2024 12:24:41 +0000 Subject: [PATCH 2/2] New Crowdin translations by GitHub Action --- app/src/main/res/values-cs/strings.xml | 9 +++++++++ app/src/main/res/values-de/strings.xml | 9 +++++++++ app/src/main/res/values-es-rMX/strings.xml | 9 +++++++++ app/src/main/res/values-es-rUS/strings.xml | 9 +++++++++ app/src/main/res/values-fr/strings.xml | 14 ++++++++++++++ app/src/main/res/values-hu/strings.xml | 9 +++++++++ app/src/main/res/values-pt-rBR/strings.xml | 9 +++++++++ app/src/main/res/values-sv-rSE/strings.xml | 9 +++++++++ 8 files changed, 77 insertions(+) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 411356350..2289f235a 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -90,6 +90,8 @@ Přidat přeposílání Zobrazované jméno Moje zobrazované jméno + Ostrich McAwesome + Vítejte Ostrich! Uživatelské jméno Moje uživatelské jméno O mně @@ -143,7 +145,14 @@ podmínkami použití Je vyžadováno přijetí podmínek Klíč je povinný + Jméno je povinné Přihlásit se + Registrovat se + Vytvořit účet + Jak bychom vám měli říkat? + Nemáte Nostr účet? + Máte již Nostr účet? + Vytvořit nový účet Vygenerovat nový klíč Načítání zdroje Načítání účtu diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c1c7434de..4631cd18b 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -90,6 +90,8 @@ Relay hinzufügen Anzeigename Mein Anzeigename + Ostrich McAwesome + Willkommen Ostrich! Benutzername Mein Benutzername Über mich @@ -147,7 +149,14 @@ erie gespeichert anz der Bedingungen ist erforderlich Schlüssel ist erforderlich + Ein Name wird benötigt Anmeldung + Anmelden + Konto erstellen + Wie sollen wir Sie nennen? + Sie haben kein Nostr-Konto? + Haben Sie schon ein Nostr-Konto? + Neues Konto anlegen Neuen Schlüssel generieren Feed wird geladen Konto wird geladen diff --git a/app/src/main/res/values-es-rMX/strings.xml b/app/src/main/res/values-es-rMX/strings.xml index 860260a9f..0cc233fe2 100644 --- a/app/src/main/res/values-es-rMX/strings.xml +++ b/app/src/main/res/values-es-rMX/strings.xml @@ -90,6 +90,8 @@ Agregar un relé Nombre para mostrar Mi nombre para mostrar + Avestruz Maravillosa + ¡Te damos la bienvenida, Avestruz! Nombre de usuario Mi nombre de usuario Quién soy @@ -143,7 +145,14 @@ condiciones de uso Es obligatorio aceptar las condiciones Se requiere la clave + Se requiere un nombre Iniciar sesión + Registrarse + Crear cuenta + ¿Cómo debemos llamarte? + ¿No tienes una cuenta de Nostr? + ¿Ya tienes una cuenta de Nostr? + Crear una cuenta nueva Generar una clave nueva Cargando feed Cargando cuenta diff --git a/app/src/main/res/values-es-rUS/strings.xml b/app/src/main/res/values-es-rUS/strings.xml index 8a09d7483..cea4db84d 100644 --- a/app/src/main/res/values-es-rUS/strings.xml +++ b/app/src/main/res/values-es-rUS/strings.xml @@ -90,6 +90,8 @@ Agregar un relé Nombre para mostrar Mi nombre para mostrar + Avestruz Maravillosa + ¡Te damos la bienvenida, Avestruz! Nombre de usuario Mi nombre de usuario Quién soy @@ -143,7 +145,14 @@ condiciones de uso Es obligatorio aceptar las condiciones Se requiere la clave + Se requiere un nombre Iniciar sesión + Registrarse + Crear cuenta + ¿Cómo debemos llamarte? + ¿No tienes una cuenta de Nostr? + ¿Ya tienes una cuenta de Nostr? + Crear una cuenta nueva Generar una clave nueva Cargando feed Cargando cuenta diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 138ebf8fa..62cc6b369 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -143,7 +143,14 @@ conditions d\'utilisation L\'acceptation des conditions est requise La clé est requise + Un nom est requis Connexion + Inscription + Créer un Compte + Comment devrions-nous vous appeler ? + Vous n\'avez pas de compte Nostr ? + Vous avez déjà un compte Nostr ? + Créer un nouveau compte Générer une nouvelle clé Chargement du flux Chargement du compte @@ -571,4 +578,11 @@ Nourriture Divers Autres + Échec du téléversement du fichier + Impossible d\'ouvrir le fichier compressé + Erreur lors de la compression du média : %1$s + Erreur de téléversement : %1$s + Le serveur n\'a pas fourni d\'URL après le téléversement + Impossible de télécharger le média depuis le serveur + Impossible de préparer le fichier local à téléverser: %1$s diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 1358ba3cb..f1d550af2 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -90,6 +90,8 @@ Csomópont hozzáadása Megjelenítendő Név Az én megjelenített névem + Király McStrucc + Üdvözlünk Strucc! Felhasználónév Felhasználónevem Rólam @@ -143,7 +145,14 @@ használati feltételeket A feltételek elfogadása szükséges Kulcs szükséges + Név megadása kötelező Bejelentkezés + Regisztráció + Fiók létrehozása + Hogyan szólíthatunk? + Nincs Nostr fiókod? + Van már Nostr-fiókod? + Új fiók létrehozása Új kulcs létrehozása Lista betöltése Fiók betöltése diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 72d3df0c4..ca944e22b 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -90,6 +90,8 @@ Adicionar um Relay Nome de Exibição Meu nome de exibição + McAwesome Ostrich + Bem-vindo, Ostrich! Usuário Meu usuário Sobre mim @@ -143,7 +145,14 @@ termos de uso É necessário aceitar os termos de uso Chave é obrigatória + Um nome é necessário Entrar + Enviar + Criar Conta + Como deveríamos chamar você? + Não tem uma conta Nostr? + Já tem uma conta Nostr? + Criar uma nova conta Gerar uma nova chave Carregando feed Carregando conta diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index ea9f5332e..246a9ab38 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -90,6 +90,8 @@ Lägg till Relä Visningsnamn Mitt visningsnamn + Struts McAwesome + Välkommen struts! Användarnamn Mitt användarnamn Om mig @@ -143,7 +145,14 @@ villkor Godkännande av villkor krävs Nyckel krävs + Namn är obligatoriskt Inloggning + Registrera dig + Skapa ett konto + Hur ska vi kalla dig? + Har du inget Nostr konto? + Har du redan ett Nostr konto? + Skapa ett nytt konto Skapa en ny nyckel Ladda flöde Laddar kontot