diff options
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" |
