diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-04-01 20:15:48 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-04-27 16:21:51 +0000 |
| commit | 05844638f9e61c7db86e3ab6f6eb5ede390b066d (patch) | |
| tree | 5ceec86815fae87f4055e2130be3d91d7bb35a37 /android/src | |
| parent | f273b3d11495637ba52e1144c35b509df83d1778 (diff) | |
| download | mullvadvpn-05844638f9e61c7db86e3ab6f6eb5ede390b066d.tar.xz mullvadvpn-05844638f9e61c7db86e3ab6f6eb5ede390b066d.zip | |
Replace flags with `ActionState` enum
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt index bcffe5b1b8..7b2893623e 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/WireguardKeyFragment.kt @@ -30,15 +30,20 @@ import org.joda.time.format.DateTimeFormat val RFC3339_FORMAT = DateTimeFormat.forPattern("YYYY-MM-dd HH:mm:ss.SSSSSSSSSS z") class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScreen) { + enum class ActionState { + Idle, + Generating, + Verifying; + } + private lateinit var timeAgoFormatter: TimeAgoFormatter private var currentJob: Job? = null private var updateViewsJob: Job? = null + private var actionState = ActionState.Idle private var tunnelStateListener: Int? = null private var tunnelState: TunnelState = TunnelState.Disconnected() private lateinit var urlController: BlockingController - private var generatingKey = false - private var validatingKey = false private var resetReconnectionExpectedJob: Job? = null private var reconnectionExpected = false @@ -128,7 +133,7 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre synchronized(this@WireguardKeyFragment) { tunnelState = uiState - if (generatingKey) { + if (actionState == ActionState.Generating) { reconnectionExpected = !(tunnelState is TunnelState.Disconnected) } else if (tunnelState is TunnelState.Connected) { reconnectionExpected = false @@ -154,8 +159,7 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre currentJob?.cancel() updateViewsJob?.cancel() resetReconnectionExpectedJob?.cancel() - validatingKey = false - generatingKey = false + actionState = ActionState.Idle urlController.onPause() } @@ -222,7 +226,7 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre } private fun setGenerateButton() { - generateKeyButton.setEnabled(!generatingKey && !validatingKey) + generateKeyButton.setEnabled(actionState == ActionState.Idle) if (keyStatusListener.keyStatus is KeygenEvent.NewKey) { generateKeyButton.setText(R.string.wireguard_replace_key) @@ -234,7 +238,7 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre private fun setVerifyButton() { val keyState = keyStatusListener.keyStatus - verifyKeyButton.setEnabled(!generatingKey && !validatingKey && keyState?.failure() == null) + verifyKeyButton.setEnabled(actionState == ActionState.Idle && keyState?.failure() == null) } private fun drawNoConnectionState() { @@ -260,8 +264,7 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre currentJob?.cancel() synchronized(this) { - generatingKey = true - validatingKey = false + actionState = ActionState.Generating reconnectionExpected = !(tunnelState is TunnelState.Disconnected) } @@ -273,16 +276,16 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre keyStatusListener.generateKey().join() - generatingKey = false + actionState = ActionState.Idle updateViews() } } private fun onValidateKeyPress() { currentJob?.cancel() - validatingKey = true - generatingKey = false + actionState = ActionState.Verifying updateViews() + currentJob = GlobalScope.launch(Dispatchers.Main) { statusMessage.visibility = View.GONE verifyingKeySpinner.visibility = View.VISIBLE @@ -291,7 +294,7 @@ class WireguardKeyFragment : ServiceDependentFragment(OnNoService.GoToLaunchScre verifyingKeySpinner.visibility = View.GONE statusMessage.visibility = View.VISIBLE - validatingKey = false + actionState = ActionState.Idle when (val state = keyStatusListener.keyStatus) { is KeygenEvent.NewKey -> { |
