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);