Show folder lists.

Single selection for accounts that dont support multiple folders per conv
Multi selection with checkboxes for accounts that do support multiple folders per conv.

Change-Id: I3ff6e9a5be104a10cead271c64e0383c61488539
diff --git a/res/menu/conversation_list_selection_actions_menu.xml b/res/menu/conversation_list_selection_actions_menu.xml
index f0b3091..c1b3d23 100644
--- a/res/menu/conversation_list_selection_actions_menu.xml
+++ b/res/menu/conversation_list_selection_actions_menu.xml
@@ -34,7 +34,7 @@
         android:icon="@drawable/trash"/>
 
     <item
-        android:id="@+id/change_labels"
+        android:id="@+id/change_folder"
         android:showAsAction="ifRoom"
         android:title="@string/menu_change_labels"
         android:icon="@drawable/ic_menu_labels_holo_light" />
diff --git a/src/com/android/mail/browse/SelectedConversationsActionMenu.java b/src/com/android/mail/browse/SelectedConversationsActionMenu.java
index 1db95a8..0924033 100644
--- a/src/com/android/mail/browse/SelectedConversationsActionMenu.java
+++ b/src/com/android/mail/browse/SelectedConversationsActionMenu.java
@@ -18,6 +18,7 @@
 package com.android.mail.browse;
 
 import com.android.mail.R;
+import com.android.mail.providers.Account;
 import com.android.mail.providers.Conversation;
 import com.android.mail.providers.UIProvider.ConversationColumns;
 import com.android.mail.ui.AnimatedAdapter;
@@ -30,11 +31,14 @@
 import java.util.Collection;
 
 import android.app.Activity;
+import android.app.AlertDialog;
 import android.content.Context;
+import android.content.DialogInterface;
 import android.view.ActionMode;
 import android.view.Menu;
 import android.view.MenuInflater;
 import android.view.MenuItem;
+import android.widget.Toast;
 
 /**
  * A component that displays a custom view for an {@code ActionBar}'s {@code
@@ -65,14 +69,17 @@
 
     private ActionCompleteListener mActionCompleteListener;
 
+    private Account mAccount;
+
     public SelectedConversationsActionMenu(Activity activity,
             ConversationSelectionSet selectionSet, AnimatedAdapter adapter,
-            ActionCompleteListener listener) {
+            ActionCompleteListener listener, Account account) {
         mSelectionSet = selectionSet;
         mActivity = activity;
         mContext = mActivity;
         mListAdapter = adapter;
         mActionCompleteListener = listener;
+        mAccount = account;
     }
 
     @Override
@@ -100,6 +107,9 @@
                 // Redraw with changes
                 mListAdapter.notifyDataSetChanged();
                 break;
+            case R.id.change_folder:
+                showChangeFoldersDialog();
+                break;
             default:
                 handled = false;
                 break;
@@ -107,6 +117,30 @@
         return handled;
     }
 
+    private void showChangeFoldersDialog() {
+        if (!mAccount.supportsMultipleParentFolders()) {
+            // Show list with single selection.
+            showChangeFolderDialog();
+        } else {
+            // Show list with checkboxes.
+        }
+    }
+
+    private void showChangeFolderDialog() {
+        final CharSequence[] items = {"Red", "Green", "Blue"};
+
+        AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
+        builder.setTitle("Pick a color");
+        DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {
+            public void onClick(DialogInterface dialog, int which) {
+                Toast.makeText(mActivity, items[which], Toast.LENGTH_SHORT).show();
+            }
+        };
+        builder.setItems(items, listener);;
+        AlertDialog alert = builder.create();
+        alert.show();
+    }
+
     @Override
     public boolean onCreateActionMode(ActionMode mode, Menu menu) {
         mSelectionSet.addObserver(this);