Commit 264b6a2e authored by Hussein El Feky's avatar Hussein El Feky

Fixed incorrect login options showing up

parent 22a68f39
......@@ -537,16 +537,13 @@ class LoginOptionsFragment : Fragment(), LoginOptionsView {
}
private fun expandAccountsView() {
val collapsedHeight = accounts_container.height
var expandedHeight = collapsedHeight
val buttons = (0..accounts_container.childCount)
.mapNotNull { accounts_container.getChildAt(it) as? Button }
.filter { it.isClickable && !it.isVisible }
val optionHeight = accounts_container.getChildAt(1).height +
accounts_container.getChildAt(1).marginTop
for (i in 0 until accounts_container.childCount) {
val bt = accounts_container.getChildAt(i) as Button
if (bt.isClickable && !bt.isVisible) {
expandedHeight += optionHeight
}
}
val collapsedHeight = accounts_container.height
val expandedHeight = collapsedHeight + optionHeight * buttons.size
val animation = ValueAnimator.ofInt(collapsedHeight, expandedHeight)
animation.addUpdateListener {
val params = accounts_container.layoutParams
......@@ -555,14 +552,11 @@ class LoginOptionsFragment : Fragment(), LoginOptionsView {
}
animation.addListener(object : AnimatorListenerAdapter() {
override fun onAnimationStart(animator: Animator) {
for (i in 0 until accounts_container.childCount) {
val bt = accounts_container.getChildAt(i) as Button
if (!bt.isVisible) {
bt.isVisible = true
buttons.forEach {
it.isVisible = true
val anim = AlphaAnimation(0.0f, 1.0f)
anim.duration = 400
bt.startAnimation(anim)
}
it.startAnimation(anim)
}
}
})
......@@ -570,16 +564,14 @@ class LoginOptionsFragment : Fragment(), LoginOptionsView {
}
private fun collapseAccountsView() {
val expandedHeight = accounts_container.height
var collapsedHeight = expandedHeight
val buttons = (0..accounts_container.childCount)
.mapNotNull { accounts_container.getChildAt(it) as? Button }
.filter { it.isClickable && it.isVisible }
.drop(3)
val optionHeight = accounts_container.getChildAt(1).height +
accounts_container.getChildAt(1).marginTop
for (i in 3 until accounts_container.childCount) {
val bt = accounts_container.getChildAt(i) as Button
if (bt.isClickable && bt.isVisible) {
collapsedHeight -= optionHeight
}
}
val expandedHeight = accounts_container.height
val collapsedHeight = expandedHeight - optionHeight * buttons.size
val animation = ValueAnimator.ofInt(expandedHeight, collapsedHeight)
animation.addUpdateListener {
val params = accounts_container.layoutParams
......@@ -588,9 +580,7 @@ class LoginOptionsFragment : Fragment(), LoginOptionsView {
}
animation.addListener(object : AnimatorListenerAdapter() {
override fun onAnimationStart(animator: Animator) {
for (i in 3 until accounts_container.childCount) {
val bt = accounts_container.getChildAt(i) as Button
if (bt.isVisible) {
buttons.forEach {
val anim = AlphaAnimation(1.0f, 0.0f)
anim.duration = 400
anim.setAnimationListener(object : Animation.AnimationListener {
......@@ -599,15 +589,14 @@ class LoginOptionsFragment : Fragment(), LoginOptionsView {
}
override fun onAnimationEnd(animation: Animation) {
bt.isVisible = false
it.isVisible = false
}
override fun onAnimationRepeat(animation: Animation) {
}
})
bt.startAnimation(anim)
}
it.startAnimation(anim)
}
}
})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment