Index: chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuButtonHelper.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuButtonHelper.java b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuButtonHelper.java |
index baad0991246fcae354ac009994c90ee9959bfcad..f89dca7aaa5b8acc186275cd959078708022ce04 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuButtonHelper.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/appmenu/AppMenuButtonHelper.java |
@@ -103,9 +103,13 @@ public class AppMenuButtonHelper extends SimpleOnGestureListener implements OnTo |
@Override |
public boolean onTouch(View view, MotionEvent event) { |
+ // isMenuButtonReleased is a workaround for some versions of Android that do not |
+ // reset pressed animations correctly on mMenuButton.setPressed(false). |
+ boolean isMenuButtonReleased = false; |
if (event.getActionMasked() == MotionEvent.ACTION_CANCEL || |
event.getActionMasked() == MotionEvent.ACTION_UP) { |
mMenuButton.setPressed(false); |
+ isMenuButtonReleased = true; |
} |
// This will take care of showing app menu. |
@@ -118,6 +122,6 @@ public class AppMenuButtonHelper extends SimpleOnGestureListener implements OnTo |
if (dragHelper != null && !isTouchEventConsumed) { |
isTouchEventConsumed |= dragHelper.handleDragging(event); |
} |
- return isTouchEventConsumed; |
+ return !isMenuButtonReleased && isTouchEventConsumed; |
} |
} |