summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-01-28 20:11:01 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-02-10 15:40:36 +0000
commit702f36693fbb03843b19e4fe6fd11424c9a345a3 (patch)
treefc872c0db2010f2bca275e81707eb7fb345b2b34
parent39f3c94eb80a1bebd3c810dfae00f19fb2336648 (diff)
downloadmullvadvpn-702f36693fbb03843b19e4fe6fd11424c9a345a3.tar.xz
mullvadvpn-702f36693fbb03843b19e4fe6fd11424c9a345a3.zip
Update toggle if allow LAN settings changes
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/PreferencesFragment.kt27
-rw-r--r--android/src/main/res/layout/preferences.xml2
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"