From 454bbcd8e622bbd1775646c0f86cfa93590e34c7 Mon Sep 17 00:00:00 2001 From: Nader Jawad Date: Fri, 5 Nov 2021 12:06:08 -0700 Subject: [PATCH] Fix JNI related crashing issues Updated JNI native code to include additional jclass in method signature. Bug: 202782306 Test: Builds and does not crash on launch Change-Id: I0510ca79919ec06d88b39205d40bbe595c518b26 --- tests/HwAccelerationTest/AndroidManifest.xml | 2 +- tests/HwAccelerationTest/jni/native-lib.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/HwAccelerationTest/AndroidManifest.xml b/tests/HwAccelerationTest/AndroidManifest.xml index 269c5754044e8..22fe4242fbbbe 100644 --- a/tests/HwAccelerationTest/AndroidManifest.xml +++ b/tests/HwAccelerationTest/AndroidManifest.xml @@ -437,7 +437,7 @@ diff --git a/tests/HwAccelerationTest/jni/native-lib.cpp b/tests/HwAccelerationTest/jni/native-lib.cpp index d6b1c498a086c..407d4bf763367 100644 --- a/tests/HwAccelerationTest/jni/native-lib.cpp +++ b/tests/HwAccelerationTest/jni/native-lib.cpp @@ -41,7 +41,7 @@ struct MyWrapper { }; extern "C" JNIEXPORT jlong JNICALL -Java_com_android_test_hwui_FrontBufferedLayer_nCreate(JNIEnv* env, jobject jSurface) { +Java_com_android_test_hwui_FrontBufferedLayer_nCreate(JNIEnv* env, jclass, jobject jSurface) { ANativeWindow* window = ANativeWindow_fromSurface(env, jSurface); MyWrapper* wrapper = new MyWrapper(window); ANativeWindow_release(window); @@ -49,13 +49,13 @@ Java_com_android_test_hwui_FrontBufferedLayer_nCreate(JNIEnv* env, jobject jSurf } extern "C" JNIEXPORT void JNICALL -Java_com_android_test_hwui_FrontBufferedLayer_nDestroy(jlong ptr) { +Java_com_android_test_hwui_FrontBufferedLayer_nDestroy(JNIEnv*, jclass, jlong ptr) { MyWrapper* wrapper = reinterpret_cast(ptr); delete wrapper; } extern "C" JNIEXPORT void JNICALL Java_com_android_test_hwui_FrontBufferedLayer_nUpdateBuffer( - JNIEnv* env, jlong ptr, jobject jbuffer) { + JNIEnv* env, jclass, jlong ptr, jobject jbuffer) { MyWrapper* wrapper = reinterpret_cast(ptr); AHardwareBuffer* buffer = AHardwareBuffer_fromHardwareBuffer(env, jbuffer); wrapper->setBuffer(buffer);