static jfloat android_view_MotionEvent_nativeGetAxisValue(JNIEnv* env, jclass clazz, jlong nativePtr, jint axis, jint pointerIndex, jint historyPos) { MotionEvent* event = reinterpret_cast<MotionEvent*>(nativePtr); size_t pointerCount = event->getPointerCount(); //ActionsCode(authro:songzhining, comment: fix BUG00232351) if (pointerIndex >= pointerCount) { ALOGE("Error pointerIndex! count=%d, index=%d", pointerCount, pointerIndex); pointerIndex = 0; } if (!validatePointerIndex(env, pointerIndex, pointerCount)) { return 0; } if (historyPos == HISTORY_CURRENT) { return event->getAxisValue(axis, pointerIndex); } else { size_t historySize = event->getHistorySize(); if (!validateHistoryPos(env, historyPos, historySize)) { return 0; } return event->getHistoricalAxisValue(axis, pointerIndex, historyPos); } }
static jfloat android_view_MotionEvent_nativeGetAxisValue(JNIEnv* env, jclass clazz, jint nativePtr, jint axis, jint pointerIndex, jint historyPos) { MotionEvent* event = reinterpret_cast<MotionEvent*>(nativePtr); size_t pointerCount = event->getPointerCount(); if (!validatePointerIndex(env, pointerIndex, pointerCount)) { return 0; } if (historyPos == HISTORY_CURRENT) { return event->getAxisValue(axis, pointerIndex); } else { size_t historySize = event->getHistorySize(); if (!validateHistoryPos(env, historyPos, historySize)) { return 0; } return event->getHistoricalAxisValue(axis, pointerIndex, historyPos); } }