Merge "AArch64: Use long for pointers in DisplayEventReceiver"
This commit is contained in:
@@ -36,16 +36,16 @@ public abstract class DisplayEventReceiver {
|
|||||||
|
|
||||||
private final CloseGuard mCloseGuard = CloseGuard.get();
|
private final CloseGuard mCloseGuard = CloseGuard.get();
|
||||||
|
|
||||||
private int mReceiverPtr;
|
private long mReceiverPtr;
|
||||||
|
|
||||||
// We keep a reference message queue object here so that it is not
|
// We keep a reference message queue object here so that it is not
|
||||||
// GC'd while the native peer of the receiver is using them.
|
// GC'd while the native peer of the receiver is using them.
|
||||||
private MessageQueue mMessageQueue;
|
private MessageQueue mMessageQueue;
|
||||||
|
|
||||||
private static native int nativeInit(DisplayEventReceiver receiver,
|
private static native long nativeInit(DisplayEventReceiver receiver,
|
||||||
MessageQueue messageQueue);
|
MessageQueue messageQueue);
|
||||||
private static native void nativeDispose(int receiverPtr);
|
private static native void nativeDispose(long receiverPtr);
|
||||||
private static native void nativeScheduleVsync(int receiverPtr);
|
private static native void nativeScheduleVsync(long receiverPtr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a display event receiver.
|
* Creates a display event receiver.
|
||||||
|
|||||||
@@ -207,7 +207,7 @@ void NativeDisplayEventReceiver::dispatchHotplug(nsecs_t timestamp, int32_t id,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static jint nativeInit(JNIEnv* env, jclass clazz, jobject receiverObj,
|
static jlong nativeInit(JNIEnv* env, jclass clazz, jobject receiverObj,
|
||||||
jobject messageQueueObj) {
|
jobject messageQueueObj) {
|
||||||
sp<MessageQueue> messageQueue = android_os_MessageQueue_getMessageQueue(env, messageQueueObj);
|
sp<MessageQueue> messageQueue = android_os_MessageQueue_getMessageQueue(env, messageQueueObj);
|
||||||
if (messageQueue == NULL) {
|
if (messageQueue == NULL) {
|
||||||
@@ -226,17 +226,17 @@ static jint nativeInit(JNIEnv* env, jclass clazz, jobject receiverObj,
|
|||||||
}
|
}
|
||||||
|
|
||||||
receiver->incStrong(gDisplayEventReceiverClassInfo.clazz); // retain a reference for the object
|
receiver->incStrong(gDisplayEventReceiverClassInfo.clazz); // retain a reference for the object
|
||||||
return reinterpret_cast<jint>(receiver.get());
|
return reinterpret_cast<jlong>(receiver.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
static void nativeDispose(JNIEnv* env, jclass clazz, jint receiverPtr) {
|
static void nativeDispose(JNIEnv* env, jclass clazz, jlong receiverPtr) {
|
||||||
sp<NativeDisplayEventReceiver> receiver =
|
sp<NativeDisplayEventReceiver> receiver =
|
||||||
reinterpret_cast<NativeDisplayEventReceiver*>(receiverPtr);
|
reinterpret_cast<NativeDisplayEventReceiver*>(receiverPtr);
|
||||||
receiver->dispose();
|
receiver->dispose();
|
||||||
receiver->decStrong(gDisplayEventReceiverClassInfo.clazz); // drop reference held by the object
|
receiver->decStrong(gDisplayEventReceiverClassInfo.clazz); // drop reference held by the object
|
||||||
}
|
}
|
||||||
|
|
||||||
static void nativeScheduleVsync(JNIEnv* env, jclass clazz, jint receiverPtr) {
|
static void nativeScheduleVsync(JNIEnv* env, jclass clazz, jlong receiverPtr) {
|
||||||
sp<NativeDisplayEventReceiver> receiver =
|
sp<NativeDisplayEventReceiver> receiver =
|
||||||
reinterpret_cast<NativeDisplayEventReceiver*>(receiverPtr);
|
reinterpret_cast<NativeDisplayEventReceiver*>(receiverPtr);
|
||||||
status_t status = receiver->scheduleVsync();
|
status_t status = receiver->scheduleVsync();
|
||||||
@@ -251,12 +251,12 @@ static void nativeScheduleVsync(JNIEnv* env, jclass clazz, jint receiverPtr) {
|
|||||||
static JNINativeMethod gMethods[] = {
|
static JNINativeMethod gMethods[] = {
|
||||||
/* name, signature, funcPtr */
|
/* name, signature, funcPtr */
|
||||||
{ "nativeInit",
|
{ "nativeInit",
|
||||||
"(Landroid/view/DisplayEventReceiver;Landroid/os/MessageQueue;)I",
|
"(Landroid/view/DisplayEventReceiver;Landroid/os/MessageQueue;)J",
|
||||||
(void*)nativeInit },
|
(void*)nativeInit },
|
||||||
{ "nativeDispose",
|
{ "nativeDispose",
|
||||||
"(I)V",
|
"(J)V",
|
||||||
(void*)nativeDispose },
|
(void*)nativeDispose },
|
||||||
{ "nativeScheduleVsync", "(I)V",
|
{ "nativeScheduleVsync", "(J)V",
|
||||||
(void*)nativeScheduleVsync }
|
(void*)nativeScheduleVsync }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user