Merge "Add ScopedLocalRef for javaObjectForIBinder" into tm-dev

This commit is contained in:
Chavi Weingarten
2022-03-30 20:12:36 +00:00
committed by Android (Google) Code Review
2 changed files with 7 additions and 5 deletions

View File

@@ -105,10 +105,11 @@ std::shared_ptr<InputApplicationHandle> android_view_InputApplicationHandle_getH
jobject android_view_InputApplicationHandle_fromInputApplicationInfo( jobject android_view_InputApplicationHandle_fromInputApplicationInfo(
JNIEnv* env, gui::InputApplicationInfo inputApplicationInfo) { 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())); ScopedLocalRef<jstring> name(env, env->NewStringUTF(inputApplicationInfo.name.data()));
return env->NewObject(gInputApplicationHandleClassInfo.clazz, return env->NewObject(gInputApplicationHandleClassInfo.clazz,
gInputApplicationHandleClassInfo.ctor, binderObject, name.get(), gInputApplicationHandleClassInfo.ctor, binderObject.get(), name.get(),
inputApplicationInfo.dispatchingTimeoutMillis); inputApplicationInfo.dispatchingTimeoutMillis);
} }

View File

@@ -261,8 +261,8 @@ jobject android_view_InputWindowHandle_fromWindowInfo(JNIEnv* env, gui::WindowIn
} }
LOG_ALWAYS_FATAL_IF(inputWindowHandle == nullptr, LOG_ALWAYS_FATAL_IF(inputWindowHandle == nullptr,
"Failed to create new InputWindowHandle object."); "Failed to create new InputWindowHandle object.");
env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.token, ScopedLocalRef<jobject> token(env, javaObjectForIBinder(env, windowInfo.token));
javaObjectForIBinder(env, windowInfo.token)); env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.token, token.get());
ScopedLocalRef<jstring> name(env, env->NewStringUTF(windowInfo.name.data())); ScopedLocalRef<jstring> name(env, env->NewStringUTF(windowInfo.name.data()));
env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.name, name.get()); env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.name, name.get());
env->SetIntField(inputWindowHandle, gInputWindowHandleClassInfo.layoutParamsFlags, 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)); ScopedLocalRef<jobject> matrixObj(env, AMatrix_newInstance(env, transformVals));
env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.transform, matrixObj.get()); env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.transform, matrixObj.get());
ScopedLocalRef<jobject> windowToken(env, javaObjectForIBinder(env, windowInfo.windowToken));
env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.windowToken, env->SetObjectField(inputWindowHandle, gInputWindowHandleClassInfo.windowToken,
javaObjectForIBinder(env, windowInfo.windowToken)); windowToken.get());
return inputWindowHandle; return inputWindowHandle;
} }