diff options
| author | 2011-12-21 07:53:14 -0800 | |
|---|---|---|
| committer | 2011-12-21 07:53:14 -0800 | |
| commit | 0f933c9a32dfdc10dbb14fa11c7815541efe22bb (patch) | |
| tree | ea22fc6d1a739f844ebc5cc24a1e92fb831c0350 | |
| parent | dfed08bcfd3ff738cb3a14b261eff2f1b50d4e04 (diff) | |
| parent | 0041861a0433402b789d6530eb0ed52a1c2b4ff1 (diff) | |
Merge "Fix behavior of AnimationSet and fillBefore"
| -rw-r--r-- | core/java/android/view/animation/AnimationSet.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/core/java/android/view/animation/AnimationSet.java b/core/java/android/view/animation/AnimationSet.java index def4d700c7bb..14d3d19851f1 100644 --- a/core/java/android/view/animation/AnimationSet.java +++ b/core/java/android/view/animation/AnimationSet.java @@ -348,12 +348,13 @@ public class AnimationSet extends Animation { for (int i = count - 1; i >= 0; --i) { final Animation a = animations.get(i); - - temp.clear(); - final Interpolator interpolator = a.mInterpolator; - a.applyTransformation(interpolator != null ? interpolator.getInterpolation(0.0f) - : 0.0f, temp); - previousTransformation.compose(temp); + if (!a.isFillEnabled() || a.getFillBefore() || a.getStartOffset() == 0) { + temp.clear(); + final Interpolator interpolator = a.mInterpolator; + a.applyTransformation(interpolator != null ? interpolator.getInterpolation(0.0f) + : 0.0f, temp); + previousTransformation.compose(temp); + } } } } |