From e0ec8a741ca021a0838a00f5519c3e124fd9a257 Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Mon, 22 Jan 2024 11:29:10 -0300 Subject: [PATCH] remove the need for application package name in the androidManifest for the external signer --- app/src/main/AndroidManifest.xml | 7 +++++-- .../vitorpamplona/amethyst/service/PackageUtils.kt | 12 ++++++++++-- .../amethyst/ui/screen/loggedOff/LoginScreen.kt | 2 +- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b30c56b1d..8b30f6ee1 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,8 +3,11 @@ xmlns:tools="http://schemas.android.com/tools"> - - + + + + + diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/PackageUtils.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/PackageUtils.kt index f7767cd8f..75e17676b 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/PackageUtils.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/PackageUtils.kt @@ -21,6 +21,8 @@ package com.vitorpamplona.amethyst.service import android.content.Context +import android.content.Intent +import android.net.Uri object PackageUtils { private fun isPackageInstalled( @@ -36,7 +38,13 @@ object PackageUtils { return isPackageInstalled(context, "org.torproject.android") } - fun isAmberInstalled(context: Context): Boolean { - return isPackageInstalled(context, "com.greenart7c3.nostrsigner") + fun isExternalSignerInstalled(context: Context): Boolean { + val intent = + Intent().apply { + action = Intent.ACTION_VIEW + data = Uri.parse("nostrsigner:") + } + val infos = context.packageManager.queryIntentActivities(intent, 0) + return infos.size > 0 } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt index e4ce9040e..079aa53cd 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt @@ -458,7 +458,7 @@ fun LoginPage( } } - if (PackageUtils.isAmberInstalled(context)) { + if (PackageUtils.isExternalSignerInstalled(context)) { Box(modifier = Modifier.padding(40.dp, 20.dp, 40.dp, 0.dp)) { Button( enabled = acceptedTerms.value,