diff options
| author | 2024-04-11 09:58:14 +0000 | |
|---|---|---|
| committer | 2024-04-11 09:58:14 +0000 | |
| commit | bf01d199e2d0a14de64aa7af8dd5e0ba8310f676 (patch) | |
| tree | bfc19c6ac6312e2e5f62d9a32c4bbeb4388fa491 /libs/hwui/RootRenderNode.cpp | |
| parent | a61ac5aa8819b8c3ba0496826a75a3f4dfc2cab8 (diff) | |
| parent | 9da39e77eb85e121d2c3c33ebfe7294fbe691de8 (diff) | |
Merge changes I356da56c,I95c9e7c7,I509519e6,Icb5178ba into main
* changes:
Do not mix pid_t and int32_t in Hwui
Remove unnecessary #ifdefs
Add RenderProxy to host builds of hwui
Use CPU rendering for host builds
Diffstat (limited to 'libs/hwui/RootRenderNode.cpp')
| -rw-r--r-- | libs/hwui/RootRenderNode.cpp | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/libs/hwui/RootRenderNode.cpp b/libs/hwui/RootRenderNode.cpp index ddbbf58b3071..5174e27ae587 100644 --- a/libs/hwui/RootRenderNode.cpp +++ b/libs/hwui/RootRenderNode.cpp @@ -18,11 +18,12 @@ #ifdef __ANDROID__ // Layoutlib does not support Looper (windows) #include <utils/Looper.h> +#else +#include "utils/MessageHandler.h" #endif namespace android::uirenderer { -#ifdef __ANDROID__ // Layoutlib does not support Looper class FinishAndInvokeListener : public MessageHandler { public: explicit FinishAndInvokeListener(PropertyValuesAnimatorSet* anim) : mAnimator(anim) { @@ -237,9 +238,13 @@ void RootRenderNode::detachVectorDrawableAnimator(PropertyValuesAnimatorSet* ani // user events, in which case the already posted listener's id will become stale, and // the onFinished callback will then be ignored. sp<FinishAndInvokeListener> message = new FinishAndInvokeListener(anim); +#ifdef __ANDROID__ // Layoutlib does not support Looper auto looper = Looper::getForThread(); LOG_ALWAYS_FATAL_IF(looper == nullptr, "Not on a looper thread?"); looper->sendMessageDelayed(ms2ns(remainingTimeInMs), message, 0); +#else + message->handleMessage(0); +#endif anim->clearOneShotListener(); } } @@ -285,22 +290,5 @@ private: AnimationContext* ContextFactoryImpl::createAnimationContext(renderthread::TimeLord& clock) { return new AnimationContextBridge(clock, mRootNode); } -#else - -void RootRenderNode::prepareTree(TreeInfo& info) { - info.errorHandler = mErrorHandler.get(); - info.updateWindowPositions = true; - RenderNode::prepareTree(info); - info.updateWindowPositions = false; - info.errorHandler = nullptr; -} - -void RootRenderNode::attachAnimatingNode(RenderNode* animatingNode) { } - -void RootRenderNode::destroy() { } - -void RootRenderNode::addVectorDrawableAnimator(PropertyValuesAnimatorSet* anim) { } - -#endif } // namespace android::uirenderer |