From 20a65a0878909874dea327d514bd2eff5878b038 Mon Sep 17 00:00:00 2001 From: greenart7c3 <115044884+greenart7c3@users.noreply.github.com> Date: Fri, 28 Apr 2023 11:21:06 -0300 Subject: [PATCH] check if orbot is installed --- app/src/main/AndroidManifest.xml | 4 +++- .../amethyst/ui/navigation/DrawerContent.kt | 4 ++-- .../ui/screen/loggedOff/LoginScreen.kt | 19 +++++++++++++------ app/src/main/res/values/strings.xml | 7 +++---- 4 files changed, 21 insertions(+), 13 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3735c465f..0cad4951a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,9 @@ - + + + diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt index f8bb405be..79f5d168f 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/navigation/DrawerContent.kt @@ -277,10 +277,10 @@ fun ListContent( onClick = { backupDialogOpen = true } ) - var textTorProxy = if (checked) stringResource(R.string.disable) else stringResource(R.string.enable) + val textTorProxy = if (checked) stringResource(R.string.disconnect_from_your_orbot_setup) else stringResource(R.string.connect_via_tor) IconRow( - title = "$textTorProxy Tor", + title = textTorProxy, icon = R.drawable.ic_tor, tint = MaterialTheme.colors.onBackground, onClick = { 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 ea229bbdc..d8b66015d 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 @@ -1,5 +1,6 @@ package com.vitorpamplona.amethyst.ui.screen.loggedOff +import android.content.Context import androidx.compose.foundation.Image import androidx.compose.foundation.layout.* import androidx.compose.foundation.rememberScrollState @@ -222,13 +223,15 @@ fun LoginPage( } } - Row(verticalAlignment = Alignment.CenterVertically) { - Checkbox( - checked = useProxy.value, - onCheckedChange = { useProxy.value = it } - ) + if (isPackageInstalled(context, "org.torproject.android")) { + Row(verticalAlignment = Alignment.CenterVertically) { + Checkbox( + checked = useProxy.value, + onCheckedChange = { useProxy.value = it } + ) - Text(stringResource(R.string.connect_via_tor)) + Text(stringResource(R.string.connect_via_tor)) + } } Spacer(modifier = Modifier.height(20.dp)) @@ -290,3 +293,7 @@ fun LoginPage( ) } } + +fun isPackageInstalled(context: Context, target: String): Boolean { + return context.packageManager.getInstalledApplications(0).find { info -> info.packageName == target } != null +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 17f760024..e23e9f41b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -292,10 +292,9 @@ Create and Add Poll authors can\'t vote in their own polls. #zappoll - Connect via Tor - Do you really want to disable tor? - Disable - Enable + Connect through your Orbot setup + Do you really want to disconnect from your Orbot setup? Yes No + Disconnect from your Orbot setup