Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3907)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageScrollView.java

Issue 2452543005: 🏠 Merge the context menu code for NTP tiles and suggestions (Closed)
Patch Set: address comments Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageScrollView.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageScrollView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageScrollView.java
index 20a9d49513e249b545db85d613fc4170243f70df..98597c0a4ea08971db1b155ccae7fd8173473b6d 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageScrollView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/NewTabPageScrollView.java
@@ -19,15 +19,19 @@
import org.chromium.base.Log;
import org.chromium.chrome.R;
+import org.chromium.chrome.browser.ntp.ContextMenuHandler.TouchDisableableView;
import org.chromium.chrome.browser.widget.FadingShadow;
/**
* Simple wrapper on top of a ScrollView that will acquire focus when tapped. Ensures the
* New Tab page receives focus when clicked.
*/
-public class NewTabPageScrollView extends ScrollView {
+public class NewTabPageScrollView extends ScrollView implements TouchDisableableView {
private static final String TAG = "NewTabPageScrollView";
+ /** Whether the ScrollView and its children should react to touch events. */
+ private boolean mTouchEnabled = true;
+
/**
* Listener for scroll changes.
*/
@@ -94,12 +98,25 @@ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
mGestureDetector.onTouchEvent(ev);
+ if (!mTouchEnabled) return true;
return super.onInterceptTouchEvent(ev);
}
@Override
+ public void setTouchEnabled(boolean enabled) {
+ mTouchEnabled = enabled;
+ }
+
+ @Override
+ public View asView() {
+ return this;
+ }
+
+ @Override
@SuppressLint("ClickableViewAccessibility")
public boolean onTouchEvent(MotionEvent ev) {
+ if (!mTouchEnabled) return false;
+
// Action down would already have been handled in onInterceptTouchEvent
if (ev.getActionMasked() != MotionEvent.ACTION_DOWN) {
mGestureDetector.onTouchEvent(ev);

Powered by Google App Engine
This is Rietveld 408576698