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