diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-03-20 01:37:30 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-03-30 16:46:26 +0000 |
| commit | bdf83e6cf8f174a40681888ec34edb7f6743b9cb (patch) | |
| tree | 1cea9dc93448284b3c725b9fb0a8bb65aa867dd2 /android/src/main | |
| parent | 8293af0dfde4fc3b1e2be9bd682593e2c3a8cfa0 (diff) | |
| download | mullvadvpn-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.kt | 8 | ||||
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/CellInput.kt | 33 |
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) + } + } + } +} |
