Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuDragHelper.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuDragHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuDragHelper.java |
| index 6f79b8551ae6bad6a4c0fb132808b7952f2c0738..e986737af9d2858c3b6e746629c7a5ef6a25797d 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuDragHelper.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuDragHelper.java |
| @@ -17,6 +17,7 @@ import android.widget.LinearLayout; |
| import android.widget.ListPopupWindow; |
| import android.widget.ListView; |
| +import org.chromium.base.JNINamespace; |
| import org.chromium.chrome.R; |
| import org.chromium.chrome.browser.UmaBridge; |
| @@ -29,6 +30,7 @@ import java.util.ArrayList; |
| * hidden in API 16. |
| */ |
| @SuppressLint("NewApi") |
| +@JNINamespace("appmenu::android") |
| class AppMenuDragHelper { |
| private final Activity mActivity; |
| private final AppMenu mAppMenu; |
| @@ -146,6 +148,7 @@ class AppMenuDragHelper { |
| final int roundedRawX = Math.round(rawX); |
| final int roundedRawY = Math.round(rawY); |
| final int eventActionMasked = event.getActionMasked(); |
| + final long timeSinceDown = event.getEventTime() - event.getDownTime(); |
| final ListView listView = mAppMenu.getPopup().getListView(); |
| mLastTouchX = rawX; |
| @@ -154,9 +157,11 @@ class AppMenuDragHelper { |
| if (eventActionMasked == MotionEvent.ACTION_CANCEL) { |
| mAppMenu.dismiss(); |
| return true; |
| + } else if (eventActionMasked == MotionEvent.ACTION_UP) { |
| + nativeRecordTouchDuration(timeSinceDown); |
|
Ted C
2014/12/10 17:28:55
this can't be triggered before native is loaded ri
Kibeom Kim (inactive)
2014/12/15 22:14:30
I tried commeting out ChromeBrowserInitializer#han
|
| } |
| - mIsSingleTapCanceled |= event.getEventTime() - event.getDownTime() > mTapTimeout; |
| + mIsSingleTapCanceled |= timeSinceDown > mTapTimeout; |
| mIsSingleTapCanceled |= !pointInView(button, event.getX(), event.getY(), mScaledTouchSlop); |
| if (!mIsSingleTapCanceled && eventActionMasked == MotionEvent.ACTION_UP) { |
| UmaBridge.usingMenu(false, false); |
| @@ -277,4 +282,6 @@ class AppMenuDragHelper { |
| mScreenVisibleRect.offset(mScreenVisiblePoint[0], mScreenVisiblePoint[1]); |
| return mScreenVisibleRect; |
| } |
| + |
| + private static native void nativeRecordTouchDuration(long timeMs); |
| } |