From 23d24587ee4907ebb8136abe177721ca51b5a89a Mon Sep 17 00:00:00 2001 From: liyuqian Date: Mon, 22 Aug 2016 11:31:09 -0700 Subject: [PATCH] Fix touch event parameter order The issue is so obvious... However, all newer Android devices (e.g., Nexus 6P, 5X, 9) are immune to this bug. So I didn't notice this until I tested Viewer app on Nexus 7 yesterday... BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2254223002 Review-Url: https://codereview.chromium.org/2254223002 --- tools/viewer/sk_app/android/surface_glue_android.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/viewer/sk_app/android/surface_glue_android.cpp b/tools/viewer/sk_app/android/surface_glue_android.cpp index d001cd5367..29d9ff089c 100644 --- a/tools/viewer/sk_app/android/surface_glue_android.cpp +++ b/tools/viewer/sk_app/android/surface_glue_android.cpp @@ -147,9 +147,12 @@ int SkiaAndroidApp::message_callback(int fd, int events, void* data) { } case kTouched: { auto it = ANDROID_TO_WINDOW_STATEMAP.find(message.fTouchState); - SkASSERT(it != ANDROID_TO_WINDOW_STATEMAP.end()); - skiaAndroidApp->fWindow->onTouch(message.fTouchOwner, it->second, message.fTouchX, - message.fTouchY); + if (it != ANDROID_TO_WINDOW_STATEMAP.end()) { + skiaAndroidApp->fWindow->onTouch(message.fTouchOwner, it->second, message.fTouchX, + message.fTouchY); + } else { + SkDebugf("Unknown Touch State: %d\n", message.fTouchState); + } break; } case kUIStateChanged: { @@ -242,7 +245,7 @@ extern "C" JNIEXPORT void JNICALL Java_org_skia_viewer_ViewerActivity_onKeyPress } extern "C" JNIEXPORT void JNICALL Java_org_skia_viewer_ViewerActivity_onTouched( - JNIEnv* env, jobject activity, jlong handle, jint owner, jfloat x, jfloat y, jint state) { + JNIEnv* env, jobject activity, jlong handle, jint owner, jint state, jfloat x, jfloat y) { auto skiaAndroidApp = (SkiaAndroidApp*)handle; Message message(kTouched); message.fTouchOwner = owner;