From 8810cfde373151492544605e48a8411c7bfbd479 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Thu, 26 Sep 2024 15:23:39 -0400 Subject: [PATCH] Adjusts Login and Sign up screens for the new Tor Settings --- .../ui/screen/loggedOff/LoginScreen.kt | 34 +++++++++--------- .../ui/screen/loggedOff/SignUpScreen.kt | 35 +++++++++--------- .../{OrbotCheckBox.kt => TorSettingsSetup.kt} | 36 +++++++++++-------- amethyst/src/main/res/values/strings.xml | 3 ++ 4 files changed, 56 insertions(+), 52 deletions(-) rename amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/{OrbotCheckBox.kt => TorSettingsSetup.kt} (74%) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt index 99ef50f22..e47bcb546 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/LoginScreen.kt @@ -295,24 +295,22 @@ fun LoginPage( } Spacer(modifier = Modifier.height(10.dp)) - if (PackageUtils.isOrbotInstalled(context)) { - OrbotCheckBox( - torSettings = torSettings.value, - onCheckedChange = { - torSettings.value = it - }, - onError = { - scope.launch { - Toast - .makeText( - context, - it, - Toast.LENGTH_LONG, - ).show() - } - }, - ) - } + TorSettingsSetup( + torSettings = torSettings.value, + onCheckedChange = { + torSettings.value = it + }, + onError = { + scope.launch { + Toast + .makeText( + context, + it, + Toast.LENGTH_LONG, + ).show() + } + }, + ) if (isNFCOrQR.value) { OfferTemporaryAccount( diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/SignUpScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/SignUpScreen.kt index d24cfe66d..f9b7cac89 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/SignUpScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/SignUpScreen.kt @@ -60,7 +60,6 @@ import androidx.lifecycle.viewmodel.compose.viewModel import com.vitorpamplona.amethyst.R import com.vitorpamplona.amethyst.commons.hashtags.Amethyst import com.vitorpamplona.amethyst.commons.hashtags.CustomHashTagIcons -import com.vitorpamplona.amethyst.service.PackageUtils import com.vitorpamplona.amethyst.ui.screen.AccountStateViewModel import com.vitorpamplona.amethyst.ui.stringRes import com.vitorpamplona.amethyst.ui.theme.Size10dp @@ -181,24 +180,22 @@ fun SignUpPage( ) } - if (PackageUtils.isOrbotInstalled(context)) { - OrbotCheckBox( - torSettings = torSettings.value, - onCheckedChange = { - torSettings.value = it - }, - onError = { - scope.launch { - Toast - .makeText( - context, - it, - Toast.LENGTH_LONG, - ).show() - } - }, - ) - } + TorSettingsSetup( + torSettings = torSettings.value, + onCheckedChange = { + torSettings.value = it + }, + onError = { + scope.launch { + Toast + .makeText( + context, + it, + Toast.LENGTH_LONG, + ).show() + } + }, + ) Spacer(modifier = Modifier.height(Size10dp)) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/OrbotCheckBox.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/TorSettingsSetup.kt similarity index 74% rename from amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/OrbotCheckBox.kt rename to amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/TorSettingsSetup.kt index 9ff26f26c..295a8d45a 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/OrbotCheckBox.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedOff/TorSettingsSetup.kt @@ -20,23 +20,27 @@ */ package com.vitorpamplona.amethyst.ui.screen.loggedOff -import androidx.compose.foundation.layout.Row -import androidx.compose.material3.Checkbox -import androidx.compose.material3.Text +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue -import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.SpanStyle +import androidx.compose.ui.text.buildAnnotatedString +import androidx.compose.ui.text.withStyle +import androidx.compose.ui.unit.dp import com.vitorpamplona.amethyst.R +import com.vitorpamplona.amethyst.ui.components.ClickableText import com.vitorpamplona.amethyst.ui.stringRes import com.vitorpamplona.amethyst.ui.tor.ConnectTorDialog import com.vitorpamplona.amethyst.ui.tor.TorSettings import com.vitorpamplona.amethyst.ui.tor.TorType @Composable -fun OrbotCheckBox( +fun TorSettingsSetup( torSettings: TorSettings, onCheckedChange: (TorSettings) -> Unit, onError: (String) -> Unit, @@ -44,17 +48,19 @@ fun OrbotCheckBox( var connectOrbotDialogOpen by remember { mutableStateOf(false) } var activeTor by remember { mutableStateOf(false) } - Row(verticalAlignment = Alignment.CenterVertically) { - Checkbox( - checked = activeTor, - onCheckedChange = { - if (it) { - connectOrbotDialogOpen = true - } - }, - ) + val text = + buildAnnotatedString { + append(stringRes(R.string.connect_via_tor1) + " ") + withStyle(SpanStyle(color = MaterialTheme.colorScheme.primary)) { + append(stringRes(R.string.connect_via_tor2)) + } + } - Text(stringRes(R.string.connect_via_tor)) + ClickableText( + text = text, + modifier = Modifier.padding(vertical = 10.dp), + ) { + connectOrbotDialogOpen = true } if (connectOrbotDialogOpen) { diff --git a/amethyst/src/main/res/values/strings.xml b/amethyst/src/main/res/values/strings.xml index f6f03077b..00eb8a506 100644 --- a/amethyst/src/main/res/values/strings.xml +++ b/amethyst/src/main/res/values/strings.xml @@ -404,6 +404,9 @@ Tor/Orbot setup Connect through your Orbot setup + Adjust + Tor Settings + Disconnect from your Orbot/Tor? Your data will be immediately transferred in the regular network Yes