summaryrefslogtreecommitdiffhomepage
path: root/android/src
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-03-04 15:20:21 +0000
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2021-03-04 16:06:43 +0000
commitf4d181245a56f8ac76c258c1bdca2baf7e8dc25c (patch)
tree48c75e0d0bc2ee172c6c597dd75a6ad5066a57ed /android/src
parentfb534f4082ecbaf31e89c9b1f4a2cacd440b08ac (diff)
downloadmullvadvpn-f4d181245a56f8ac76c258c1bdca2baf7e8dc25c.tar.xz
mullvadvpn-f4d181245a56f8ac76c258c1bdca2baf7e8dc25c.zip
Initialize `collapsedHeight` with correct value
Diffstat (limited to 'android/src')
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/ui/widget/AccountLogin.kt16
1 files changed, 15 insertions, 1 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 491c7086e2..5d125f7351 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
@@ -6,6 +6,7 @@ import android.content.Context
import android.util.AttributeSet
import android.view.LayoutInflater
import android.view.View
+import android.view.View.MeasureSpec
import android.view.View.OnLayoutChangeListener
import android.view.inputmethod.InputMethodManager
import android.widget.RelativeLayout
@@ -68,7 +69,9 @@ class AccountLogin : RelativeLayout {
}
}
- private var collapsedHeight by observable(0) { _, oldCollapsedHeight, newCollapsedHeight ->
+ private var collapsedHeight by observable(
+ calculateInitialInputHeight()
+ ) { _, oldCollapsedHeight, newCollapsedHeight ->
if (newCollapsedHeight != oldCollapsedHeight) {
historyAnimation.setIntValues(newCollapsedHeight, expandedHeight)
reposition()
@@ -178,6 +181,17 @@ class AccountLogin : RelativeLayout {
input.onTextChanged.unsubscribe(this)
}
+ private fun calculateInitialInputHeight(): Int {
+ if (input.height == 0) {
+ val widthMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.EXACTLY)
+ val heightMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)
+
+ input.measure(widthMeasureSpec, heightMeasureSpec)
+ }
+
+ return input.height
+ }
+
private fun updateBorder() {
if (state == LoginState.Failure) {
border.borderState = BorderState.ERROR