AArch64: Use long for pointers in KeyCharacterMap class
For storing pointers, long is used in KeyCharacterMap class,
as native pointers can be 64-bit.
Change-Id: Idc1b39874202e96b9231d7801e6707003787659b
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
diff --git a/core/jni/android_view_KeyCharacterMap.cpp b/core/jni/android_view_KeyCharacterMap.cpp
index ffe2dea..62d5129 100644
--- a/core/jni/android_view_KeyCharacterMap.cpp
+++ b/core/jni/android_view_KeyCharacterMap.cpp
@@ -75,10 +75,10 @@
}
return env->NewObject(gKeyCharacterMapClassInfo.clazz, gKeyCharacterMapClassInfo.ctor,
- reinterpret_cast<jint>(map));
+ reinterpret_cast<jlong>(map));
}
-static jint nativeReadFromParcel(JNIEnv *env, jobject clazz, jobject parcelObj) {
+static jlong nativeReadFromParcel(JNIEnv *env, jobject clazz, jobject parcelObj) {
Parcel* parcel = parcelForJavaObject(env, parcelObj);
if (!parcel) {
return 0;
@@ -95,10 +95,10 @@
}
NativeKeyCharacterMap* map = new NativeKeyCharacterMap(deviceId, kcm);
- return reinterpret_cast<jint>(map);
+ return reinterpret_cast<jlong>(map);
}
-static void nativeWriteToParcel(JNIEnv* env, jobject clazz, jint ptr, jobject parcelObj) {
+static void nativeWriteToParcel(JNIEnv* env, jobject clazz, jlong ptr, jobject parcelObj) {
NativeKeyCharacterMap* map = reinterpret_cast<NativeKeyCharacterMap*>(ptr);
Parcel* parcel = parcelForJavaObject(env, parcelObj);
if (parcel) {
@@ -107,18 +107,18 @@
}
}
-static void nativeDispose(JNIEnv *env, jobject clazz, jint ptr) {
+static void nativeDispose(JNIEnv *env, jobject clazz, jlong ptr) {
NativeKeyCharacterMap* map = reinterpret_cast<NativeKeyCharacterMap*>(ptr);
delete map;
}
-static jchar nativeGetCharacter(JNIEnv *env, jobject clazz, jint ptr,
+static jchar nativeGetCharacter(JNIEnv *env, jobject clazz, jlong ptr,
jint keyCode, jint metaState) {
NativeKeyCharacterMap* map = reinterpret_cast<NativeKeyCharacterMap*>(ptr);
return map->getMap()->getCharacter(keyCode, metaState);
}
-static jboolean nativeGetFallbackAction(JNIEnv *env, jobject clazz, jint ptr, jint keyCode,
+static jboolean nativeGetFallbackAction(JNIEnv *env, jobject clazz, jlong ptr, jint keyCode,
jint metaState, jobject fallbackActionObj) {
NativeKeyCharacterMap* map = reinterpret_cast<NativeKeyCharacterMap*>(ptr);
KeyCharacterMap::FallbackAction fallbackAction;
@@ -133,12 +133,12 @@
return result;
}
-static jchar nativeGetNumber(JNIEnv *env, jobject clazz, jint ptr, jint keyCode) {
+static jchar nativeGetNumber(JNIEnv *env, jobject clazz, jlong ptr, jint keyCode) {
NativeKeyCharacterMap* map = reinterpret_cast<NativeKeyCharacterMap*>(ptr);
return map->getMap()->getNumber(keyCode);
}
-static jchar nativeGetMatch(JNIEnv *env, jobject clazz, jint ptr, jint keyCode,
+static jchar nativeGetMatch(JNIEnv *env, jobject clazz, jlong ptr, jint keyCode,
jcharArray charsArray, jint metaState) {
NativeKeyCharacterMap* map = reinterpret_cast<NativeKeyCharacterMap*>(ptr);
@@ -154,17 +154,17 @@
return result;
}
-static jchar nativeGetDisplayLabel(JNIEnv *env, jobject clazz, jint ptr, jint keyCode) {
+static jchar nativeGetDisplayLabel(JNIEnv *env, jobject clazz, jlong ptr, jint keyCode) {
NativeKeyCharacterMap* map = reinterpret_cast<NativeKeyCharacterMap*>(ptr);
return map->getMap()->getDisplayLabel(keyCode);
}
-static jint nativeGetKeyboardType(JNIEnv *env, jobject clazz, jint ptr) {
+static jint nativeGetKeyboardType(JNIEnv *env, jobject clazz, jlong ptr) {
NativeKeyCharacterMap* map = reinterpret_cast<NativeKeyCharacterMap*>(ptr);
return map->getMap()->getKeyboardType();
}
-static jobjectArray nativeGetEvents(JNIEnv *env, jobject clazz, jint ptr,
+static jobjectArray nativeGetEvents(JNIEnv *env, jobject clazz, jlong ptr,
jcharArray charsArray) {
NativeKeyCharacterMap* map = reinterpret_cast<NativeKeyCharacterMap*>(ptr);
@@ -199,25 +199,25 @@
static JNINativeMethod g_methods[] = {
/* name, signature, funcPtr */
- { "nativeReadFromParcel", "(Landroid/os/Parcel;)I",
+ { "nativeReadFromParcel", "(Landroid/os/Parcel;)J",
(void*)nativeReadFromParcel },
- { "nativeWriteToParcel", "(ILandroid/os/Parcel;)V",
+ { "nativeWriteToParcel", "(JLandroid/os/Parcel;)V",
(void*)nativeWriteToParcel },
- { "nativeDispose", "(I)V",
+ { "nativeDispose", "(J)V",
(void*)nativeDispose },
- { "nativeGetCharacter", "(III)C",
+ { "nativeGetCharacter", "(JII)C",
(void*)nativeGetCharacter },
- { "nativeGetFallbackAction", "(IIILandroid/view/KeyCharacterMap$FallbackAction;)Z",
+ { "nativeGetFallbackAction", "(JIILandroid/view/KeyCharacterMap$FallbackAction;)Z",
(void*)nativeGetFallbackAction },
- { "nativeGetNumber", "(II)C",
+ { "nativeGetNumber", "(JI)C",
(void*)nativeGetNumber },
- { "nativeGetMatch", "(II[CI)C",
+ { "nativeGetMatch", "(JI[CI)C",
(void*)nativeGetMatch },
- { "nativeGetDisplayLabel", "(II)C",
+ { "nativeGetDisplayLabel", "(JI)C",
(void*)nativeGetDisplayLabel },
- { "nativeGetKeyboardType", "(I)I",
+ { "nativeGetKeyboardType", "(J)I",
(void*)nativeGetKeyboardType },
- { "nativeGetEvents", "(I[C)[Landroid/view/KeyEvent;",
+ { "nativeGetEvents", "(J[C)[Landroid/view/KeyEvent;",
(void*)nativeGetEvents },
};
@@ -239,7 +239,7 @@
gKeyCharacterMapClassInfo.clazz = jclass(env->NewGlobalRef(gKeyCharacterMapClassInfo.clazz));
GET_METHOD_ID(gKeyCharacterMapClassInfo.ctor, gKeyCharacterMapClassInfo.clazz,
- "<init>", "(I)V");
+ "<init>", "(J)V");
FIND_CLASS(gKeyEventClassInfo.clazz, "android/view/KeyEvent");
gKeyEventClassInfo.clazz = jclass(env->NewGlobalRef(gKeyEventClassInfo.clazz));