summaryrefslogtreecommitdiffhomepage
path: root/android/src/main
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-03-20 01:37:30 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-03-30 16:46:26 +0000
commitbdf83e6cf8f174a40681888ec34edb7f6743b9cb (patch)
tree1cea9dc93448284b3c725b9fb0a8bb65aa867dd2 /android/src/main
parent8293af0dfde4fc3b1e2be9bd682593e2c3a8cfa0 (diff)
downloadmullvadvpn-bdf83e6cf8f174a40681888ec34edb7f6743b9cb.tar.xz
mullvadvpn-bdf83e6cf8f174a40681888ec34edb7f6743b9cb.zip
Change input color based on input value
Diffstat (limited to 'android/src/main')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt8
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt33
2 files changed, 41 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 6cc28fd865..fbace21ff7 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/AdvancedFragment.kt
@@ -6,7 +6,12 @@ import android.view.View
import android.view.ViewGroup
import net.mullvad.mullvadvpn.R
+private const val MIN_MTU_VALUE = 1280
+private const val MAX_MTU_VALUE = 1420
+
class AdvancedFragment : ServiceDependentFragment(OnNoService.GoBack) {
+ private lateinit var wireguardMtuInput: CellInput
+
override fun onSafelyCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
@@ -18,6 +23,9 @@ class AdvancedFragment : ServiceDependentFragment(OnNoService.GoBack) {
parentActivity.onBackPressed()
}
+ wireguardMtuInput =
+ CellInput(view.findViewById(R.id.wireguard_mtu_input), MIN_MTU_VALUE, MAX_MTU_VALUE)
+
return view
}
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt
new file mode 100644
index 0000000000..5a582216da
--- /dev/null
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt
@@ -0,0 +1,33 @@
+package net.mullvad.mullvadvpn.ui
+
+import android.text.Editable
+import android.text.TextWatcher
+import android.widget.EditText
+import net.mullvad.mullvadvpn.R
+
+class CellInput(val input: EditText, val minValue: Int, val maxValue: Int) {
+ private val resources = input.context.resources
+
+ private val validInputColor = resources.getColor(R.color.white)
+ private val invalidInputColor = resources.getColor(R.color.red)
+
+ init {
+ input.addTextChangedListener(InputWatcher())
+ }
+
+ inner class InputWatcher : TextWatcher {
+ override fun beforeTextChanged(text: CharSequence, start: Int, count: Int, after: Int) {}
+
+ override fun onTextChanged(text: CharSequence, start: Int, count: Int, after: Int) {}
+
+ override fun afterTextChanged(text: Editable) {
+ val value = text.toString().trim().toIntOrNull()
+
+ if (value != null && value >= minValue && value <= maxValue) {
+ input.setTextColor(validInputColor)
+ } else {
+ input.setTextColor(invalidInputColor)
+ }
+ }
+ }
+}