diff options
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/animation/AnimatorSet.java | 4 | ||||
-rw-r--r-- | core/java/android/view/RenderNodeAnimator.java | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/core/java/android/animation/AnimatorSet.java b/core/java/android/animation/AnimatorSet.java index 9156eeb..7c13dbe 100644 --- a/core/java/android/animation/AnimatorSet.java +++ b/core/java/android/animation/AnimatorSet.java @@ -504,6 +504,10 @@ public final class AnimatorSet extends Animator { mStarted = true; mPaused = false; + for (Node node : mNodes) { + node.animation.setAllowRunningAsynchronously(false); + } + if (mDuration >= 0) { // If the duration was set on this AnimatorSet, pass it along to all child animations for (Node node : mNodes) { diff --git a/core/java/android/view/RenderNodeAnimator.java b/core/java/android/view/RenderNodeAnimator.java index fa4a13a..debf45d 100644 --- a/core/java/android/view/RenderNodeAnimator.java +++ b/core/java/android/view/RenderNodeAnimator.java @@ -453,6 +453,12 @@ public class RenderNodeAnimator extends Animator { throw new IllegalStateException("Cannot clone this animator"); } + @Override + public void setAllowRunningAsynchronously(boolean mayRunAsync) { + checkMutable(); + nSetAllowRunningAsync(mNativePtr.get(), mayRunAsync); + } + private static native long nCreateAnimator(int property, float finalValue); private static native long nCreateCanvasPropertyFloatAnimator( long canvasProperty, float finalValue); @@ -466,6 +472,7 @@ public class RenderNodeAnimator extends Animator { private static native long nGetDuration(long nativePtr); private static native void nSetStartDelay(long nativePtr, long startDelay); private static native void nSetInterpolator(long animPtr, long interpolatorPtr); + private static native void nSetAllowRunningAsync(long animPtr, boolean mayRunAsync); private static native void nStart(long animPtr, RenderNodeAnimator finishListener); private static native void nEnd(long animPtr); |