This commit is contained in:
Vitor Pamplona 2024-01-18 13:36:24 -03:00
commit 0babc46f7c
9 changed files with 155 additions and 54 deletions

View File

@ -90,6 +90,8 @@
<string name="add_a_relay">Přidat přeposílání</string>
<string name="display_name">Zobrazované jméno</string>
<string name="my_display_name">Moje zobrazované jméno</string>
<string name="my_awesome_name">Ostrich McAwesome</string>
<string name="welcome">Vítejte Ostrich!</string>
<string name="username">Uživatelské jméno</string>
<string name="my_username">Moje uživatelské jméno</string>
<string name="about_me">O mně</string>
@ -143,7 +145,14 @@
<string name="terms_of_use">podmínkami použití</string>
<string name="acceptance_of_terms_is_required">Je vyžadováno přijetí podmínek</string>
<string name="key_is_required">Klíč je povinný</string>
<string name="name_is_required">Jméno je povinné</string>
<string name="login">Přihlásit se</string>
<string name="sign_up">Registrovat se</string>
<string name="create_account">Vytvořit účet</string>
<string name="how_should_we_call_you">Jak bychom vám měli říkat?</string>
<string name="don_t_have_an_account">Nemáte Nostr účet?</string>
<string name="already_have_an_account">Máte již Nostr účet?</string>
<string name="create_a_new_account">Vytvořit nový účet</string>
<string name="generate_a_new_key">Vygenerovat nový klíč</string>
<string name="loading_feed">Načítání zdroje</string>
<string name="loading_account">Načítání účtu</string>

View File

@ -90,6 +90,8 @@
<string name="add_a_relay">Relay hinzufügen</string>
<string name="display_name">Anzeigename</string>
<string name="my_display_name">Mein Anzeigename</string>
<string name="my_awesome_name">Ostrich McAwesome</string>
<string name="welcome">Willkommen Ostrich!</string>
<string name="username">Benutzername</string>
<string name="my_username">Mein Benutzername</string>
<string name="about_me">Über mich</string>
@ -147,7 +149,14 @@ erie gespeichert</string>
anz der Bedingungen ist erforderlich</string>
<string name="key_is_required">Schlüssel ist erforderlich</string>
<string name="name_is_required">Ein Name wird benötigt</string>
<string name="login">Anmeldung</string>
<string name="sign_up">Anmelden</string>
<string name="create_account">Konto erstellen</string>
<string name="how_should_we_call_you">Wie sollen wir Sie nennen?</string>
<string name="don_t_have_an_account">Sie haben kein Nostr-Konto?</string>
<string name="already_have_an_account">Haben Sie schon ein Nostr-Konto?</string>
<string name="create_a_new_account">Neues Konto anlegen</string>
<string name="generate_a_new_key">Neuen Schlüssel generieren</string>
<string name="loading_feed">Feed wird geladen</string>
<string name="loading_account">Konto wird geladen</string>

View File

@ -90,6 +90,8 @@
<string name="add_a_relay">Agregar un relé</string>
<string name="display_name">Nombre para mostrar</string>
<string name="my_display_name">Mi nombre para mostrar</string>
<string name="my_awesome_name">Avestruz Maravillosa</string>
<string name="welcome">¡Te damos la bienvenida, Avestruz!</string>
<string name="username">Nombre de usuario</string>
<string name="my_username">Mi nombre de usuario</string>
<string name="about_me">Quién soy</string>
@ -143,7 +145,14 @@
<string name="terms_of_use">condiciones de uso</string>
<string name="acceptance_of_terms_is_required">Es obligatorio aceptar las condiciones</string>
<string name="key_is_required">Se requiere la clave</string>
<string name="name_is_required">Se requiere un nombre</string>
<string name="login">Iniciar sesión</string>
<string name="sign_up">Registrarse</string>
<string name="create_account">Crear cuenta</string>
<string name="how_should_we_call_you">¿Cómo debemos llamarte?</string>
<string name="don_t_have_an_account">¿No tienes una cuenta de Nostr?</string>
<string name="already_have_an_account">¿Ya tienes una cuenta de Nostr?</string>
<string name="create_a_new_account">Crear una cuenta nueva</string>
<string name="generate_a_new_key">Generar una clave nueva</string>
<string name="loading_feed">Cargando feed</string>
<string name="loading_account">Cargando cuenta</string>

