diff options
Diffstat (limited to 'mobile/android/base/java/org/mozilla/gecko/widget/AnimatedHeightLayout.java')
-rw-r--r-- | mobile/android/base/java/org/mozilla/gecko/widget/AnimatedHeightLayout.java | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/mobile/android/base/java/org/mozilla/gecko/widget/AnimatedHeightLayout.java b/mobile/android/base/java/org/mozilla/gecko/widget/AnimatedHeightLayout.java deleted file mode 100644 index f1343b0fb..000000000 --- a/mobile/android/base/java/org/mozilla/gecko/widget/AnimatedHeightLayout.java +++ /dev/null @@ -1,77 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.mozilla.gecko.widget; - -import org.mozilla.gecko.animation.HeightChangeAnimation; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.animation.Animation; -import android.view.animation.DecelerateInterpolator; -import android.widget.RelativeLayout; - -public class AnimatedHeightLayout extends RelativeLayout { - private static final String LOGTAG = "GeckoAnimatedHeightLayout"; - private static final int ANIMATION_DURATION = 100; - private boolean mAnimating; - - public AnimatedHeightLayout(Context context) { - super(context, null); - } - - public AnimatedHeightLayout(Context context, AttributeSet attrs) { - super(context, attrs, 0); - } - - public AnimatedHeightLayout(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - int oldHeight = getMeasuredHeight(); - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - int newHeight = getMeasuredHeight(); - - if (!mAnimating && oldHeight != 0 && oldHeight != newHeight) { - mAnimating = true; - setMeasuredDimension(getMeasuredWidth(), oldHeight); - - // Animate the difference of suggestion row height - Animation anim = new HeightChangeAnimation(this, oldHeight, newHeight); - anim.setDuration(ANIMATION_DURATION); - anim.setInterpolator(new DecelerateInterpolator()); - anim.setAnimationListener(new Animation.AnimationListener() { - @Override - public void onAnimationStart(Animation animation) {} - @Override - public void onAnimationRepeat(Animation animation) {} - @Override - public void onAnimationEnd(Animation animation) { - post(new Runnable() { - @Override - public void run() { - finishAnimation(); - } - }); - } - }); - startAnimation(anim); - } - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - finishAnimation(); - } - - void finishAnimation() { - if (mAnimating) { - getLayoutParams().height = LayoutParams.WRAP_CONTENT; - mAnimating = false; - } - } -} |