summaryrefslogtreecommitdiffhomepage
path: root/android
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-08-13 18:45:22 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-08-18 12:21:30 +0000
commit537468e7525f38823574d09d2b0e25d22f13d16f (patch)
tree4011a900837f5126041440c30c4e272d3d6a4d70 /android
parent0364e906f34b1b1b3dd239907a74c23723c6a4d7 (diff)
downloadmullvadvpn-537468e7525f38823574d09d2b0e25d22f13d16f.tar.xz
mullvadvpn-537468e7525f38823574d09d2b0e25d22f13d16f.zip
Animate toggle back to its current state
Diffstat (limited to 'android')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CellSwitch.kt14
1 files changed, 7 insertions, 7 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CellSwitch.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CellSwitch.kt
index dee5c59e49..43249b996e 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CellSwitch.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/CellSwitch.kt
@@ -12,6 +12,7 @@ import android.view.Gravity
import android.view.MotionEvent
import android.widget.ImageView
import android.widget.LinearLayout
+import kotlin.properties.Delegates.observable
import net.mullvad.mullvadvpn.R
class CellSwitch : LinearLayout {
@@ -20,14 +21,13 @@ class CellSwitch : LinearLayout {
OFF
}
- var state = State.OFF
- set(value) {
- if (field != value) {
- field = value
- animateToState()
- listener?.invoke(value)
- }
+ var state by observable(State.OFF) { _, oldState, newState ->
+ animateToState()
+
+ if (oldState != newState) {
+ listener?.invoke(newState)
}
+ }
var listener: ((State) -> Unit)? = null