Revert "[MVT Customization] Add and use TilesLinearLayout."
This reverts commit d1ea2a0b25d4e4c30e921f90d42cea70cded170b.
Reason for revert: Failure in org.chromium.chrome.browser.ntp.NewTabPageTest#testMvtContainerOnNtp on tablet shows that this CL is not a pure refactoring; will return to this issue later.
Original change's description:
> [MVT Customization] Add and use TilesLinearLayout.
>
> For MVT Customization we'd like to render a divider between Custom Tiles
> and Top-Sites Tiles. The addition conflicts with the previous assumption
> that MostVisitedTilesLayout's children consist of SuggestionsTileView,
> as seen by getChildCount() and getChildAt() usages to:
> * Cache tiles for reuse when re-rendering.
> * Dynamically tweak margins to adjust tile spacing.
>
> This is a refactoring CL that mostly updates MostVisitedTilesLayout:
> * Prepare for the addition of tile dividers.
> * Update tablet edge margins computation, so that the UI decision to
> avoid changing from scrollable container -> centered container
> becomes more explicit.
>
> Details:
> * Add TilesLinearLayout, to be inserted in inheritance chain via
> LinearLayout <- TilesLinearLayout <- MostVisitedTilesLayout:
> * Field |mTileList| to store a List<TileView>.
> * Methods: {addTile(), getTileCount(), getTileAt()} to replace
> {addView(), getChildCount(), getChildAt()} for tiles.
> * Note: Storing TileView instead of SuggestionsTileView, since this is
> needed by some tests.
> * Override: removeAllViews() to clear |mTileList|.
> * MostVisitedTilesLayout:
> * Dimension fields: Use DP where applicable, since it's better to add
> DP sizes before converting to PX, instead of converting first.
> * Add "Dp" or "Px" suffixes wherever applicable.
> * updateSingleViewStartMargin(), updateSingleViewEndMargin(): Relace
> param from TileView to View, to prepare for dividers.
> * Extract computeContentWidthPx() (with better DP usage)
> * Extract edge padding computation computeEdgePaddingPx(), simplifying
> the logic while adding comments.
> * Replace |mInitialTileNum| with |mInitialContentWidthPx|.
> * updateEdgeMarginTablet(): Reduce to use the above.
> * General:
> * Replace ViewGroup / LinearLayout usages intended for parent to
> TilesLinearLayout.
> * Change {getChildCount(), getChildAt()} to {getTileCount(),
> getTileAt()} wherever applicable.
>
> Bug: 400481269, 388782412
> Change-Id: I3388767d9fa81df88d727d972b0366416589dce0
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6324689
> Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
> Reviewed-by: Xinyi Ji <xinyiji@chromium.org>
> Commit-Queue: Samuel Huang <huangs@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1430330}
Bug: 400481269, 388782412
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: Iec179699a78fc9217aaf32f93b14f60876ca43d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6342572
Reviewed-by: Calder Kitagawa <ckitagawa@chromium.org>
Auto-Submit: Samuel Huang <huangs@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Calder Kitagawa <ckitagawa@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1430766}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure.
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.