| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedLayout.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedLayout.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedLayout.java
|
| deleted file mode 100644
|
| index 47c99aa95f4363766c8b92d5ba483e642927c156..0000000000000000000000000000000000000000
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/MostVisitedLayout.java
|
| +++ /dev/null
|
| @@ -1,154 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.chrome.browser.ntp;
|
| -
|
| -import android.content.Context;
|
| -import android.content.res.Resources;
|
| -import android.graphics.drawable.Drawable;
|
| -import android.text.TextUtils;
|
| -import android.util.AttributeSet;
|
| -import android.view.View;
|
| -import android.widget.FrameLayout;
|
| -
|
| -import org.chromium.base.ApiCompatibilityUtils;
|
| -import org.chromium.chrome.R;
|
| -import org.chromium.chrome.browser.util.MathUtils;
|
| -
|
| -/**
|
| - * A layout that arranges most visited items in a grid.
|
| - */
|
| -public class MostVisitedLayout extends FrameLayout {
|
| -
|
| - private static final int MAX_COLUMNS = 4;
|
| -
|
| - private int mVerticalSpacing;
|
| - private int mExtraVerticalSpacing;
|
| - private int mMinHorizontalSpacing;
|
| - private int mMaxHorizontalSpacing;
|
| - private int mMaxWidth;
|
| - private int mMaxRows;
|
| -
|
| - /**
|
| - * @param context The view context in which this item will be shown.
|
| - * @param attrs The attributes of the XML tag that is inflating the view.
|
| - */
|
| - public MostVisitedLayout(Context context, AttributeSet attrs) {
|
| - super(context, attrs);
|
| -
|
| - Resources res = getResources();
|
| - mVerticalSpacing = res.getDimensionPixelOffset(R.dimen.most_visited_vertical_spacing);
|
| - mMinHorizontalSpacing = res.getDimensionPixelOffset(
|
| - R.dimen.most_visited_min_horizontal_spacing);
|
| - mMaxHorizontalSpacing = res.getDimensionPixelOffset(
|
| - R.dimen.most_visited_max_horizontal_spacing);
|
| - mMaxWidth = res.getDimensionPixelOffset(R.dimen.most_visited_layout_max_width);
|
| - }
|
| -
|
| - /**
|
| - * Sets the maximum number of rows to display. Any items that don't fit within these rows will
|
| - * be hidden.
|
| - */
|
| - public void setMaxRows(int rows) {
|
| - mMaxRows = rows;
|
| - }
|
| -
|
| - /**
|
| - * Sets the extra vertical spacing that must be used. It will be distributed evenly above each
|
| - * row.
|
| - */
|
| - public void setExtraVerticalSpacing(int spacing) {
|
| - if (mExtraVerticalSpacing == spacing) {
|
| - return;
|
| - }
|
| - mExtraVerticalSpacing = spacing;
|
| -
|
| - // Clear the measure cache for this view and make sure it will be remeasured.
|
| - forceLayout();
|
| - }
|
| -
|
| - /**
|
| - * Sets a new icon on the child view with a matching URL.
|
| - * @param url The site URL of the child tile view.
|
| - * @param icon The icon to set.
|
| - */
|
| - public void updateIconView(String url, Drawable icon) {
|
| - int childCount = getChildCount();
|
| - for (int i = 0; i < childCount; i++) {
|
| - MostVisitedItemView tileView = (MostVisitedItemView) getChildAt(i);
|
| - if (TextUtils.equals(url, tileView.getUrl())) {
|
| - tileView.setIcon(icon);
|
| - break;
|
| - }
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
| - int totalWidth = resolveSize(mMaxWidth, widthMeasureSpec);
|
| - int childCount = getChildCount();
|
| - if (childCount == 0) {
|
| - setMeasuredDimension(totalWidth, resolveSize(0, heightMeasureSpec));
|
| - return;
|
| - }
|
| -
|
| - // Measure the children.
|
| - for (int i = 0; i < childCount; i++) {
|
| - measureChild(getChildAt(i), MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
|
| - }
|
| -
|
| - // Determine the number of columns that will fit.
|
| - int gridWidth = totalWidth - ApiCompatibilityUtils.getPaddingStart(this)
|
| - - ApiCompatibilityUtils.getPaddingEnd(this);
|
| - int childHeight = getChildAt(0).getMeasuredHeight();
|
| - int childWidth = getChildAt(0).getMeasuredWidth();
|
| - int numColumns = MathUtils.clamp(
|
| - (gridWidth + mMinHorizontalSpacing) / (childWidth + mMinHorizontalSpacing),
|
| - 1, MAX_COLUMNS);
|
| -
|
| - // Ensure column spacing isn't greater than mMaxHorizontalSpacing.
|
| - int gridWidthMinusColumns = Math.max(0, gridWidth - numColumns * childWidth);
|
| - int gridSidePadding = gridWidthMinusColumns - mMaxHorizontalSpacing * (numColumns - 1);
|
| -
|
| - int gridStart = 0;
|
| - float horizontalSpacing;
|
| - if (gridSidePadding > 0) {
|
| - horizontalSpacing = mMaxHorizontalSpacing;
|
| - gridStart = gridSidePadding / 2;
|
| - } else {
|
| - horizontalSpacing = (float) gridWidthMinusColumns / Math.max(1, numColumns - 1);
|
| - }
|
| -
|
| - // Limit the number of rows to mMaxRows.
|
| - int visibleChildCount = Math.min(childCount, mMaxRows * numColumns);
|
| -
|
| - // Arrange the visible children in a grid.
|
| - int numRows = (visibleChildCount + numColumns - 1) / numColumns;
|
| - int paddingTop = getPaddingTop();
|
| - boolean isRtl = ApiCompatibilityUtils.isLayoutRtl(this);
|
| - for (int i = 0; i < visibleChildCount; i++) {
|
| - View child = getChildAt(i);
|
| - child.setVisibility(View.VISIBLE);
|
| - int row = i / numColumns;
|
| - int column = i % numColumns;
|
| - int verticalOffset = Math.round(mExtraVerticalSpacing * ((float) (row + 1) / numRows));
|
| - int childTop = row * (childHeight + mVerticalSpacing) + verticalOffset;
|
| - int childStart = gridStart + Math.round(column * (childWidth + horizontalSpacing));
|
| - MarginLayoutParams layoutParams = (MarginLayoutParams) child.getLayoutParams();
|
| - layoutParams.setMargins(isRtl ? 0 : childStart, childTop, isRtl ? childStart : 0, 0);
|
| - child.setLayoutParams(layoutParams);
|
| - }
|
| -
|
| - // Hide any extra children in case there are more than needed for the maximum number of
|
| - // rows.
|
| - for (int i = visibleChildCount; i < childCount; i++) {
|
| - getChildAt(i).setVisibility(View.GONE);
|
| - }
|
| -
|
| - int totalHeight = paddingTop + getPaddingBottom() + numRows * childHeight
|
| - + (numRows - 1) * mVerticalSpacing + mExtraVerticalSpacing;
|
| -
|
| - setMeasuredDimension(totalWidth, resolveSize(totalHeight, heightMeasureSpec));
|
| - }
|
| -}
|
|
|