@@ -53,15 +53,15 @@ class ConnectFragment : Fragment(),
5353 private val startTorResultLauncher =
5454 registerForActivityResult(ActivityResultContracts .StartActivityForResult ()) { result ->
5555 if (result.resultCode == AppCompatActivity .RESULT_OK ) {
56- startTorAndVpn ()
56+ viewModel.triggerStartTorAndVpn ()
5757 }
5858 }
5959
6060 private val restartTorResultLauncher =
6161 registerForActivityResult(ActivityResultContracts .StartActivityForResult ()) { result ->
6262 if (result.resultCode == AppCompatActivity .RESULT_OK ) {
6363 requireContext().sendIntentToService(OrbotConstants .ACTION_RESTART_VPN ) // is this enough todo?
64- refreshMenuList(requireContext() )
64+ viewModel.triggerRefreshMenuList( )
6565 }
6666 }
6767
@@ -80,7 +80,6 @@ class ConnectFragment : Fragment(),
8080 binding.progressBar.progress = it
8181 }
8282 }
83-
8483 is ConnectUiState .On -> doLayoutOn(requireContext())
8584 is ConnectUiState .Stopping -> {}
8685 }
@@ -93,6 +92,8 @@ class ConnectFragment : Fragment(),
9392 when (event) {
9493 is ConnectEvent .StartTorAndVpn -> startTorAndVpn()
9594 is ConnectEvent .RefreshMenuList -> refreshMenuList(requireContext())
95+ is ConnectEvent .StopTorAndVpn -> stopTorAndVpn()
96+ is ConnectEvent .SendNewnymSignal -> sendNewnymSignal()
9697 }
9798 }
9899 }
@@ -119,7 +120,6 @@ class ConnectFragment : Fragment(),
119120
120121 private fun stopTorAndVpn () {
121122 requireContext().sendIntentToService(OrbotConstants .ACTION_STOP )
122- doLayoutOff()
123123 }
124124
125125 private fun stopAnimations () {
@@ -178,8 +178,13 @@ class ConnectFragment : Fragment(),
178178 " ExitNodeBottomSheet"
179179 )
180180 },
181- OrbotMenuAction (R .string.btn_refresh, R .drawable.ic_refresh) { sendNewnymSignal() },
182- OrbotMenuAction (R .string.btn_tor_off, R .drawable.ic_power) { stopTorAndVpn() })
181+ OrbotMenuAction (R .string.btn_refresh, R .drawable.ic_refresh) {
182+ viewModel.triggerSendNewnymSignal()
183+ },
184+ OrbotMenuAction (R .string.btn_tor_off, R .drawable.ic_power) {
185+ viewModel.triggerStopTorAndVpn()
186+ }
187+ )
183188 if (! Prefs .isPowerUserMode) listItems.add(
184189 0 ,
185190 OrbotMenuAction (R .string.btn_choose_apps, R .drawable.ic_choose_apps) {
@@ -223,7 +228,7 @@ class ConnectFragment : Fragment(),
223228 binding.swSmartConnect.visibility = View .GONE
224229 binding.tvConfigure.visibility = View .GONE
225230
226- refreshMenuList(context )
231+ viewModel.triggerRefreshMenuList( )
227232
228233 binding.ivStatus.setOnClickListener {}
229234 }
@@ -241,7 +246,7 @@ class ConnectFragment : Fragment(),
241246 binding.swSmartConnect.isChecked = Prefs .smartConnect
242247 binding.swSmartConnect.setOnCheckedChangeListener { _, value ->
243248 Prefs .smartConnect = value
244- doLayoutOff( )
249+ viewModel.updateState(requireContext(), lastStatus )
245250 }
246251
247252 binding.tvConfigure.visibility = View .VISIBLE
@@ -323,11 +328,13 @@ class ConnectFragment : Fragment(),
323328 backgroundTintList = ColorStateList .valueOf(
324329 ContextCompat .getColor(requireContext(), R .color.orbot_btn_enabled_purple)
325330 )
326- setOnClickListener { startTorAndVpn() }
331+ setOnClickListener {
332+ viewModel.triggerStartTorAndVpn()
333+ }
327334 }
328335
329336 binding.ivStatus.setOnClickListener {
330- startTorAndVpn ()
337+ viewModel.triggerStartTorAndVpn ()
331338 }
332339 }
333340
@@ -361,7 +368,7 @@ class ConnectFragment : Fragment(),
361368 )
362369 )
363370 setOnClickListener {
364- stopTorAndVpn ()
371+ viewModel.triggerStopTorAndVpn ()
365372 }
366373 }
367374
@@ -385,6 +392,6 @@ class ConnectFragment : Fragment(),
385392 .setAction(OrbotConstants .CMD_SET_EXIT ).putExtra(" exit" , countryCode)
386393 )
387394
388- refreshMenuList(requireContext() )
395+ viewModel.triggerRefreshMenuList( )
389396 }
390397}
0 commit comments