Loading core/java/android/view/ThreadedRenderer.java +2 −2 Original line number Diff line number Diff line Loading @@ -380,7 +380,7 @@ public final class ThreadedRenderer { void destroy() { mInitialized = false; updateEnabledState(null); nDestroy(mNativeProxy); nDestroy(mNativeProxy, mRootNode.mNativeRenderNode); } /** Loading Loading @@ -994,7 +994,7 @@ public final class ThreadedRenderer { float lightX, float lightY, float lightZ); private static native void nSetOpaque(long nativeProxy, boolean opaque); private static native int nSyncAndDrawFrame(long nativeProxy, long[] frameInfo, int size); private static native void nDestroy(long nativeProxy); private static native void nDestroy(long nativeProxy, long rootRenderNode); private static native void nRegisterAnimatingRenderNode(long rootRenderNode, long animatingNode); private static native void nInvokeFunctor(long functor, boolean waitForCompletion); Loading core/jni/android_view_ThreadedRenderer.cpp +11 −2 Original line number Diff line number Diff line Loading @@ -164,6 +164,13 @@ public: mPendingAnimatingRenderNodes.clear(); } void destroy() { for (auto& renderNode : mPendingAnimatingRenderNodes) { renderNode->animators().endAllStagingAnimators(); } mPendingAnimatingRenderNodes.clear(); } private: sp<Looper> mLooper; JavaVM* mVm; Loading Loading @@ -476,7 +483,9 @@ static int android_view_ThreadedRenderer_syncAndDrawFrame(JNIEnv* env, jobject c } static void android_view_ThreadedRenderer_destroy(JNIEnv* env, jobject clazz, jlong proxyPtr) { jlong proxyPtr, jlong rootNodePtr) { RootRenderNode* rootRenderNode = reinterpret_cast<RootRenderNode*>(rootNodePtr); rootRenderNode->destroy(); RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr); proxy->destroy(); } Loading Loading @@ -698,7 +707,7 @@ static const JNINativeMethod gMethods[] = { { "nSetLightCenter", "(JFFF)V", (void*) android_view_ThreadedRenderer_setLightCenter }, { "nSetOpaque", "(JZ)V", (void*) android_view_ThreadedRenderer_setOpaque }, { "nSyncAndDrawFrame", "(J[JI)I", (void*) android_view_ThreadedRenderer_syncAndDrawFrame }, { "nDestroy", "(J)V", (void*) android_view_ThreadedRenderer_destroy }, { "nDestroy", "(JJ)V", (void*) android_view_ThreadedRenderer_destroy }, { "nRegisterAnimatingRenderNode", "(JJ)V", (void*) android_view_ThreadedRenderer_registerAnimatingRenderNode }, { "nInvokeFunctor", "(JZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor }, { "nCreateTextureLayer", "(J)J", (void*) android_view_ThreadedRenderer_createTextureLayer }, Loading Loading
core/java/android/view/ThreadedRenderer.java +2 −2 Original line number Diff line number Diff line Loading @@ -380,7 +380,7 @@ public final class ThreadedRenderer { void destroy() { mInitialized = false; updateEnabledState(null); nDestroy(mNativeProxy); nDestroy(mNativeProxy, mRootNode.mNativeRenderNode); } /** Loading Loading @@ -994,7 +994,7 @@ public final class ThreadedRenderer { float lightX, float lightY, float lightZ); private static native void nSetOpaque(long nativeProxy, boolean opaque); private static native int nSyncAndDrawFrame(long nativeProxy, long[] frameInfo, int size); private static native void nDestroy(long nativeProxy); private static native void nDestroy(long nativeProxy, long rootRenderNode); private static native void nRegisterAnimatingRenderNode(long rootRenderNode, long animatingNode); private static native void nInvokeFunctor(long functor, boolean waitForCompletion); Loading
core/jni/android_view_ThreadedRenderer.cpp +11 −2 Original line number Diff line number Diff line Loading @@ -164,6 +164,13 @@ public: mPendingAnimatingRenderNodes.clear(); } void destroy() { for (auto& renderNode : mPendingAnimatingRenderNodes) { renderNode->animators().endAllStagingAnimators(); } mPendingAnimatingRenderNodes.clear(); } private: sp<Looper> mLooper; JavaVM* mVm; Loading Loading @@ -476,7 +483,9 @@ static int android_view_ThreadedRenderer_syncAndDrawFrame(JNIEnv* env, jobject c } static void android_view_ThreadedRenderer_destroy(JNIEnv* env, jobject clazz, jlong proxyPtr) { jlong proxyPtr, jlong rootNodePtr) { RootRenderNode* rootRenderNode = reinterpret_cast<RootRenderNode*>(rootNodePtr); rootRenderNode->destroy(); RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr); proxy->destroy(); } Loading Loading @@ -698,7 +707,7 @@ static const JNINativeMethod gMethods[] = { { "nSetLightCenter", "(JFFF)V", (void*) android_view_ThreadedRenderer_setLightCenter }, { "nSetOpaque", "(JZ)V", (void*) android_view_ThreadedRenderer_setOpaque }, { "nSyncAndDrawFrame", "(J[JI)I", (void*) android_view_ThreadedRenderer_syncAndDrawFrame }, { "nDestroy", "(J)V", (void*) android_view_ThreadedRenderer_destroy }, { "nDestroy", "(JJ)V", (void*) android_view_ThreadedRenderer_destroy }, { "nRegisterAnimatingRenderNode", "(JJ)V", (void*) android_view_ThreadedRenderer_registerAnimatingRenderNode }, { "nInvokeFunctor", "(JZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor }, { "nCreateTextureLayer", "(J)J", (void*) android_view_ThreadedRenderer_createTextureLayer }, Loading