View File

@ -90,6 +90,8 @@
<string name="add_a_relay">Agregar un relé</string>
<string name="display_name">Nombre para mostrar</string>
<string name="my_display_name">Mi nombre para mostrar</string>
<string name="my_awesome_name">Avestruz Maravillosa</string>
<string name="welcome">¡Te damos la bienvenida, Avestruz!</string>
<string name="username">Nombre de usuario</string>
<string name="my_username">Mi nombre de usuario</string>
<string name="about_me">Quién soy</string>
@ -143,7 +145,14 @@
<string name="terms_of_use">condiciones de uso</string>
<string name="acceptance_of_terms_is_required">Es obligatorio aceptar las condiciones</string>
<string name="key_is_required">Se requiere la clave</string>
<string name="name_is_required">Se requiere un nombre</string>
<string name="login">Iniciar sesión</string>
<string name="sign_up">Registrarse</string>
<string name="create_account">Crear cuenta</string>
<string name="how_should_we_call_you">¿Cómo debemos llamarte?</string>
<string name="don_t_have_an_account">¿No tienes una cuenta de Nostr?</string>
<string name="already_have_an_account">¿Ya tienes una cuenta de Nostr?</string>
<string name="create_a_new_account">Crear una cuenta nueva</string>
<string name="generate_a_new_key">Generar una clave nueva</string>
<string name="loading_feed">Cargando feed</string>
<string name="loading_account">Cargando cuenta</string>

View File

@ -143,7 +143,14 @@
<string name="terms_of_use">conditions d\'utilisation</string>
<string name="acceptance_of_terms_is_required">L\'acceptation des conditions est requise</string>
<string name="key_is_required">La clé est requise</string>
<string name="name_is_required">Un nom est requis</string>
<string name="login">Connexion</string>
<string name="sign_up">Inscription</string>
<string name="create_account">Créer un Compte</string>
<string name="how_should_we_call_you">Comment devrions-nous vous appeler ?</string>
<string name="don_t_have_an_account">Vous n\'avez pas de compte Nostr ?</string>
<string name="already_have_an_account">Vous avez déjà un compte Nostr ?</string>
<string name="create_a_new_account">Créer un nouveau compte</string>
<string name="generate_a_new_key">Générer une nouvelle clé</string>
<string name="loading_feed">Chargement du flux</string>
<string name="loading_account">Chargement du compte</string>
@ -571,4 +578,11 @@
<string name="classifieds_category_food">Nourriture</string>
<string name="classifieds_category_misc">Divers</string>
<string name="classifieds_category_other">Autres</string>
<string name="failed_to_upload_media_no_details">Échec du téléversement du fichier</string>
<string name="could_not_open_the_compressed_file">Impossible d\'ouvrir le fichier compressé</string>
<string name="error_when_compressing_media">Erreur lors de la compression du média : %1$s</string>
<string name="failed_to_upload_media">Erreur de téléversement : %1$s</string>
<string name="server_did_not_provide_a_url_after_uploading">Le serveur n\'a pas fourni d\'URL après le téléversement</string>
<string name="could_not_download_from_the_server">Impossible de télécharger le média depuis le serveur</string>
<string name="could_not_prepare_local_file_to_upload">Impossible de préparer le fichier local à téléverser: %1$s</string>
</resources>

View File

