Making the CAB text match the type of item selected
in customization mode.
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 4d88a33..04aea87 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -147,8 +147,14 @@
     <!-- Describes the button for getting details/info about currently selected application.
          Text is not displayed, but provided for accessibility. [CHAR_LIMIT=none] -->
     <string name="cab_menu_app_info">Application details</string>
-    <!-- Appears in the CAB when an app is selected in All Apps. [CHAR_LIMIT=50] -->
-    <string name="cab_selection_text">1 application selected</string>
+    <!-- Appears in the CAB when an app is selected in All Apps or Customize mode. [CHAR_LIMIT=50] -->
+    <string name="cab_app_selection_text">1 application selected</string>
+    <!-- Appears in the CAB when a widget is selected in Customize mode. [CHAR_LIMIT=50] -->
+    <string name="cab_widget_selection_text">1 widget selected</string>
+    <!-- Appears in the CAB when a folder is selected in Customize mode. [CHAR_LIMIT=50] -->
+    <string name="cab_folder_selection_text">1 folder selected</string>
+    <!-- Appears in the CAB when a shortcut is selected in Customize mode. [CHAR_LIMIT=50] -->
+    <string name="cab_shortcut_selection_text">1 shortcut selected</string>
 
     <!-- Permissions: -->
     <skip />
diff --git a/src/com/android/launcher2/AllAppsPagedView.java b/src/com/android/launcher2/AllAppsPagedView.java
index 3c39474..3fb1679 100644
--- a/src/com/android/launcher2/AllAppsPagedView.java
+++ b/src/com/android/launcher2/AllAppsPagedView.java
@@ -417,7 +417,7 @@
 
     @Override
     public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
-        mode.setTitle(R.string.cab_selection_text);
+        mode.setTitle(R.string.cab_app_selection_text);
 
         // Until the workspace has a selection mode and the CAB supports drag-and-drop, we
         // take a hybrid approach: grab the views from the workspace and stuff them into the CAB.
diff --git a/src/com/android/launcher2/CustomizePagedView.java b/src/com/android/launcher2/CustomizePagedView.java
index f6cff05..f55b46e 100644
--- a/src/com/android/launcher2/CustomizePagedView.java
+++ b/src/com/android/launcher2/CustomizePagedView.java
@@ -124,6 +124,8 @@
     private static final int sMinWidgetCellHSpan = 2;
     private static final int sMaxWidgetCellHSpan = 4;
 
+    private int mChoiceModeTitleText;
+
     // The scale factor for widget previews inside the widget drawer
     private static final float sScaleFactor = 0.75f;
 
@@ -336,15 +338,29 @@
 
         // On certain pages, we allow single tap to mark items as selected so that they can be
         // dropped onto the mini workspaces
+        boolean enterChoiceMode = false;
         switch (mCustomizationType) {
         case WidgetCustomization:
+            mChoiceModeTitleText = R.string.cab_widget_selection_text;
+            enterChoiceMode = true;
+            break;
         case ApplicationCustomization:
+            mChoiceModeTitleText = R.string.cab_app_selection_text;
+            enterChoiceMode = true;
+            break;
         case FolderCustomization:
+            mChoiceModeTitleText = R.string.cab_folder_selection_text;
+            enterChoiceMode = true;
+            break;
         case ShortcutCustomization:
-            if (isChoiceMode(CHOICE_MODE_NONE)) {
-                startChoiceMode(CHOICE_MODE_SINGLE, this);
-            }
+            mChoiceModeTitleText = R.string.cab_shortcut_selection_text;
+            enterChoiceMode = true;
+            break;
+        default:
+            break;
+        }
 
+        if (enterChoiceMode) {
             if (v instanceof Checkable) {
                 final Checkable c = (Checkable) v;
                 final boolean wasChecked = c.isChecked();
@@ -354,11 +370,12 @@
                 // End the current choice mode when we have no items selected
                 if (!c.isChecked()) {
                     endChoiceMode();
+                } else if (isChoiceMode(CHOICE_MODE_NONE)) {
+                    endChoiceMode();
+                    startChoiceMode(CHOICE_MODE_SINGLE, this);
                 }
             }
             return;
-        default:
-            break;
         }
 
         // Otherwise, we just handle the single click here
@@ -798,7 +815,7 @@
 
     @Override
     public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
-        mode.setTitle(R.string.cab_selection_text);
+        mode.setTitle(mChoiceModeTitleText);
         return true;
     }