| Index: chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkRow.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkRow.java b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkRow.java
|
| deleted file mode 100644
|
| index 9ea1328bdf9d58cf2ef27acd924138bdd449e581..0000000000000000000000000000000000000000
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkRow.java
|
| +++ /dev/null
|
| @@ -1,285 +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.util.AttributeSet;
|
| -import android.view.View;
|
| -import android.view.View.OnClickListener;
|
| -import android.view.View.OnLongClickListener;
|
| -import android.view.ViewGroup;
|
| -import android.widget.AdapterView;
|
| -import android.widget.AdapterView.OnItemClickListener;
|
| -import android.widget.ArrayAdapter;
|
| -import android.widget.Checkable;
|
| -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.bookmark.BookmarksBridge.BookmarkItem;
|
| -import org.chromium.chrome.browser.widget.TintedImageButton;
|
| -import org.chromium.components.bookmarks.BookmarkId;
|
| -
|
| -import java.util.List;
|
| -
|
| -/**
|
| - * Common logic for bookmark and folder rows.
|
| - */
|
| -abstract class EnhancedBookmarkRow extends FrameLayout implements EnhancedBookmarkUIObserver,
|
| - Checkable, OnClickListener, OnLongClickListener {
|
| -
|
| - protected ImageView mIconImageView;
|
| - protected TextView mTitleView;
|
| - protected TintedImageButton mMoreIcon;
|
| - private EnhancedBookmarkItemHighlightView mHighlightView;
|
| -
|
| - protected EnhancedBookmarkDelegate mDelegate;
|
| - protected BookmarkId mBookmarkId;
|
| - private ListPopupWindow mPopupMenu;
|
| - private boolean mIsAttachedToWindow = false;
|
| -
|
| - /**
|
| - * Constructor for inflating from XML.
|
| - */
|
| - public EnhancedBookmarkRow(Context context, AttributeSet attrs) {
|
| - super(context, attrs);
|
| - }
|
| -
|
| - /**
|
| - * Updates this row for the given {@link BookmarkId}.
|
| - * @return The {@link BookmarkItem} corresponding the given {@link BookmarkId}.
|
| - */
|
| - BookmarkItem setBookmarkId(BookmarkId bookmarkId) {
|
| - mBookmarkId = bookmarkId;
|
| - BookmarkItem bookmarkItem = mDelegate.getModel().getBookmarkById(bookmarkId);
|
| - clearPopup();
|
| - if (isSelectable()) {
|
| - mMoreIcon.setVisibility(bookmarkItem.isEditable() ? VISIBLE : GONE);
|
| - setChecked(mDelegate.isBookmarkSelected(bookmarkId));
|
| - }
|
| - return bookmarkItem;
|
| - }
|
| -
|
| - /**
|
| - * Same as {@link OnClickListener#onClick(View)} on this.
|
| - * Subclasses should override this instead of setting their own OnClickListener because this
|
| - * class handles onClick events in selection mode, and won't forward events to subclasses in
|
| - * that case.
|
| - */
|
| - protected abstract void onClick();
|
| -
|
| - private void initialize() {
|
| - mDelegate.addUIObserver(this);
|
| - updateSelectionState();
|
| - }
|
| -
|
| - private void clearPopup() {
|
| - if (mPopupMenu != null) {
|
| - if (mPopupMenu.isShowing()) mPopupMenu.dismiss();
|
| - mPopupMenu = null;
|
| - }
|
| - }
|
| -
|
| - private void cleanup() {
|
| - clearPopup();
|
| - if (mDelegate != null) mDelegate.removeUIObserver(this);
|
| - }
|
| -
|
| - private void updateSelectionState() {
|
| - if (isSelectable()) mMoreIcon.setClickable(!mDelegate.isSelectionEnabled());
|
| - }
|
| -
|
| - /**
|
| - * @return Whether this row is selectable.
|
| - */
|
| - protected boolean isSelectable() {
|
| - return true;
|
| - }
|
| -
|
| - /**
|
| - * 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 = 2;
|
| -
|
| - @Override
|
| - public boolean areAllItemsEnabled() {
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public boolean isEnabled(int position) {
|
| - if (position == MOVE_POSITION) {
|
| - BookmarkItem bookmark = mDelegate.getModel().getBookmarkById(mBookmarkId);
|
| - if (bookmark == null) return false;
|
| - return bookmark.isMovable();
|
| - }
|
| - return true;
|
| - }
|
| -
|
| - @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) {
|
| - BookmarkItem item = mDelegate.getModel().getBookmarkById(mBookmarkId);
|
| - if (item.isFolder()) {
|
| - EnhancedBookmarkAddEditFolderActivity.startEditFolderActivity(
|
| - getContext(), item.getId());
|
| - } else {
|
| - EnhancedBookmarkUtils.startEditActivity(
|
| - getContext(), item.getId(), null);
|
| - }
|
| - } else if (position == 2) {
|
| - EnhancedBookmarkFolderSelectActivity.startFolderSelectActivity(getContext(),
|
| - mBookmarkId);
|
| - } else if (position == 3) {
|
| - mDelegate.getModel().deleteBookmarks(mBookmarkId);
|
| - }
|
| - mPopupMenu.dismiss();
|
| - }
|
| - });
|
| - }
|
| - mPopupMenu.show();
|
| - mPopupMenu.getListView().setDivider(null);
|
| - }
|
| -
|
| - // FrameLayout implementations.
|
| -
|
| - @Override
|
| - protected void onFinishInflate() {
|
| - super.onFinishInflate();
|
| -
|
| - mIconImageView = (ImageView) findViewById(R.id.bookmark_image);
|
| - mTitleView = (TextView) findViewById(R.id.title);
|
| -
|
| - if (isSelectable()) {
|
| - mHighlightView = (EnhancedBookmarkItemHighlightView) findViewById(R.id.highlight);
|
| -
|
| - mMoreIcon = (TintedImageButton) findViewById(R.id.more);
|
| - mMoreIcon.setVisibility(VISIBLE);
|
| - mMoreIcon.setOnClickListener(new OnClickListener() {
|
| - @Override
|
| - public void onClick(View view) {
|
| - showMenu(view);
|
| - }
|
| - });
|
| - }
|
| -
|
| - setOnClickListener(this);
|
| - setOnLongClickListener(this);
|
| - }
|
| -
|
| - @Override
|
| - protected void onAttachedToWindow() {
|
| - super.onAttachedToWindow();
|
| - mIsAttachedToWindow = true;
|
| - if (mDelegate != null) initialize();
|
| - }
|
| -
|
| - @Override
|
| - protected void onDetachedFromWindow() {
|
| - super.onDetachedFromWindow();
|
| - mIsAttachedToWindow = false;
|
| - cleanup();
|
| - }
|
| -
|
| - // OnClickListener implementation.
|
| -
|
| - @Override
|
| - public final void onClick(View view) {
|
| - assert view == this;
|
| -
|
| - if (mDelegate.isSelectionEnabled() && isSelectable()) {
|
| - onLongClick(view);
|
| - } else {
|
| - onClick();
|
| - }
|
| - }
|
| -
|
| - // OnLongClickListener implementation.
|
| -
|
| - @Override
|
| - public boolean onLongClick(View view) {
|
| - assert view == this;
|
| - if (!isSelectable()) return false;
|
| - setChecked(mDelegate.toggleSelectionForBookmark(mBookmarkId));
|
| - return true;
|
| - }
|
| -
|
| - // 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 onFilterStateSet(EnhancedBookmarkFilter filter) {
|
| - }
|
| -
|
| - @Override
|
| - public void onSelectionStateChange(List<BookmarkId> selectedBookmarks) {
|
| - updateSelectionState();
|
| - }
|
| -}
|
|
|