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

Unified Diff: chrome/android/java_staging/src/org/chromium/chrome/browser/ntp/BookmarkItemView.java

Issue 1206673003: Merge java_staging/src into java/src. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 6 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 side-by-side diff with in-line comments
Download patch
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);
- }
-}

Powered by Google App Engine
This is Rietveld 408576698