Make swipe remove label when not in inbox.

Change-Id: I80b22ccd04d3c1b27ebd8af7b84dadea127ed4c4
diff --git a/src/com/android/mail/ui/ConversationListFragment.java b/src/com/android/mail/ui/ConversationListFragment.java
index c30315c..bff74e6 100644
--- a/src/com/android/mail/ui/ConversationListFragment.java
+++ b/src/com/android/mail/ui/ConversationListFragment.java
@@ -213,6 +213,7 @@
                 null);
         mListAdapter.addFooter(mFooterView);
         mListView.setAdapter(mListAdapter);
+        mListView.setConversationUpdater(mActivity.getConversationUpdater());
         mListView.setSelectionSet(mActivity.getSelectedSet());
         mListAdapter.hideFooter();
         mActivity.setViewModeListener(this);
@@ -282,9 +283,6 @@
         mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
         mListView.setOnItemLongClickListener(this);
         mListView.enableSwipe(mAccount.supportsCapability(UIProvider.AccountCapabilities.UNDO));
-        mListView.setSwipeAction(mAccount
-                .supportsCapability(UIProvider.AccountCapabilities.ARCHIVE) ? R.id.archive
-                : R.id.delete);
         // Note - we manually save/restore the listview state.
         mListView.setSaveEnabled(false);
 
@@ -452,6 +450,7 @@
 
     public void onFolderUpdated(Folder folder) {
         mFolder = folder;
+        setSwipeAction();
         if (mFolder == null) {
             return;
         }
@@ -482,6 +481,15 @@
         }
     }
 
+    private void setSwipeAction() {
+        mListView.setSwipeAction(!mAccount
+                .supportsCapability(UIProvider.AccountCapabilities.ARCHIVE) ?
+                        R.id.delete :
+                            mFolder != null && mFolder.type == UIProvider.FolderType.INBOX ?
+                                    R.id.archive : R.id.change_folder);
+        mListView.setCurrentFolder(mFolder);
+    }
+
     @Override
     public void onSwipeComplete(Collection<Conversation> conversations) {
         Context context = getActivity().getApplicationContext();