@ -90,6 +90,8 @@
<string name="add_a_relay">Csomópont hozzáadása</string>
<string name="display_name">Megjelenítendő Név</string>
<string name="my_display_name">Az én megjelenített névem</string>
<string name="my_awesome_name">Király McStrucc</string>
<string name="welcome">Üdvözlünk Strucc!</string>
<string name="username">Felhasználónév</string>
<string name="my_username">Felhasználónevem</string>
<string name="about_me">Rólam</string>
@ -143,7 +145,14 @@
<string name="terms_of_use">használati feltételeket</string>
<string name="acceptance_of_terms_is_required">A feltételek elfogadása szükséges</string>
<string name="key_is_required">Kulcs szükséges</string>
<string name="name_is_required">Név megadása kötelező</string>
<string name="login">Bejelentkezés</string>
<string name="sign_up">Regisztráció</string>
<string name="create_account">Fiók létrehozása</string>
<string name="how_should_we_call_you">Hogyan szólíthatunk?</string>
<string name="don_t_have_an_account">Nincs Nostr fiókod?</string>
<string name="already_have_an_account">Van már Nostr-fiókod?</string>
<string name="create_a_new_account">Új fiók létrehozása</string>
<string name="generate_a_new_key">Új kulcs létrehozása</string>
<string name="loading_feed">Lista betöltése</string>
<string name="loading_account">Fiók betöltése</string>

View File

@ -90,6 +90,8 @@
<string name="add_a_relay">Adicionar um Relay</string>
<string name="display_name">Nome de Exibição</string>
<string name="my_display_name">Meu nome de exibição</string>
<string name="my_awesome_name">McAwesome Ostrich</string>
<string name="welcome">Bem-vindo, Ostrich!</string>
<string name="username">Usuário</string>
<string name="my_username">Meu usuário</string>
<string name="about_me">Sobre mim</string>
@ -143,7 +145,14 @@
<string name="terms_of_use">termos de uso</string>
<string name="acceptance_of_terms_is_required">É necessário aceitar os termos de uso</string>
<string name="key_is_required">Chave é obrigatória</string>
<string name="name_is_required">Um nome é necessário</string>
<string name="login">Entrar</string>
<string name="sign_up">Enviar</string>
<string name="create_account">Criar Conta</string>
<string name="how_should_we_call_you">Como deveríamos chamar você?</string>
<string name="don_t_have_an_account">Não tem uma conta Nostr?</string>
<string name="already_have_an_account">Já tem uma conta Nostr?</string>
<string name="create_a_new_account">Criar uma nova conta</string>
<string name="generate_a_new_key">Gerar uma nova chave</string>
<string name="loading_feed">Carregando feed</string>
<string name="loading_account">Carregando conta</string>

View File

@ -90,6 +90,8 @@
<string name="add_a_relay">Lägg till Relä</string>
<string name="display_name">Visningsnamn</string>
<string name="my_display_name">Mitt visningsnamn</string>
<string name="my_awesome_name">Struts McAwesome</string>
<string name="welcome">Välkommen struts!</string>
<string name="username">Användarnamn</string>
<string name="my_username">Mitt användarnamn</string>
<string name="about_me">Om mig</string>
@ -143,7 +145,14 @@
<string name="terms_of_use">villkor</string>
<string name="acceptance_of_terms_is_required">Godkännande av villkor krävs</string>
<string name="key_is_required">Nyckel krävs</string>
<string name="name_is_required">Namn är obligatoriskt</string>
<string name="login">Inloggning</string>
<string name="sign_up">Registrera dig</string>
<string name="create_account">Skapa ett konto</string>
<string name="how_should_we_call_you">Hur ska vi kalla dig?</string>
<string name="don_t_have_an_account">Har du inget Nostr konto?</string>
<string name="already_have_an_account">Har du redan ett Nostr konto?</string>
<string name="create_a_new_account">Skapa ett nytt konto</string>
<string name="generate_a_new_key">Skapa en ny nyckel</string>
<string name="loading_feed">Ladda flöde</string>
<string name="loading_account">Laddar kontot</string>

View File

@ -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<out String>,
columnName: String = "signature",
): String? {
): kotlin.Result<String?> {
return getDataFromResolver(signerType, data, columnName, contentResolver)
}
fun getDataFromResolver(
private fun getDataFromResolver(
signerType: SignerType,
data: Array<out String>,
columnName: String = "signature",
contentResolver: (() -> ContentResolver)? = null,
): String? {
): kotlin.Result<String?> {
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)
}
},
)
}
}