diff --git a/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart b/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart index 840a9c385..dd8bc253e 100644 --- a/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart +++ b/lib/pages/settings_views/wallet_settings_view/wallet_network_settings_view/wallet_network_settings_view.dart @@ -35,6 +35,7 @@ import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; import 'package:stackwallet/utilities/constants.dart'; import 'package:stackwallet/utilities/enums/coin_enum.dart'; +import 'package:stackwallet/utilities/prefs.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/animated_text.dart'; @@ -101,6 +102,9 @@ class _WalletNetworkSettingsViewState late final StreamSubscription _torConnectionStatusSubscription; + /// The Prefs instance. + final Prefs _prefs = Prefs.instance; + Future _attemptRescan() async { if (!Platform.isLinux) await Wakelock.enable(); @@ -784,6 +788,8 @@ class _WalletNetworkSettingsViewState GestureDetector( onTap: () { TorService.sharedInstance.stop(); + // And toggle preference. + _prefs.useTor = false; }, child: Text( "Disconnect", @@ -794,6 +800,8 @@ class _WalletNetworkSettingsViewState GestureDetector( onTap: () { TorService.sharedInstance.start(); + // And toggle preference. + _prefs.useTor = true; }, child: Text( "Connect", diff --git a/lib/pages_desktop_specific/settings/settings_menu/tor_settings/tor_settings.dart b/lib/pages_desktop_specific/settings/settings_menu/tor_settings/tor_settings.dart index fc70a0fdc..76a1fa3bc 100644 --- a/lib/pages_desktop_specific/settings/settings_menu/tor_settings/tor_settings.dart +++ b/lib/pages_desktop_specific/settings/settings_menu/tor_settings/tor_settings.dart @@ -21,6 +21,7 @@ import 'package:stackwallet/services/event_bus/global_event_bus.dart'; import 'package:stackwallet/services/tor_service.dart'; import 'package:stackwallet/themes/stack_colors.dart'; import 'package:stackwallet/utilities/assets.dart'; +import 'package:stackwallet/utilities/prefs.dart'; import 'package:stackwallet/utilities/text_styles.dart'; import 'package:stackwallet/utilities/util.dart'; import 'package:stackwallet/widgets/custom_buttons/draggable_switch_button.dart'; @@ -29,8 +30,6 @@ import 'package:stackwallet/widgets/desktop/desktop_dialog_close_button.dart'; import 'package:stackwallet/widgets/desktop/secondary_button.dart'; import 'package:stackwallet/widgets/rounded_white_container.dart'; -import '../../../../utilities/prefs.dart'; - class TorSettings extends ConsumerStatefulWidget { const TorSettings({Key? key}) : super(key: key); diff --git a/lib/widgets/desktop/desktop_tor_status_button.dart b/lib/widgets/desktop/desktop_tor_status_button.dart index bf8ecf04e..42677aa0f 100644 --- a/lib/widgets/desktop/desktop_tor_status_button.dart +++ b/lib/widgets/desktop/desktop_tor_status_button.dart @@ -129,7 +129,6 @@ class _DesktopTorStatusButtonState extends ConsumerState // Clean up the subscription to the TorConnectionStatusChangedEvent. _torConnectionStatusSubscription.cancel(); - controller?.dispose(); animationController.dispose(); super.dispose();