| Index: chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkItem.java
|
| diff --git a/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkItem.java b/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkItem.java
|
| deleted file mode 100644
|
| index 0bdf3e86e61d3f3d3413866d587299f2cb936336..0000000000000000000000000000000000000000
|
| --- a/chrome/android/java_staging/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkItem.java
|
| +++ /dev/null
|
| @@ -1,297 +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.enhancedbookmarks;
|
| -
|
| -import android.content.Context;
|
| -import android.graphics.Bitmap;
|
| -import android.graphics.PorterDuff;
|
| -import android.graphics.drawable.BitmapDrawable;
|
| -import android.support.v4.graphics.drawable.RoundedBitmapDrawable;
|
| -import android.support.v4.graphics.drawable.RoundedBitmapDrawableFactory;
|
| -import android.util.AttributeSet;
|
| -import android.view.View;
|
| -import android.view.ViewGroup;
|
| -import android.widget.AdapterView;
|
| -import android.widget.AdapterView.OnItemClickListener;
|
| -import android.widget.ArrayAdapter;
|
| -import android.widget.FrameLayout;
|
| -import android.widget.ImageView;
|
| -import android.widget.ListPopupWindow;
|
| -import android.widget.TextView;
|
| -
|
| -import org.chromium.chrome.R;
|
| -import org.chromium.chrome.browser.BookmarksBridge.BookmarkItem;
|
| -import org.chromium.chrome.browser.enhanced_bookmarks.LaunchLocation;
|
| -import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkItemsAdapter.BookmarkGrid;
|
| -import org.chromium.chrome.browser.enhancedbookmarks.EnhancedBookmarkManager.UIState;
|
| -import org.chromium.chrome.browser.favicon.LargeIconBridge;
|
| -import org.chromium.chrome.browser.favicon.LargeIconBridge.LargeIconCallback;
|
| -import org.chromium.chrome.browser.profiles.Profile;
|
| -import org.chromium.chrome.browser.widget.RoundedIconGenerator;
|
| -import org.chromium.chrome.browser.widget.TintedImageButton;
|
| -import org.chromium.components.bookmarks.BookmarkId;
|
| -import org.chromium.components.bookmarks.BookmarkType;
|
| -
|
| -import java.util.List;
|
| -
|
| -/**
|
| - * A view that shows a bookmark's title, screenshot, URL, etc, shown in the enhanced bookmarks UI.
|
| - */
|
| -public class EnhancedBookmarkItem extends FrameLayout implements EnhancedBookmarkUIObserver,
|
| - BookmarkGrid, LargeIconCallback {
|
| -
|
| - private ImageView mIconImageView;
|
| - private TintedImageButton mMoreIcon;
|
| - private TextView mTitleView;
|
| - private EnhancedBookmarkItemHighlightView mHighlightView;
|
| - private String mUrl;
|
| - private RoundedIconGenerator mIconGenerator;
|
| - private LargeIconBridge mLargeIconBridge;
|
| - private int mMinIconSize;
|
| - private int mDisplayedIconSize;
|
| - private int mCornerRadius;
|
| -
|
| - private BookmarkId mBookmarkId;
|
| - private EnhancedBookmarkDelegate mDelegate;
|
| - private ListPopupWindow mPopupMenu;
|
| - private boolean mIsAttachedToWindow = false;
|
| -
|
| - /**
|
| - * Constructor for inflating from XML.
|
| - */
|
| - public EnhancedBookmarkItem(Context context, AttributeSet attrs) {
|
| - super(context, attrs);
|
| - mCornerRadius = getResources().getDimensionPixelSize(
|
| - R.dimen.enhanced_bookmark_item_corner_radius);
|
| - mMinIconSize = (int) getResources().getDimension(
|
| - R.dimen.enhanced_bookmark_item_min_icon_size);
|
| - mDisplayedIconSize = getResources().getDimensionPixelSize(
|
| - R.dimen.enhanced_bookmark_item_icon_size);
|
| - int textSize = getResources().getDimensionPixelSize(
|
| - R.dimen.enhnaced_bookmark_item_icon_text_size);
|
| - int iconColor = getResources().getColor(R.color.enhanced_bookmark_icon_background_color);
|
| - mIconGenerator = new RoundedIconGenerator(mDisplayedIconSize , mDisplayedIconSize,
|
| - mCornerRadius, iconColor, textSize);
|
| - mLargeIconBridge = new LargeIconBridge();
|
| - }
|
| -
|
| - @Override
|
| - protected void onFinishInflate() {
|
| - super.onFinishInflate();
|
| - mIconImageView = (ImageView) findViewById(R.id.bookmark_image);
|
| - mMoreIcon = (TintedImageButton) findViewById(R.id.more);
|
| - mMoreIcon.setOnClickListener(this);
|
| - mMoreIcon.setColorFilterMode(PorterDuff.Mode.SRC.MULTIPLY);
|
| - mTitleView = (TextView) findViewById(R.id.title);
|
| - mHighlightView = (EnhancedBookmarkItemHighlightView) findViewById(R.id.highlight);
|
| - }
|
| -
|
| - @Override
|
| - public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
| - // Ensure all items are of the same width.
|
| - int updatedWidthMeasureSpec = MeasureSpec.makeMeasureSpec(
|
| - MeasureSpec.getSize(widthMeasureSpec),
|
| - MeasureSpec.EXACTLY);
|
| - super.onMeasure(updatedWidthMeasureSpec, heightMeasureSpec);
|
| - }
|
| -
|
| - @Override
|
| - public void setBookmarkId(BookmarkId bookmarkId) {
|
| - mBookmarkId = bookmarkId;
|
| - updateBookmarkInfo();
|
| - }
|
| -
|
| - @Override
|
| - public BookmarkId getBookmarkId() {
|
| - return mBookmarkId;
|
| - }
|
| -
|
| - /**
|
| - * Show drop-down menu after user click on more-info icon
|
| - * @param view The anchor view for the menu
|
| - */
|
| - private void showMenu(View view) {
|
| - if (mPopupMenu == null) {
|
| - mPopupMenu = new ListPopupWindow(getContext(), null, 0,
|
| - R.style.EnhancedBookmarkMenuStyle);
|
| - mPopupMenu.setAdapter(new ArrayAdapter<String>(
|
| - getContext(), R.layout.eb_popup_item, new String[] {
|
| - getContext().getString(R.string.enhanced_bookmark_item_select),
|
| - getContext().getString(R.string.enhanced_bookmark_item_edit),
|
| - getContext().getString(R.string.enhanced_bookmark_item_move),
|
| - getContext().getString(R.string.enhanced_bookmark_item_delete)}) {
|
| - private static final int MOVE_POSITION = 1;
|
| -
|
| - @Override
|
| - public boolean areAllItemsEnabled() {
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public boolean isEnabled(int position) {
|
| - // Partner bookmarks can't move, so disable that.
|
| - return mBookmarkId.getType() != BookmarkType.PARTNER
|
| - || position != MOVE_POSITION;
|
| - }
|
| -
|
| - @Override
|
| - public View getView(int position, View convertView, ViewGroup parent) {
|
| - View view = super.getView(position, convertView, parent);
|
| - view.setEnabled(isEnabled(position));
|
| - return view;
|
| - }
|
| - });
|
| - mPopupMenu.setAnchorView(view);
|
| - mPopupMenu.setWidth(getResources().getDimensionPixelSize(
|
| - R.dimen.enhanced_bookmark_item_popup_width));
|
| - mPopupMenu.setVerticalOffset(-view.getHeight());
|
| - mPopupMenu.setModal(true);
|
| - mPopupMenu.setOnItemClickListener(new OnItemClickListener() {
|
| - @Override
|
| - public void onItemClick(AdapterView<?> parent, View view, int position,
|
| - long id) {
|
| - if (position == 0) {
|
| - setChecked(mDelegate.toggleSelectionForBookmark(mBookmarkId));
|
| - } else if (position == 1) {
|
| - EnhancedBookmarkUtils.startEditActivity(getContext(), mBookmarkId);
|
| - } else if (position == 2) {
|
| - EnhancedBookmarkFolderSelectActivity.startFolderSelectActivity(getContext(),
|
| - mBookmarkId);
|
| - } else if (position == 3) {
|
| - mDelegate.getModel().deleteBookmarks(mBookmarkId);
|
| - }
|
| - mPopupMenu.dismiss();
|
| - }
|
| - });
|
| - }
|
| - mPopupMenu.show();
|
| - mPopupMenu.getListView().setDivider(null);
|
| - }
|
| -
|
| - private void initialize() {
|
| - mDelegate.addUIObserver(this);
|
| - updateSelectionState();
|
| - }
|
| -
|
| - private void cleanup() {
|
| - if (mPopupMenu != null) mPopupMenu.dismiss();
|
| - if (mDelegate != null) mDelegate.removeUIObserver(this);
|
| - }
|
| -
|
| - private void updateSelectionState() {
|
| - mMoreIcon.setClickable(!mDelegate.isSelectionEnabled());
|
| - }
|
| -
|
| - /**
|
| - * Update the UI to reflect the current bookmark information.
|
| - */
|
| - void updateBookmarkInfo() {
|
| - if (mBookmarkId == null) return;
|
| -
|
| - BookmarkItem bookmarkItem = mDelegate.getModel().getBookmarkById(mBookmarkId);
|
| - mUrl = bookmarkItem.getUrl();
|
| - mLargeIconBridge.getLargeIconForUrl(Profile.getLastUsedProfile(), mUrl, mMinIconSize, this);
|
| - mTitleView.setText(bookmarkItem.getTitle());
|
| - mMoreIcon.setVisibility(bookmarkItem.isEditable() ? VISIBLE : GONE);
|
| - }
|
| -
|
| - @Override
|
| - public void onLargeIconAvailable(Bitmap icon, int fallbackColor) {
|
| - if (icon == null) {
|
| - mIconGenerator.setBackgroundColor(fallbackColor);
|
| - icon = mIconGenerator.generateIconForUrl(mUrl);
|
| - mIconImageView.setImageDrawable(new BitmapDrawable(getResources(), icon));
|
| - } else {
|
| - RoundedBitmapDrawable roundedIcon = RoundedBitmapDrawableFactory.create(
|
| - getResources(),
|
| - Bitmap.createScaledBitmap(icon, mDisplayedIconSize, mDisplayedIconSize, true));
|
| - roundedIcon.setCornerRadius(mCornerRadius);
|
| - mIconImageView.setImageDrawable(roundedIcon);
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - public void onClick(View view) {
|
| - if (view == mMoreIcon) {
|
| - showMenu(view);
|
| - } else {
|
| - int launchLocation = -1;
|
| - switch (mDelegate.getCurrentState()) {
|
| - case UIState.STATE_ALL_BOOKMARKS:
|
| - launchLocation = LaunchLocation.ALL_ITEMS;
|
| - break;
|
| - case UIState.STATE_FOLDER:
|
| - launchLocation = LaunchLocation.FOLDER;
|
| - break;
|
| - case UIState.STATE_LOADING:
|
| - assert false :
|
| - "The main content shouldn't be inflated if it's still loading";
|
| - break;
|
| - default:
|
| - assert false : "State not valid";
|
| - break;
|
| - }
|
| - mDelegate.openBookmark(mBookmarkId, launchLocation);
|
| - }
|
| - }
|
| -
|
| - @Override
|
| - protected void onAttachedToWindow() {
|
| - super.onAttachedToWindow();
|
| - mIsAttachedToWindow = true;
|
| - if (mDelegate != null) initialize();
|
| - }
|
| -
|
| - @Override
|
| - protected void onDetachedFromWindow() {
|
| - super.onDetachedFromWindow();
|
| - mIsAttachedToWindow = false;
|
| - cleanup();
|
| - }
|
| -
|
| - // Checkable implementations.
|
| -
|
| - @Override
|
| - public boolean isChecked() {
|
| - return mHighlightView.isChecked();
|
| - }
|
| -
|
| - @Override
|
| - public void toggle() {
|
| - setChecked(!isChecked());
|
| - }
|
| -
|
| - @Override
|
| - public void setChecked(boolean checked) {
|
| - mHighlightView.setChecked(checked);
|
| - }
|
| -
|
| - // EnhancedBookmarkUIObserver implementations.
|
| -
|
| - @Override
|
| - public void onEnhancedBookmarkDelegateInitialized(EnhancedBookmarkDelegate delegate) {
|
| - assert mDelegate == null;
|
| - mDelegate = delegate;
|
| - if (mIsAttachedToWindow) initialize();
|
| - }
|
| -
|
| - @Override
|
| - public void onDestroy() {
|
| - cleanup();
|
| - }
|
| -
|
| - @Override
|
| - public void onAllBookmarksStateSet() {
|
| - }
|
| -
|
| - @Override
|
| - public void onFolderStateSet(BookmarkId folder) {
|
| - }
|
| -
|
| - @Override
|
| - public void onSelectionStateChange(List<BookmarkId> selectedBookmarks) {
|
| - updateSelectionState();
|
| - }
|
| -}
|
|
|