diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-01-28 20:11:01 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-02-10 15:40:36 +0000 |
| commit | 702f36693fbb03843b19e4fe6fd11424c9a345a3 (patch) | |
| tree | fc872c0db2010f2bca275e81707eb7fb345b2b34 /android/src | |
| parent | 39f3c94eb80a1bebd3c810dfae00f19fb2336648 (diff) | |
| download | mullvadvpn-702f36693fbb03843b19e4fe6fd11424c9a345a3.tar.xz mullvadvpn-702f36693fbb03843b19e4fe6fd11424c9a345a3.zip | |
Update toggle if allow LAN settings changes
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/PreferencesFragment.kt | 27 | ||||
| -rw-r--r-- | android/src/main/res/layout/preferences.xml | 2 |
2 files changed, 28 insertions, 1 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/PreferencesFragment.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/PreferencesFragment.kt index f6baabe308..44831a7b86 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/PreferencesFragment.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/PreferencesFragment.kt @@ -4,9 +4,17 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.Job +import kotlinx.coroutines.launch import net.mullvad.mullvadvpn.R class PreferencesFragment : ServiceDependentFragment(OnNoService.GoBack) { + private lateinit var allowLanToggle: CellSwitch + + private var updateUiJob: Job? = null + override fun onSafelyCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -18,6 +26,25 @@ class PreferencesFragment : ServiceDependentFragment(OnNoService.GoBack) { parentActivity.onBackPressed() } + allowLanToggle = view.findViewById(R.id.allow_lan_toggle) + + settingsListener.onAllowLanChange = { allowLan -> + updateUiJob?.cancel() + updateUiJob = updateUi(allowLan) + } + return view } + + override fun onSafelyDestroyView() { + settingsListener.onAllowLanChange = null + } + + private fun updateUi(allowLan: Boolean) = GlobalScope.launch(Dispatchers.Main) { + if (allowLan) { + allowLanToggle.state = CellSwitch.State.ON + } else { + allowLanToggle.state = CellSwitch.State.OFF + } + } } diff --git a/android/src/main/res/layout/preferences.xml b/android/src/main/res/layout/preferences.xml index 870a9a5206..59d42635fe 100644 --- a/android/src/main/res/layout/preferences.xml +++ b/android/src/main/res/layout/preferences.xml @@ -60,7 +60,7 @@ android:textStyle="bold" android:text="@string/local_network_sharing" /> - <net.mullvad.mullvadvpn.ui.CellSwitch + <net.mullvad.mullvadvpn.ui.CellSwitch android:id="@+id/allow_lan_toggle" android:layout_width="52dp" android:layout_height="32dp" android:layout_weight="0" |
