diff options
| author | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-09-04 17:39:45 +0000 |
|---|---|---|
| committer | Janito Vaqueiro Ferreira Filho <janito@mullvad.net> | 2020-09-21 15:28:41 +0000 |
| commit | b72167029105770de06e8b3b2943b1a416df5d9e (patch) | |
| tree | 34db7c62a992d650ededf5366ca3a648c8d94e9a /android/src | |
| parent | ccf83968cb5f14707990a6b224ab93ee4e0bbcb4 (diff) | |
| download | mullvadvpn-b72167029105770de06e8b3b2943b1a416df5d9e.tar.xz mullvadvpn-b72167029105770de06e8b3b2943b1a416df5d9e.zip | |
Hide keyboard when input focus is lost
Diffstat (limited to 'android/src')
| -rw-r--r-- | android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountLogin.kt | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountLogin.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountLogin.kt index f238c635bc..0a063fdc87 100644 --- a/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountLogin.kt +++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountLogin.kt @@ -1,11 +1,13 @@ package net.mullvad.mullvadvpn.ui.widget import android.animation.ValueAnimator +import android.app.Activity import android.content.Context import android.util.AttributeSet import android.view.LayoutInflater import android.view.View import android.view.View.OnLayoutChangeListener +import android.view.inputmethod.InputMethodManager import android.widget.ArrayAdapter import android.widget.ListView import android.widget.RelativeLayout @@ -56,6 +58,10 @@ class AccountLogin : RelativeLayout { private var inputHasFocus by observable(false) { _, _, hasFocus -> updateBorder() shouldShowAccountHistory = hasFocus + + if (!hasFocus) { + hideKeyboard() + } } private var shouldShowAccountHistory by observable(false) { _, isShown, show -> @@ -159,4 +165,11 @@ class AccountLogin : RelativeLayout { border.borderState = BorderState.UNFOCUSED } } + + private fun hideKeyboard() { + val inputManagerId = Activity.INPUT_METHOD_SERVICE + val inputManager = context.getSystemService(inputManagerId) as InputMethodManager + + inputManager.hideSoftInputFromWindow(windowToken, 0) + } } |
