Index: chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableItemView.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableItemView.java b/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableItemView.java |
index 28523ccec2792ee243997cc379529bedd2249f5c..c716ed41350a1a2fe29b630fb4cdceb03dc3c7da 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableItemView.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectableItemView.java |
@@ -107,7 +107,7 @@ public abstract class SelectableItemView<E> extends FrameLayout implements Check |
public final void onClick(View view) { |
assert view == this; |
- if (mSelectionDelegate.isSelectionEnabled()) { |
+ if (isSelectionModeActive()) { |
onLongClick(view); |
} else { |
onClick(); |
@@ -118,11 +118,27 @@ public abstract class SelectableItemView<E> extends FrameLayout implements Check |
@Override |
public boolean onLongClick(View view) { |
assert view == this; |
- boolean checked = mSelectionDelegate.toggleSelectionForItem(mItem); |
+ boolean checked = toggleSelectionForItem(mItem); |
setChecked(checked); |
return true; |
} |
+ /** |
+ * @return Whether we are currently in selection mode. |
+ */ |
+ protected boolean isSelectionModeActive() { |
+ return mSelectionDelegate.isSelectionEnabled(); |
+ } |
+ |
+ /** |
+ * Toggles the selection state for a given item. |
+ * @param item The given item. |
+ * @return Whether the item was in selected state after the toggle. |
+ */ |
+ protected boolean toggleSelectionForItem(E item) { |
+ return mSelectionDelegate.toggleSelectionForItem(item); |
+ } |
+ |
// Checkable implementations. |
@Override |
public boolean isChecked() { |