| Index: chrome/android/java_staging/src/org/chromium/chrome/browser/ntp/BookmarkItemView.java
|
| diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/ntp/BookmarkItemView.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/ntp/BookmarkItemView.java
|
| deleted file mode 100644
|
| index 10e2143c879faf426de48dd98ca13268fa7f4229..0000000000000000000000000000000000000000
|
| --- a/chrome/android/java_staging/src/org/chromium/chrome/browser/ntp/BookmarkItemView.java
|
| +++ /dev/null
|
| @@ -1,257 +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.annotation.SuppressLint;
|
| -import android.content.Context;
|
| -import android.content.res.Resources;
|
| -import android.content.res.TypedArray;
|
| -import android.graphics.Bitmap;
|
| -import android.graphics.drawable.BitmapDrawable;
|
| -import android.graphics.drawable.Drawable;
|
| -import android.support.v7.widget.AppCompatTextView;
|
| -import android.text.TextUtils;
|
| -import android.util.TypedValue;
|
| -import android.view.ContextMenu;
|
| -import android.view.ContextMenu.ContextMenuInfo;
|
| -import android.view.Gravity;
|
| -import android.view.Menu;
|
| -import android.view.MenuItem;
|
| -import android.view.View;
|
| -import android.view.View.OnClickListener;
|
| -import android.view.View.OnCreateContextMenuListener;
|
| -
|
| -import org.chromium.base.ApiCompatibilityUtils;
|
| -import org.chromium.chrome.R;
|
| -import org.chromium.chrome.browser.ntp.BookmarksPageView.BookmarksPageManager;
|
| -import org.chromium.chrome.browser.widget.TintedDrawable;
|
| -import org.chromium.components.bookmarks.BookmarkId;
|
| -
|
| -/**
|
| - * Displays the bookmark item along with the favicon. This item can be clicked to be taken to that
|
| - * page.
|
| - */
|
| -class BookmarkItemView extends AppCompatTextView implements OnCreateContextMenuListener,
|
| - MenuItem.OnMenuItemClickListener, OnClickListener {
|
| -
|
| - // Context menu item IDs.
|
| - static final int ID_OPEN_IN_NEW_TAB = 0;
|
| - static final int ID_OPEN_IN_INCOGNITO_TAB = 1;
|
| - static final int ID_DELETE = 2;
|
| - static final int ID_EDIT = 3;
|
| -
|
| - /**
|
| - * Drawing-related values that can be shared between instances of BookmarkItem.
|
| - */
|
| - static final class DrawingData {
|
| -
|
| - private final int mPadding;
|
| - private final int mMinHeight;
|
| - private final int mFaviconSize;
|
| - private final int mFaviconContainerSize;
|
| - private final int mTextSize;
|
| - private final int mTextColor;
|
| -
|
| - /**
|
| - * Initialize shared values used for drawing the favicon, borders and shadows.
|
| - * @param context The view context in which the BookmarkItem will be drawn.
|
| - */
|
| - DrawingData(Context context) {
|
| - Resources res = context.getResources();
|
| - mPadding = res.getDimensionPixelOffset(R.dimen.ntp_list_item_padding);
|
| - mMinHeight = res.getDimensionPixelSize(R.dimen.ntp_list_item_min_height);
|
| - mFaviconSize = res.getDimensionPixelSize(R.dimen.ntp_list_item_favicon_size);
|
| - mFaviconContainerSize = res.getDimensionPixelSize(
|
| - R.dimen.ntp_list_item_favicon_container_size);
|
| - mTextSize = res.getDimensionPixelSize(R.dimen.ntp_list_item_text_size);
|
| - mTextColor = res.getColor(R.color.ntp_list_item_text);
|
| - }
|
| - }
|
| -
|
| - private final BookmarksPageManager mManager;
|
| - private final DrawingData mDrawingData;
|
| - private String mTitle;
|
| - private String mUrl;
|
| - private BookmarkId mId;
|
| - private boolean mIsFolder;
|
| - private boolean mIsEditable;
|
| - private boolean mIsManaged;
|
| - private Bitmap mFavicon;
|
| -
|
| - /**
|
| - * @param context The view context in which this item will be shown.
|
| - * @param manager The BookmarksPageManager used to handle clicks.
|
| - * @param id The id of the bookmark item.
|
| - * @param title The title of the page.
|
| - * @param url The URL of the page.
|
| - * @param isEditable Whether this bookmark item can be edited.
|
| - * @param isManaged Whether this is a managed bookmark.
|
| - */
|
| - @SuppressLint("InlinedApi")
|
| - BookmarkItemView(Context context, BookmarksPageManager manager, BookmarkId id, String title,
|
| - String url, boolean isEditable, boolean isManaged, DrawingData drawingData) {
|
| - super(context);
|
| - mManager = manager;
|
| - mDrawingData = drawingData;
|
| -
|
| - setTextColor(mDrawingData.mTextColor);
|
| - setTextSize(TypedValue.COMPLEX_UNIT_PX, mDrawingData.mTextSize);
|
| - setMinimumHeight(mDrawingData.mMinHeight);
|
| - setGravity(Gravity.CENTER_VERTICAL);
|
| - setSingleLine();
|
| - setEllipsize(TextUtils.TruncateAt.END);
|
| - ApiCompatibilityUtils.setTextAlignment(this, View.TEXT_ALIGNMENT_VIEW_START);
|
| -
|
| - TypedArray a = context.getTheme().obtainStyledAttributes(
|
| - new int[] { R.attr.listChoiceBackgroundIndicator });
|
| - Drawable background = a.getDrawable(0);
|
| - a.recycle();
|
| - setBackground(background);
|
| -
|
| - setOnClickListener(this);
|
| - setOnCreateContextMenuListener(this);
|
| -
|
| - reset(id, title, url, isEditable, isManaged);
|
| - }
|
| -
|
| - /**
|
| - * Resets the view contents so that it can be reused in the listview.
|
| - * @param id The id of the bookmark item.
|
| - * @param title The title of the page.
|
| - * @param url The URL of the page.
|
| - * @param isEditable Whether this bookmark item can be edited.
|
| - * @param isManaged Whether this is a managed bookmark.
|
| - * @return boolean Whether the values were reset needing a favicon refetch.
|
| - */
|
| - public boolean reset(BookmarkId id, String title, String url, boolean isEditable,
|
| - boolean isManaged) {
|
| - // Reset drawable state so ripples don't continue when the view is reused.
|
| - jumpDrawablesToCurrentState();
|
| -
|
| - if (mId != null && mId.equals(id) && TextUtils.equals(title, mTitle)
|
| - && TextUtils.equals(url, mUrl) && isEditable == mIsEditable
|
| - && isManaged == mIsManaged) {
|
| - return false;
|
| - }
|
| - mTitle = title;
|
| - mUrl = url;
|
| - mIsFolder = TextUtils.isEmpty(mUrl);
|
| - mIsEditable = isEditable;
|
| - mIsManaged = isManaged;
|
| - mId = id;
|
| - setText(mTitle);
|
| - setFavicon(null);
|
| - if (mIsFolder) {
|
| - setContentDescription(getResources().getString(
|
| - R.string.accessibility_bookmark_folder, mTitle));
|
| - }
|
| - return true;
|
| - }
|
| -
|
| - /** @return The URL of this bookmark item. */
|
| - public String getUrl() {
|
| - return mUrl;
|
| - }
|
| -
|
| - /** @return The title of this bookmark item. */
|
| - public String getTitle() {
|
| - return mTitle;
|
| - }
|
| -
|
| - /** @return Whether the BookmarkItem is a folder. */
|
| - public boolean isFolder() {
|
| - return mIsFolder;
|
| - }
|
| -
|
| - /** @return The bookmark/folder id. */
|
| - public BookmarkId getBookmarkId() {
|
| - return mId;
|
| - }
|
| -
|
| - /** @return The favicon of this bookmark item. */
|
| - public Bitmap getFavicon() {
|
| - return mFavicon;
|
| - }
|
| -
|
| - /**
|
| - * Updates the favicon and triggers a redraw with the new favicon
|
| - * @param favicon The new favicon to display. May be null.
|
| - */
|
| - void setFavicon(Bitmap favicon) {
|
| - int padding = mDrawingData.mPadding;
|
| - int startPadding = padding;
|
| - int drawablePadding = mDrawingData.mPadding;
|
| - Drawable faviconDrawable = null;
|
| - mFavicon = favicon;
|
| - if (favicon != null || mIsFolder) {
|
| - int iconSize;
|
| - if (mIsFolder) {
|
| - faviconDrawable = TintedDrawable.constructTintedDrawable(getResources(),
|
| - mIsManaged ? R.drawable.eb_managed : R.drawable.eb_folder);
|
| - iconSize = mDrawingData.mFaviconContainerSize;
|
| - } else {
|
| - faviconDrawable = new BitmapDrawable(getResources(), favicon);
|
| - iconSize = mDrawingData.mFaviconSize;
|
| - startPadding += (mDrawingData.mFaviconContainerSize - iconSize) / 2;
|
| - drawablePadding += (mDrawingData.mFaviconContainerSize - iconSize + 1) / 2;
|
| - }
|
| - faviconDrawable.setBounds(0, 0, iconSize, iconSize);
|
| - setCompoundDrawablePadding(drawablePadding);
|
| - } else {
|
| - startPadding = 2 * padding + mDrawingData.mFaviconContainerSize;
|
| - }
|
| - ApiCompatibilityUtils.setPaddingRelative(this, startPadding, 0, padding, 0);
|
| - ApiCompatibilityUtils.setCompoundDrawablesRelative(this, faviconDrawable, null, null, null);
|
| - }
|
| -
|
| - @Override
|
| - public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
|
| - if (mManager.isDestroyed()) return;
|
| - if (!mManager.isContextMenuEnabled()) return;
|
| - if (!mIsFolder && mManager.shouldShowOpenInNewTab()) {
|
| - menu.add(Menu.NONE, ID_OPEN_IN_NEW_TAB, Menu.NONE,
|
| - R.string.contextmenu_open_in_new_tab).setOnMenuItemClickListener(this);
|
| - }
|
| - if (!mIsFolder && mManager.shouldShowOpenInNewIncognitoTab()) {
|
| - menu.add(Menu.NONE, ID_OPEN_IN_INCOGNITO_TAB, Menu.NONE,
|
| - R.string.contextmenu_open_in_incognito_tab).setOnMenuItemClickListener(this);
|
| - }
|
| - if (mIsEditable && !mManager.isIncognito()) {
|
| - menu.add(Menu.NONE, ID_EDIT, Menu.NONE,
|
| - mIsFolder ? R.string.contextmenu_edit_folder : R.string.edit_bookmark)
|
| - .setOnMenuItemClickListener(this);
|
| - menu.add(Menu.NONE, ID_DELETE, Menu.NONE, mIsFolder
|
| - ? R.string.contextmenu_delete_folder : R.string.contextmenu_delete_bookmark)
|
| - .setOnMenuItemClickListener(this);
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - public boolean onMenuItemClick(MenuItem item) {
|
| - if (mManager.isDestroyed()) return true;
|
| - switch (item.getItemId()) {
|
| - case ID_OPEN_IN_NEW_TAB:
|
| - mManager.openInNewTab(this);
|
| - return true;
|
| - case ID_OPEN_IN_INCOGNITO_TAB:
|
| - mManager.openInNewIncognitoTab(this);
|
| - return true;
|
| - case ID_DELETE:
|
| - mManager.delete(this);
|
| - return true;
|
| - case ID_EDIT:
|
| - mManager.edit(this);
|
| - return true;
|
| - default:
|
| - return false;
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - public void onClick(View v) {
|
| - if (mManager.isDestroyed()) return;
|
| - mManager.open(this);
|
| - }
|
| -}
|
|
|