static void android_view_InputChannel_nativeDispose(JNIEnv* env, jobject obj, jboolean finalized) { NativeInputChannel* nativeInputChannel = android_view_InputChannel_getNativeInputChannel(env, obj); if (nativeInputChannel) { if (finalized) { ALOGW("Input channel object '%s' was finalized without being disposed!", nativeInputChannel->getInputChannel()->getName().string()); } nativeInputChannel->invokeAndRemoveDisposeCallback(env, obj); android_view_InputChannel_setNativeInputChannel(env, obj, NULL); delete nativeInputChannel; } }