More cleanups
Change-Id: Id5967944b949a2aec57e4fe9fdcdc04c11b8c35a
diff --git a/core/jni/android_view_ThreadedRenderer.cpp b/core/jni/android_view_ThreadedRenderer.cpp
index 3e62d0b..e63c475 100644
--- a/core/jni/android_view_ThreadedRenderer.cpp
+++ b/core/jni/android_view_ThreadedRenderer.cpp
@@ -47,8 +47,6 @@
using namespace android::uirenderer;
using namespace android::uirenderer::renderthread;
-static jmethodID gRunnableMethod;
-
static JNIEnv* getenv(JavaVM* vm) {
JNIEnv* env;
if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
@@ -57,25 +55,6 @@
return env;
}
-class JavaTask : public RenderTask {
-public:
- JavaTask(JNIEnv* env, jobject jrunnable) {
- env->GetJavaVM(&mVm);
- mRunnable = env->NewGlobalRef(jrunnable);
- }
-
- virtual void run() {
- JNIEnv* env = getenv(mVm);
- env->CallVoidMethod(mRunnable, gRunnableMethod);
- env->DeleteGlobalRef(mRunnable);
- delete this;
- };
-
-private:
- JavaVM* mVm;
- jobject mRunnable;
-};
-
class OnFinishedEvent {
public:
OnFinishedEvent(BaseRenderNodeAnimator* animator, AnimationListener* listener)
@@ -276,13 +255,6 @@
RenderProxy::invokeFunctor(functor, waitForCompletion);
}
-static void android_view_ThreadedRenderer_runWithGlContext(JNIEnv* env, jobject clazz,
- jlong proxyPtr, jobject jrunnable) {
- RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
- RenderTask* task = new JavaTask(env, jrunnable);
- proxy->runWithGlContext(task);
-}
-
static jlong android_view_ThreadedRenderer_createDisplayListLayer(JNIEnv* env, jobject clazz,
jlong proxyPtr, jint width, jint height) {
RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
@@ -319,6 +291,13 @@
proxy->cancelLayerUpdate(layer);
}
+static void android_view_ThreadedRenderer_detachSurfaceTexture(JNIEnv* env, jobject clazz,
+ jlong proxyPtr, jlong layerPtr) {
+ RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
+ DeferredLayerUpdater* layer = reinterpret_cast<DeferredLayerUpdater*>(layerPtr);
+ proxy->detachSurfaceTexture(layer);
+}
+
static void android_view_ThreadedRenderer_flushCaches(JNIEnv* env, jobject clazz,
jlong proxyPtr, jint flushMode) {
RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
@@ -380,12 +359,12 @@
{ "nSyncAndDrawFrame", "(JJJF)I", (void*) android_view_ThreadedRenderer_syncAndDrawFrame },
{ "nDestroyCanvasAndSurface", "(J)V", (void*) android_view_ThreadedRenderer_destroyCanvasAndSurface },
{ "nInvokeFunctor", "(JZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor },
- { "nRunWithGlContext", "(JLjava/lang/Runnable;)V", (void*) android_view_ThreadedRenderer_runWithGlContext },
{ "nCreateDisplayListLayer", "(JII)J", (void*) android_view_ThreadedRenderer_createDisplayListLayer },
{ "nCreateTextureLayer", "(J)J", (void*) android_view_ThreadedRenderer_createTextureLayer },
{ "nCopyLayerInto", "(JJJ)Z", (void*) android_view_ThreadedRenderer_copyLayerInto },
{ "nPushLayerUpdate", "(JJ)V", (void*) android_view_ThreadedRenderer_pushLayerUpdate },
{ "nCancelLayerUpdate", "(JJ)V", (void*) android_view_ThreadedRenderer_cancelLayerUpdate },
+ { "nDetachSurfaceTexture", "(JJ)V", (void*) android_view_ThreadedRenderer_detachSurfaceTexture },
{ "nFlushCaches", "(JI)V", (void*) android_view_ThreadedRenderer_flushCaches },
{ "nFence", "(J)V", (void*) android_view_ThreadedRenderer_fence },
{ "nNotifyFramePending", "(J)V", (void*) android_view_ThreadedRenderer_notifyFramePending },
@@ -396,11 +375,6 @@
};
int register_android_view_ThreadedRenderer(JNIEnv* env) {
-#ifdef USE_OPENGL_RENDERER
- jclass cls = env->FindClass("java/lang/Runnable");
- gRunnableMethod = env->GetMethodID(cls, "run", "()V");
- env->DeleteLocalRef(cls);
-#endif
return AndroidRuntime::registerNativeMethods(env, kClassPathName, gMethods, NELEM(gMethods));
}