Don't allow entering selection from search mode

Bug: 19549465
Change-Id: Ie33a676f64e30e437ca712a24bab17830d4c7868
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 115ee2a..a272f56 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -934,8 +934,10 @@
     private final class CheckBoxListListener implements OnCheckBoxListActionListener {
         @Override
         public void onStartDisplayingCheckBoxes() {
-            mActionBarAdapter.setSelectionMode(true);
-            invalidateOptionsMenu();
+            if (!mActionBarAdapter.isSearchMode()) {
+                mActionBarAdapter.setSelectionMode(true);
+                invalidateOptionsMenu();
+            }
         }
 
         @Override
diff --git a/src/com/android/contacts/list/MultiSelectContactsListFragment.java b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
index 9716ae0..75a6863 100644
--- a/src/com/android/contacts/list/MultiSelectContactsListFragment.java
+++ b/src/com/android/contacts/list/MultiSelectContactsListFragment.java
@@ -103,7 +103,6 @@
     @Override
     protected boolean onItemLongClick(int position, long id) {
         final MultiSelectEntryContactListAdapter adapter = getAdapter();
-        adapter.setDisplayCheckBoxes(true);
         if (mCheckBoxListListener != null) {
             mCheckBoxListListener.onStartDisplayingCheckBoxes();
         }
diff --git a/src/com/android/contacts/list/MultiSelectEntryContactListAdapter.java b/src/com/android/contacts/list/MultiSelectEntryContactListAdapter.java
index 39fc4e8..4748dc4 100644
--- a/src/com/android/contacts/list/MultiSelectEntryContactListAdapter.java
+++ b/src/com/android/contacts/list/MultiSelectEntryContactListAdapter.java
@@ -72,6 +72,9 @@
      * Not guaranteed to work with all configurations of this adapter.
      */
     public void setDisplayCheckBoxes(boolean showCheckBoxes) {
+        if (!mDisplayCheckBoxes && showCheckBoxes) {
+            setSelectedContactIds(new TreeSet<Long>());
+        }
         mDisplayCheckBoxes = showCheckBoxes;
         notifyDataSetChanged();
         if (mSelectedContactsListener != null) {