summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author chaviw <chaviw@google.com> 2022-04-01 10:39:25 -0500
committer Chavi Weingarten <chaviw@google.com> 2022-04-01 17:16:58 +0000
commit5e70aa5597c8c6c337ff9ff6bfb11469e05fa890 (patch)
treead2714ae8c03b1b5d1a731c75111fd657cbe2b38
parent6d1be01f3eae2f48aa36afcaa0cf072cb535fbc8 (diff)
Add ScopedLocalFrame in functions that hold Java objects
In order to make sure all the Java objects are cleaned up, add ScopedLocalFrame in each function that converts native objects to Java. This will make sure any local object will be cleaned up. Test: Builds Bug: 225287201 Change-Id: I4264d3869409597c44bcf897e4ebeae0660f252b
-rw-r--r--core/jni/android_window_WindowInfosListener.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/core/jni/android_window_WindowInfosListener.cpp b/core/jni/android_window_WindowInfosListener.cpp
index aae2549df429..f2cbe8abae8b 100644
--- a/core/jni/android_window_WindowInfosListener.cpp
+++ b/core/jni/android_window_WindowInfosListener.cpp
@@ -22,6 +22,7 @@
#include <gui/DisplayInfo.h>
#include <gui/SurfaceComposerClient.h>
#include <nativehelper/JNIHelp.h>
+#include <nativehelper/ScopedLocalFrame.h>
#include <utils/Log.h>
#include "android_hardware_input_InputWindowHandle.h"
@@ -95,6 +96,7 @@ struct WindowInfosListener : public gui::WindowInfosListener {
JNIEnv* env = AndroidRuntime::getJNIEnv();
LOG_ALWAYS_FATAL_IF(env == nullptr, "Unable to retrieve JNIEnv in onWindowInfoChanged.");
+ ScopedLocalFrame localFrame(env);
jobject listener = env->NewGlobalRef(mListener);
if (listener == nullptr) {
// Weak reference went out of scope