From abd6e6f2acfe55a2abb812d6ee293dd014afe91a Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Thu, 11 Sep 2025 11:02:25 -0400 Subject: [PATCH] Makes the torControl option nullable to allow an Orbot-based Active flow --- .../service/relayClient/RelayProxyClientConnector.kt | 6 +++--- .../com/vitorpamplona/amethyst/ui/tor/TorServiceStatus.kt | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/RelayProxyClientConnector.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/RelayProxyClientConnector.kt index a1664bd50..376183606 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/RelayProxyClientConnector.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/RelayProxyClientConnector.kt @@ -77,7 +77,7 @@ class RelayProxyClientConnector( } val torStatus = torManager.status.value if (torStatus is TorServiceStatus.Active) { - torStatus.torControlConnection.signal(TorControlCommands.SIGNAL_DORMANT) + torStatus.torControlConnection?.signal(TorControlCommands.SIGNAL_DORMANT) Log.d("ManageRelayServices", "Pausing Tor Activity") } } else if (it.connectivity is ConnectivityStatus.Active && !client.isActive()) { @@ -85,8 +85,8 @@ class RelayProxyClientConnector( val torStatus = torManager.status.value if (torStatus is TorServiceStatus.Active) { - torStatus.torControlConnection.signal(TorControlCommands.SIGNAL_ACTIVE) - torStatus.torControlConnection.signal(TorControlCommands.SIGNAL_NEWNYM) + torStatus.torControlConnection?.signal(TorControlCommands.SIGNAL_ACTIVE) + torStatus.torControlConnection?.signal(TorControlCommands.SIGNAL_NEWNYM) Log.d("ManageRelayServices", "Resuming Tor Activity with new nym") } diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/tor/TorServiceStatus.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/tor/TorServiceStatus.kt index f0bd812a8..3b037e29a 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/tor/TorServiceStatus.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/tor/TorServiceStatus.kt @@ -26,7 +26,8 @@ sealed class TorServiceStatus { data class Active( val port: Int, ) : TorServiceStatus() { - lateinit var torControlConnection: TorControlConnection + // If internal, it has control. + var torControlConnection: TorControlConnection? = null } object Off : TorServiceStatus()