From ddd6f3928756c439e8a7a975a9dc51248f687b7e Mon Sep 17 00:00:00 2001 From: Gilles Debunne Date: Thu, 27 Jan 2011 09:48:01 -0800 Subject: CustomSelectionActionModeCallback can prevent selection mode from starting. Bug 3381317 Change-Id: I9fb52077216ed56c101ed58f8897478343369528 --- core/java/android/widget/TextView.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'core') diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index 213117d..b024dcb 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -8204,6 +8204,9 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * {@link android.R.id#selectAll}, {@link android.R.id#cut}, {@link android.R.id#copy} or * {@link android.R.id#paste} ids as parameters. * + * Returning false from {@link ActionMode.Callback#onCreateActionMode(ActionMode, Menu)} will + * prevent the action mode from being started. + * * Action click events should be handled by the custom implementation of * {@link ActionMode.Callback#onActionItemClicked(ActionMode, MenuItem)}. * @@ -8364,7 +8367,10 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener styledAttributes.recycle(); if (mCustomSelectionActionModeCallback != null) { - mCustomSelectionActionModeCallback.onCreateActionMode(mode, menu); + if (!mCustomSelectionActionModeCallback.onCreateActionMode(mode, menu)) { + // The custom mode can choose to cancel the action mode + return false; + } } if (menu.hasVisibleItems() || mode.getCustomView() != null) { -- cgit v1.1