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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java

Issue 2784463002: Revert of chrome/android: Push EventFilters into the Layout implementations. (Closed)
Patch Set: Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.compositor.layouts; 5 package org.chromium.chrome.browser.compositor.layouts;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 import android.graphics.Bitmap; 8 import android.graphics.Bitmap;
9 import android.graphics.RectF;
10 import android.view.MotionEvent;
9 import android.view.ViewGroup; 11 import android.view.ViewGroup;
10 12
11 import org.chromium.chrome.R; 13 import org.chromium.chrome.R;
12 import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager; 14 import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
15 import org.chromium.chrome.browser.compositor.layouts.eventfilter.AreaGestureEve ntFilter;
16 import org.chromium.chrome.browser.compositor.layouts.eventfilter.GestureHandler ;
13 import org.chromium.chrome.browser.compositor.layouts.eventfilter.ScrollDirectio n; 17 import org.chromium.chrome.browser.compositor.layouts.eventfilter.ScrollDirectio n;
14 import org.chromium.chrome.browser.compositor.overlays.strip.StripLayoutHelperMa nager; 18 import org.chromium.chrome.browser.compositor.overlays.strip.StripLayoutHelperMa nager;
15 import org.chromium.chrome.browser.contextualsearch.ContextualSearchManagementDe legate; 19 import org.chromium.chrome.browser.contextualsearch.ContextualSearchManagementDe legate;
16 import org.chromium.chrome.browser.dom_distiller.ReaderModeManagerDelegate; 20 import org.chromium.chrome.browser.dom_distiller.ReaderModeManagerDelegate;
17 import org.chromium.chrome.browser.tab.Tab; 21 import org.chromium.chrome.browser.tab.Tab;
18 import org.chromium.chrome.browser.tabmodel.TabCreatorManager; 22 import org.chromium.chrome.browser.tabmodel.TabCreatorManager;
19 import org.chromium.chrome.browser.tabmodel.TabModel; 23 import org.chromium.chrome.browser.tabmodel.TabModel;
20 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType; 24 import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
21 import org.chromium.chrome.browser.tabmodel.TabModelSelector; 25 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
22 import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver; 26 import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
23 import org.chromium.ui.resources.dynamics.DynamicResourceLoader; 27 import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
24 28
25 import java.util.List; 29 import java.util.List;
26 30
27 /** 31 /**
28 * {@link LayoutManagerChromeTablet} is the specialization of {@link LayoutManag erChrome} for 32 * {@link LayoutManagerChromeTablet} is the specialization of {@link LayoutManag erChrome} for
29 * the tablet. 33 * the tablet.
30 */ 34 */
31 public class LayoutManagerChromeTablet extends LayoutManagerChrome { 35 public class LayoutManagerChromeTablet extends LayoutManagerChrome {
36 // Event Filters
37 private final TabStripEventFilter mTabStripFilter;
38
32 // Internal State 39 // Internal State
33 private final String mDefaultTitle; 40 private final String mDefaultTitle;
34 41
35 private StripLayoutHelperManager mTabStripLayoutHelperManager; 42 private StripLayoutHelperManager mTabStripLayoutHelperManager;
36 private TabModelSelectorTabObserver mTabObserver; 43 private TabModelSelectorTabObserver mTabObserver;
37 44
38 /** 45 /**
39 * Creates an instance of a {@link LayoutManagerChromePhone}. 46 * Creates an instance of a {@link LayoutManagerChromePhone}.
40 * @param host A {@link LayoutManagerHost} instance. 47 * @param host A {@link LayoutManagerHost} instance.
41 */ 48 */
42 public LayoutManagerChromeTablet(LayoutManagerHost host) { 49 public LayoutManagerChromeTablet(LayoutManagerHost host) {
43 super(host, false); 50 super(host, false);
44 Context context = host.getContext(); 51 Context context = host.getContext();
45 52
46 mTabStripLayoutHelperManager = 53 // Build Event Filters
47 new StripLayoutHelperManager(context, this, mHost.getLayoutRende rHost()); 54 mTabStripFilter =
55 new TabStripEventFilter(context, new TabStripEventHandler(), nul l, false, false);
56
57 mTabStripLayoutHelperManager = new StripLayoutHelperManager(
58 context, this, mHost.getLayoutRenderHost(), mTabStripFilter);
48 59
49 // Set up state 60 // Set up state
50 mDefaultTitle = context.getString(R.string.tab_loading_default_title); 61 mDefaultTitle = context.getString(R.string.tab_loading_default_title);
51 62
52 63
53 setNextLayout(null); 64 setNextLayout(null);
54 } 65 }
55 66
56 @Override 67 @Override
57 protected void addAllSceneOverlays() { 68 protected void addAllSceneOverlays() {
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
189 public boolean isSwipeEnabled(ScrollDirection direction) { 200 public boolean isSwipeEnabled(ScrollDirection direction) {
190 if ((direction == ScrollDirection.LEFT || direction == ScrollDirecti on.RIGHT) 201 if ((direction == ScrollDirection.LEFT || direction == ScrollDirecti on.RIGHT)
191 && (getTabModelSelector() == null 202 && (getTabModelSelector() == null
192 || getTabModelSelector().getCurrentModel().getCou nt() <= 1)) { 203 || getTabModelSelector().getCurrentModel().getCou nt() <= 1)) {
193 return false; 204 return false;
194 } 205 }
195 206
196 return super.isSwipeEnabled(direction); 207 return super.isSwipeEnabled(direction);
197 } 208 }
198 } 209 }
210
211 private class TabStripEventHandler implements GestureHandler {
212 @Override
213 public void onDown(float x, float y, boolean fromMouse, int buttons) {
214 mTabStripLayoutHelperManager.onDown(time(), x, y, fromMouse, buttons );
215 }
216
217 @Override
218 public void onUpOrCancel() {
219 mTabStripLayoutHelperManager.onUpOrCancel(time());
220 }
221
222 @Override
223 public void drag(float x, float y, float dx, float dy, float tx, float t y) {
224 mTabStripLayoutHelperManager.drag(time(), x, y, dx, dy, tx, ty);
225 }
226
227 @Override
228 public void click(float x, float y, boolean fromMouse, int buttons) {
229 mTabStripLayoutHelperManager.click(time(), x, y, fromMouse, buttons) ;
230 }
231
232 @Override
233 public void fling(float x, float y, float velocityX, float velocityY) {
234 mTabStripLayoutHelperManager.fling(time(), x, y, velocityX, velocity Y);
235 }
236
237 @Override
238 public void onLongPress(float x, float y) {
239 mTabStripLayoutHelperManager.onLongPress(time(), x, y);
240 }
241
242 @Override
243 public void onPinch(float x0, float y0, float x1, float y1, boolean firs tEvent) {
244 // Not implemented.
245 }
246 }
247
248 private class TabStripEventFilter extends AreaGestureEventFilter {
249 public TabStripEventFilter(Context context, GestureHandler handler, Rect F triggerRect,
250 boolean autoOffset, boolean useDefaultLongPress) {
251 super(context, handler, triggerRect, autoOffset, useDefaultLongPress );
252 }
253
254 @Override
255 public boolean onInterceptTouchEventInternal(MotionEvent e, boolean isKe yboardShowing) {
256 if (getActiveLayout().isTabStripEventFilterEnabled()) {
257 return super.onInterceptTouchEventInternal(e, isKeyboardShowing) ;
258 }
259
260 return false;
261 }
262 }
199 } 263 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698