summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/jni/android_hardware_input_InputApplicationHandle.cpp5
-rw-r--r--core/jni/android_hardware_input_InputWindowHandle.cpp7
2 files changed, 7 insertions, 5 deletions
diff --git a/core/jni/android_hardware_input_InputApplicationHandle.cpp b/core/jni/android_hardware_input_InputApplicationHandle.cpp
index 24d35316ef20..eab4e1d744cf 100644
--- a/core/jni/android_hardware_input_InputApplicationHandle.cpp
+++ b/core/jni/android_hardware_input_InputApplicationHandle.cpp
@@ -105,10 +105,11 @@ std::shared_ptr<InputApplicationHandle> android_view_InputApplicationHandle_getH
jobject android_view_InputApplicationHandle_fromInputApplicationInfo(
JNIEnv* env, gui::InputApplicationInfo inputApplicationInfo) {
- jobject binderObject = javaObjectForIBinder(env, inputApplicationInfo.token);
+ ScopedLocalRef<jobject> binderObject(env,
+ javaObjectForIBinder(env, inputApplicationInfo.token));
ScopedLocalRef<jstring> name(env, env->NewStringUTF(inputApplicationInfo.name.data()));
return env->NewObject(gInputApplicationHandleClassInfo.clazz,
- gInputApplicationHandleClassInfo.ctor, binderObject, name.get(),
+ gInputApplicationHandleClassInfo.ctor, binderObject.get(), name.get(),
inputApplicationInfo.dispatchingTimeoutMillis);
}
diff --git a/core/jni/android_hardware_input_InputWindowHandle.cpp b/core/jni/android_hardware_input_InputWindowHandle.cpp
index db92310f2a26..484d92820b86 100644
--- a/core/jni/android_hardware_input_InputWindowHandle.cpp
+++ b/core/jni/android_hardware_input_InputWindowHandle.cpp
@@ -261,8 +261,8 @@ jobject android_view_InputWindowHandle_fromWindowInfo(JNIEnv* env, gui::WindowIn
}
LOG_ALWAYS_FATAL_IF(inputWindowHandle == nullptr,
"Failed to create new InputWindowHandle object.");
- env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.token,
- javaObjectForIBinder(env, windowInfo.token));
+ ScopedLocalRef<jobject> token(env, javaObjectForIBinder(env, windowInfo.token));
+ env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.token, token.get());
ScopedLocalRef<jstring> name(env, env->NewStringUTF(windowInfo.name.data()));
env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.name, name.get());
env->SetIntField(inputWindowHandle, gInputWindowHandleClassInfo.layoutParamsFlags,
@@ -317,8 +317,9 @@ jobject android_view_InputWindowHandle_fromWindowInfo(JNIEnv* env, gui::WindowIn
ScopedLocalRef<jobject> matrixObj(env, AMatrix_newInstance(env, transformVals));
env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.transform, matrixObj.get());
+ ScopedLocalRef<jobject> windowToken(env, javaObjectForIBinder(env, windowInfo.windowToken));
env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.windowToken,
- javaObjectForIBinder(env, windowInfo.windowToken));
+ windowToken.get());
return inputWindowHandle;
}