Animator stuff
Bug: 17228458
Change-Id: Id884a429a512f9cd2be0ed16dbd0f10e92b4440d
diff --git a/libs/hwui/AnimatorManager.h b/libs/hwui/AnimatorManager.h
index 0d177c5..d5f56ed 100644
--- a/libs/hwui/AnimatorManager.h
+++ b/libs/hwui/AnimatorManager.h
@@ -27,6 +27,7 @@
namespace android {
namespace uirenderer {
+class AnimationHandle;
class BaseRenderNodeAnimator;
class RenderNode;
@@ -39,12 +40,26 @@
void addAnimator(const sp<BaseRenderNodeAnimator>& animator);
- void pushStaging(TreeInfo& info);
+ void setAnimationHandle(AnimationHandle* handle);
+ bool hasAnimationHandle() { return mAnimationHandle; }
+
+ void pushStaging();
+
// Returns the combined dirty mask of all animators run
uint32_t animate(TreeInfo& info);
+ void animateNoDamage(TreeInfo& info);
+
+ // Hard-ends all animators. Used for cleanup if the root is being destroyed.
+ ANDROID_API void endAllAnimators();
+
+ bool hasAnimators() { return mAnimators.size(); }
+
private:
+ uint32_t animateCommon(TreeInfo& info);
+
RenderNode& mParent;
+ AnimationHandle* mAnimationHandle;
// To improve the efficiency of resizing & removing from the vector
// use manual ref counting instead of sp<>.