From ba68961203e2dd7965a48f94d481e9cc95e6fa15 Mon Sep 17 00:00:00 2001 From: Damyan Ivanov Date: Fri, 19 Apr 2019 19:39:36 +0300 Subject: [PATCH] collapseProfileList(): short-cut animations if the list was already collapsed --- .../ui/activity/MainActivity.java | 72 +++++++++++-------- 1 file changed, 41 insertions(+), 31 deletions(-) diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java index 24784ffd..54dd0c21 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java @@ -685,41 +685,51 @@ public class MainActivity extends ProfileThemedActivity { Data.profiles.size())); } private void collapseProfileList() { + boolean wasExpanded = profileListExpanded; profileListExpanded = false; - final Animation animation = AnimationUtils.loadAnimation(this, R.anim.slide_up); - animation.setAnimationListener(new Animation.AnimationListener() { - @Override - public void onAnimationStart(Animation animation) { + if (wasExpanded) { + final Animation animation = AnimationUtils.loadAnimation(this, R.anim.slide_up); + animation.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { - } - @Override - public void onAnimationEnd(Animation animation) { - profileListContainer.setVisibility(View.GONE); - } - @Override - public void onAnimationRepeat(Animation animation) { + } + @Override + public void onAnimationEnd(Animation animation) { + profileListContainer.setVisibility(View.GONE); + } + @Override + public void onAnimationRepeat(Animation animation) { - } - }); - mProfileListAdapter.stopEditingProfiles(); - - profileListContainer.startAnimation(animation); - profileListHeadArrow.setRotation(0f); - profileListHeadArrow - .startAnimation(AnimationUtils.loadAnimation(this, R.anim.rotate_180_back)); - final Animation moreAnimation = AnimationUtils.loadAnimation(this, R.anim.fade_out); - moreAnimation.setAnimationListener(new Animation.AnimationListener() { - @Override - public void onAnimationStart(Animation animation) {} - @Override - public void onAnimationEnd(Animation animation) { - profileListHeadMore.setVisibility(View.GONE); - } - @Override - public void onAnimationRepeat(Animation animation) {} - }); - profileListHeadMore.startAnimation(moreAnimation); + } + }); + mProfileListAdapter.stopEditingProfiles(); + + profileListContainer.startAnimation(animation); + profileListHeadArrow.setRotation(0f); + profileListHeadArrow + .startAnimation(AnimationUtils.loadAnimation(this, R.anim.rotate_180_back)); + final Animation moreAnimation = AnimationUtils.loadAnimation(this, R.anim.fade_out); + moreAnimation.setAnimationListener(new Animation.AnimationListener() { + @Override + public void onAnimationStart(Animation animation) { + } + @Override + public void onAnimationEnd(Animation animation) { + profileListHeadMore.setVisibility(View.GONE); + } + @Override + public void onAnimationRepeat(Animation animation) { + } + }); + profileListHeadMore.startAnimation(moreAnimation); + } + else { + profileListContainer.setVisibility(View.GONE); + profileListHeadArrow.setRotation(0f); + profileListHeadMore.setVisibility(View.GONE); + } } public void onAccountSummaryRowViewClicked(View view) { ViewGroup row; -- 2.39.5