Merge "Add ScopedLocalRef for javaObjectForIBinder" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
29ffb6bab2
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user