diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-03-19 14:50:00 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-03-30 16:46:26 +0000 |
| commit | 6e404e123634dd163ac89d3554ce0f695418bcf4 (patch) | |
| tree | 0b1f2dd3c2d5eaa3fc38b6c4fe097fe5bb432c0d /android/src/main | |
| parent | 6403def1ae84df543686a1922d3bf322d671e924 (diff) | |
| download | mullvadvpn-6e404e123634dd163ac89d3554ce0f695418bcf4.tar.xz mullvadvpn-6e404e123634dd163ac89d3554ce0f695418bcf4.zip | |
Listen for MTU value setting changes
Diffstat (limited to 'android/src/main')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt index 325c6e3b8a..8d623d3343 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt @@ -5,7 +5,12 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.Job +import kotlinx.coroutines.launch import net.mullvad.mullvadvpn.R +import net.mullvad.mullvadvpn.model.Settings private const val MIN_MTU_VALUE = 1280 private const val MAX_MTU_VALUE = 1420 @@ -13,6 +18,9 @@ private const val MAX_MTU_VALUE = 1420 class AdvancedFragment : ServiceDependentFragment(OnNoService.GoBack) { private lateinit var wireguardMtuInput: CellInput + private var subscriptionId: Int? = null + private var updateUiJob: Job? = null + override fun onSafelyCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -37,6 +45,20 @@ class AdvancedFragment : ServiceDependentFragment(OnNoService.GoBack) { text = context.getString(R.string.wireguard_mtu_footer, MIN_MTU_VALUE, MAX_MTU_VALUE) } + settingsListener.subscribe({ settings -> updateUi(settings) }) + return view } + + private fun updateUi(settings: Settings) { + updateUiJob?.cancel() + updateUiJob = GlobalScope.launch(Dispatchers.Main) { + wireguardMtuInput.value = settings.tunnelOptions.wireguard.mtu + } + } + + override fun onSafelyDestroyView() { + subscriptionId?.let { id -> settingsListener.unsubscribe(id) } + updateUiJob?.cancel() + } } |
