Commit 5cdb3b20 authored by Wei-Yin Chen (陳威尹)'s avatar Wei-Yin Chen (陳威尹) Committed by Commit Bot

Move GridTabSwitcherLayout to tab_ui feature folder

Bug: 971840
Change-Id: I8e105401276130c3d690c24e37228d80d18eddfb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1648939
Commit-Queue: Wei-Yin Chen (陳威尹) <wychen@chromium.org>
Reviewed-by: default avatarYusuf Ozuysal <yusufo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#667263}
parent 7f9bf64f
...@@ -1746,7 +1746,6 @@ chrome_java_sources = [ ...@@ -1746,7 +1746,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/widget/MaterialProgressBar.java", "java/src/org/chromium/chrome/browser/widget/MaterialProgressBar.java",
"java/src/org/chromium/chrome/browser/widget/NumberRollView.java", "java/src/org/chromium/chrome/browser/widget/NumberRollView.java",
"java/src/org/chromium/chrome/browser/widget/OverviewListLayout.java", "java/src/org/chromium/chrome/browser/widget/OverviewListLayout.java",
"java/src/org/chromium/chrome/browser/widget/GridTabSwitcherLayout.java",
"java/src/org/chromium/chrome/browser/widget/PaddedFrameLayout.java", "java/src/org/chromium/chrome/browser/widget/PaddedFrameLayout.java",
"java/src/org/chromium/chrome/browser/widget/ProgressAnimationSmooth.java", "java/src/org/chromium/chrome/browser/widget/ProgressAnimationSmooth.java",
"java/src/org/chromium/chrome/browser/widget/PromoDialog.java", "java/src/org/chromium/chrome/browser/widget/PromoDialog.java",
......
...@@ -495,7 +495,6 @@ chrome_test_java_sources = [ ...@@ -495,7 +495,6 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/webauth/AuthenticatorTest.java", "javatests/src/org/chromium/chrome/browser/webauth/AuthenticatorTest.java",
"javatests/src/org/chromium/chrome/browser/webshare/WebShareTest.java", "javatests/src/org/chromium/chrome/browser/webshare/WebShareTest.java",
"javatests/src/org/chromium/chrome/browser/widget/DualControlLayoutTest.java", "javatests/src/org/chromium/chrome/browser/widget/DualControlLayoutTest.java",
"javatests/src/org/chromium/chrome/browser/widget/GridTabSwitcherLayoutPerfTest.java",
"javatests/src/org/chromium/chrome/browser/widget/OverviewListLayoutTest.java", "javatests/src/org/chromium/chrome/browser/widget/OverviewListLayoutTest.java",
"javatests/src/org/chromium/chrome/browser/widget/PromoDialogTest.java", "javatests/src/org/chromium/chrome/browser/widget/PromoDialogTest.java",
"javatests/src/org/chromium/chrome/browser/widget/RadioButtonLayoutTest.java", "javatests/src/org/chromium/chrome/browser/widget/RadioButtonLayoutTest.java",
......
...@@ -23,6 +23,7 @@ android_library("java") { ...@@ -23,6 +23,7 @@ android_library("java") {
"java/src/org/chromium/chrome/browser/tasks/tab_groups/TabGroupUtils.java", "java/src/org/chromium/chrome/browser/tasks/tab_groups/TabGroupUtils.java",
"java/src/org/chromium/chrome/browser/tasks/tab_management/ClosableTabGridViewHolder.java", "java/src/org/chromium/chrome/browser/tasks/tab_management/ClosableTabGridViewHolder.java",
"java/src/org/chromium/chrome/browser/tasks/tab_management/GridTabSwitcherCoordinator.java", "java/src/org/chromium/chrome/browser/tasks/tab_management/GridTabSwitcherCoordinator.java",
"java/src/org/chromium/chrome/browser/tasks/tab_management/GridTabSwitcherLayout.java",
"java/src/org/chromium/chrome/browser/tasks/tab_management/GridTabSwitcherMediator.java", "java/src/org/chromium/chrome/browser/tasks/tab_management/GridTabSwitcherMediator.java",
"java/src/org/chromium/chrome/browser/tasks/tab_management/MultiThumbnailCardProvider.java", "java/src/org/chromium/chrome/browser/tasks/tab_management/MultiThumbnailCardProvider.java",
"java/src/org/chromium/chrome/browser/tasks/tab_management/SelectableTabGridViewHolder.java", "java/src/org/chromium/chrome/browser/tasks/tab_management/SelectableTabGridViewHolder.java",
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.widget; package org.chromium.chrome.browser.tasks.tab_management;
import static org.chromium.chrome.browser.compositor.animation.CompositorAnimator.FAST_OUT_SLOW_IN_INTERPOLATOR; import static org.chromium.chrome.browser.compositor.animation.CompositorAnimator.FAST_OUT_SLOW_IN_INTERPOLATOR;
...@@ -33,7 +33,6 @@ import org.chromium.chrome.browser.compositor.scene_layer.SceneLayer; ...@@ -33,7 +33,6 @@ import org.chromium.chrome.browser.compositor.scene_layer.SceneLayer;
import org.chromium.chrome.browser.compositor.scene_layer.TabListSceneLayer; import org.chromium.chrome.browser.compositor.scene_layer.TabListSceneLayer;
import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager; import org.chromium.chrome.browser.fullscreen.ChromeFullscreenManager;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tasks.tab_management.GridTabSwitcher;
import org.chromium.ui.resources.ResourceManager; import org.chromium.ui.resources.ResourceManager;
import org.chromium.ui.widget.Toast; import org.chromium.ui.widget.Toast;
......
...@@ -4,10 +4,14 @@ ...@@ -4,10 +4,14 @@
package org.chromium.chrome.browser.tasks.tab_management; package org.chromium.chrome.browser.tasks.tab_management;
import android.content.Context;
import android.view.ViewGroup; import android.view.ViewGroup;
import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ThemeColorProvider; import org.chromium.chrome.browser.ThemeColorProvider;
import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutRenderHost;
import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost;
import org.chromium.components.module_installer.ModuleInterface; import org.chromium.components.module_installer.ModuleInterface;
/** /**
...@@ -16,6 +20,16 @@ import org.chromium.components.module_installer.ModuleInterface; ...@@ -16,6 +20,16 @@ import org.chromium.components.module_installer.ModuleInterface;
@ModuleInterface(module = "tab_management", @ModuleInterface(module = "tab_management",
impl = "org.chromium.chrome.browser.tasks.tab_management.TabManagementDelegateImpl") impl = "org.chromium.chrome.browser.tasks.tab_management.TabManagementDelegateImpl")
public interface TabManagementDelegate { public interface TabManagementDelegate {
/**
* Create the {@link GridTabSwitcherLayout}.
* @param context The current Android's context.
* @param updateHost The parent {@link LayoutUpdateHost}.
* @param renderHost The parent {@link LayoutRenderHost}.
* @param gridTabSwitcher The {@link GridTabSwitcher} the layout should own.
* @return The {@link GridTabSwitcherLayout}.
*/
Layout createGTSLayout(Context context, LayoutUpdateHost updateHost,
LayoutRenderHost renderHost, GridTabSwitcher gridTabSwitcher);
GridTabSwitcher createGridTabSwitcher(ChromeActivity activity); GridTabSwitcher createGridTabSwitcher(ChromeActivity activity);
TabGroupUi createTabGroupUi(ViewGroup parentView, ThemeColorProvider themeColorProvider); TabGroupUi createTabGroupUi(ViewGroup parentView, ThemeColorProvider themeColorProvider);
} }
...@@ -6,12 +6,16 @@ package org.chromium.chrome.browser.tasks.tab_management; ...@@ -6,12 +6,16 @@ package org.chromium.chrome.browser.tasks.tab_management;
import static org.chromium.chrome.browser.tasks.tab_management.TabManagementModuleProvider.SYNTHETIC_TRIAL_POSTFIX; import static org.chromium.chrome.browser.tasks.tab_management.TabManagementModuleProvider.SYNTHETIC_TRIAL_POSTFIX;
import android.content.Context;
import android.view.ViewGroup; import android.view.ViewGroup;
import org.chromium.base.annotations.UsedByReflection; import org.chromium.base.annotations.UsedByReflection;
import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ChromeFeatureList; import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.ThemeColorProvider; import org.chromium.chrome.browser.ThemeColorProvider;
import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.compositor.layouts.LayoutRenderHost;
import org.chromium.chrome.browser.compositor.layouts.LayoutUpdateHost;
import org.chromium.chrome.browser.metrics.UmaSessionStats; import org.chromium.chrome.browser.metrics.UmaSessionStats;
/** /**
...@@ -19,6 +23,12 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats; ...@@ -19,6 +23,12 @@ import org.chromium.chrome.browser.metrics.UmaSessionStats;
*/ */
@UsedByReflection("TabManagementModule") @UsedByReflection("TabManagementModule")
public class TabManagementDelegateImpl implements TabManagementDelegate { public class TabManagementDelegateImpl implements TabManagementDelegate {
@Override
public Layout createGTSLayout(Context context, LayoutUpdateHost updateHost,
LayoutRenderHost renderHost, GridTabSwitcher gridTabSwitcher) {
return new GridTabSwitcherLayout(context, updateHost, renderHost, gridTabSwitcher);
}
@Override @Override
public GridTabSwitcher createGridTabSwitcher(ChromeActivity activity) { public GridTabSwitcher createGridTabSwitcher(ChromeActivity activity) {
if (ChromeFeatureList.isInitialized()) { if (ChromeFeatureList.isInitialized()) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.widget; package org.chromium.chrome.browser.tasks.tab_management;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
...@@ -32,7 +32,6 @@ import org.chromium.chrome.browser.ChromeSwitches; ...@@ -32,7 +32,6 @@ import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.compositor.animation.CompositorAnimator; import org.chromium.chrome.browser.compositor.animation.CompositorAnimator;
import org.chromium.chrome.browser.compositor.layouts.Layout; import org.chromium.chrome.browser.compositor.layouts.Layout;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tasks.tab_management.GridTabSwitcher;
import org.chromium.chrome.browser.util.FeatureUtilities; import org.chromium.chrome.browser.util.FeatureUtilities;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.ChromeTabbedActivityTestRule; import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
......
...@@ -11,6 +11,7 @@ public_tab_management_java_sources = [ ...@@ -11,6 +11,7 @@ public_tab_management_java_sources = [
] ]
tab_management_test_java_sources = [ tab_management_test_java_sources = [
"//chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/GridTabSwitcherLayoutPerfTest.java",
"//chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridContainerViewBinderTest.java", "//chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabGridContainerViewBinderTest.java",
"//chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabListViewHolderTest.java", "//chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabListViewHolderTest.java",
"//chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TestRecyclerViewSimpleViewBinder.java", "//chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TestRecyclerViewSimpleViewBinder.java",
......
...@@ -31,10 +31,11 @@ import org.chromium.chrome.browser.tabmodel.TabLaunchType; ...@@ -31,10 +31,11 @@ import org.chromium.chrome.browser.tabmodel.TabLaunchType;
import org.chromium.chrome.browser.tabmodel.TabModelSelector; import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.tabmodel.TabModelUtils; import org.chromium.chrome.browser.tabmodel.TabModelUtils;
import org.chromium.chrome.browser.tasks.tab_management.GridTabSwitcher; import org.chromium.chrome.browser.tasks.tab_management.GridTabSwitcher;
import org.chromium.chrome.browser.tasks.tab_management.TabManagementDelegate;
import org.chromium.chrome.browser.tasks.tab_management.TabManagementModuleProvider;
import org.chromium.chrome.browser.toolbar.ToolbarManager; import org.chromium.chrome.browser.toolbar.ToolbarManager;
import org.chromium.chrome.browser.util.AccessibilityUtil; import org.chromium.chrome.browser.util.AccessibilityUtil;
import org.chromium.chrome.browser.util.FeatureUtilities; import org.chromium.chrome.browser.util.FeatureUtilities;
import org.chromium.chrome.browser.widget.GridTabSwitcherLayout;
import org.chromium.chrome.browser.widget.OverviewListLayout; import org.chromium.chrome.browser.widget.OverviewListLayout;
import org.chromium.ui.resources.dynamics.DynamicResourceLoader; import org.chromium.ui.resources.dynamics.DynamicResourceLoader;
...@@ -87,8 +88,12 @@ public class LayoutManagerChrome extends LayoutManager implements OverviewModeCo ...@@ -87,8 +88,12 @@ public class LayoutManagerChrome extends LayoutManager implements OverviewModeCo
mToolbarSwipeLayout = new ToolbarSwipeLayout(context, this, renderHost); mToolbarSwipeLayout = new ToolbarSwipeLayout(context, this, renderHost);
if (createOverviewLayout) { if (createOverviewLayout) {
if (gridTabSwitcher != null) { if (gridTabSwitcher != null) {
mOverviewLayout = assert FeatureUtilities.isGridTabSwitcherEnabled();
new GridTabSwitcherLayout(context, this, renderHost, gridTabSwitcher); TabManagementDelegate tabManagementDelegate =
TabManagementModuleProvider.getDelegate();
assert tabManagementDelegate != null;
mOverviewLayout = tabManagementDelegate.createGTSLayout(
context, this, renderHost, gridTabSwitcher);
} else { } else {
mOverviewLayout = new StackLayout(context, this, renderHost); mOverviewLayout = new StackLayout(context, this, renderHost);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment