Merge "Cache VerifiedInputEvent class references"

This commit is contained in:
Siarhei Vishniakou
2020-02-13 05:19:47 +00:00
committed by Android (Google) Code Review
3 changed files with 43 additions and 16 deletions

View File

@@ -182,6 +182,8 @@ extern int register_android_view_KeyEvent(JNIEnv* env);
extern int register_android_view_MotionEvent(JNIEnv* env);
extern int register_android_view_PointerIcon(JNIEnv* env);
extern int register_android_view_VelocityTracker(JNIEnv* env);
extern int register_android_view_VerifiedKeyEvent(JNIEnv* env);
extern int register_android_view_VerifiedMotionEvent(JNIEnv* env);
extern int register_android_content_res_ObbScanner(JNIEnv* env);
extern int register_android_content_res_Configuration(JNIEnv* env);
extern int register_android_animation_PropertyValuesHolder(JNIEnv *env);
@@ -1562,6 +1564,8 @@ static const RegJNIRec gRegJNI[] = {
REG_JNI(register_android_view_MotionEvent),
REG_JNI(register_android_view_PointerIcon),
REG_JNI(register_android_view_VelocityTracker),
REG_JNI(register_android_view_VerifiedKeyEvent),
REG_JNI(register_android_view_VerifiedMotionEvent),
REG_JNI(register_android_content_res_ObbScanner),
REG_JNI(register_android_content_res_Configuration),

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
#define LOG_TAG "MotionEvent-JNI"
#define LOG_TAG "VerifiedKey-JNI"
#include "android_view_VerifiedKeyEvent.h"
#include <input/Input.h>
@@ -22,18 +22,29 @@
namespace android {
static struct {
jclass clazz;
jmethodID constructor;
} gVerifiedKeyEventClassInfo;
// ----------------------------------------------------------------------------
jobject android_view_VerifiedKeyEvent(JNIEnv* env, const VerifiedKeyEvent& event) {
static jclass clazz = FindClassOrDie(env, "android/view/VerifiedKeyEvent");
return env->NewObject(gVerifiedKeyEventClassInfo.clazz, gVerifiedKeyEventClassInfo.constructor,
event.deviceId, event.eventTimeNanos, event.source, event.displayId,
event.action, event.downTimeNanos, event.flags, event.keyCode,
event.scanCode, event.metaState, event.repeatCount);
}
static jmethodID constructor = GetMethodIDOrDie(env, clazz, "<init>", "(IJIIIJIIIII)V");
int register_android_view_VerifiedKeyEvent(JNIEnv* env) {
jclass clazz = FindClassOrDie(env, "android/view/VerifiedKeyEvent");
gVerifiedKeyEventClassInfo.clazz = MakeGlobalRefOrDie(env, clazz);
jobject object =
env->NewObject(clazz, constructor, event.deviceId, event.eventTimeNanos, event.source,
event.displayId, event.action, event.downTimeNanos, event.flags,
event.keyCode, event.scanCode, event.metaState, event.repeatCount);
return object;
gVerifiedKeyEventClassInfo.constructor =
GetMethodIDOrDie(env, clazz, "<init>", "(IJIIIJIIIII)V");
return OK;
}
} // namespace android

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
#define LOG_TAG "MotionEvent-JNI"
#define LOG_TAG "VerifiedMotion-JNI"
#include "android_view_VerifiedMotionEvent.h"
#include <input/Input.h>
@@ -22,18 +22,30 @@
namespace android {
static struct {
jclass clazz;
jmethodID constructor;
} gVerifiedMotionEventClassInfo;
// ----------------------------------------------------------------------------
jobject android_view_VerifiedMotionEvent(JNIEnv* env, const VerifiedMotionEvent& event) {
static jclass clazz = FindClassOrDie(env, "android/view/VerifiedMotionEvent");
return env->NewObject(gVerifiedMotionEventClassInfo.clazz,
gVerifiedMotionEventClassInfo.constructor, event.deviceId,
event.eventTimeNanos, event.source, event.displayId, event.rawX,
event.rawY, event.actionMasked, event.downTimeNanos, event.flags,
event.metaState, event.buttonState);
}
static jmethodID constructor = GetMethodIDOrDie(env, clazz, "<init>", "(IJIIFFIJIII)V");
int register_android_view_VerifiedMotionEvent(JNIEnv* env) {
jclass clazz = FindClassOrDie(env, "android/view/VerifiedMotionEvent");
gVerifiedMotionEventClassInfo.clazz = MakeGlobalRefOrDie(env, clazz);
jobject object =
env->NewObject(clazz, constructor, event.deviceId, event.eventTimeNanos, event.source,
event.displayId, event.rawX, event.rawY, event.actionMasked,
event.downTimeNanos, event.flags, event.metaState, event.buttonState);
return object;
gVerifiedMotionEventClassInfo.constructor =
GetMethodIDOrDie(env, clazz, "<init>", "(IJIIFFIJIII)V");
return OK;
}
} // namespace android