Merge "Show "Folder settings" based on capabilities"
diff --git a/res/menu/conversation_list_menu.xml b/res/menu/conversation_list_menu.xml
index b1f8fcd..aee09d9 100644
--- a/res/menu/conversation_list_menu.xml
+++ b/res/menu/conversation_list_menu.xml
@@ -44,7 +44,7 @@
android:icon="@drawable/ic_menu_refresh_holo_light"
android:alphabeticShortcut="@string/trigger_refresh_char" />
- <!-- Always available -->
+ <!-- Available for Folders with SUPPORTS_SETTINGS capability -->
<item android:id="@+id/folder_options"
android:title="@string/menu_folder_options"
android:showAsAction="never" />
diff --git a/src/com/android/mail/ui/ActionBarView.java b/src/com/android/mail/ui/ActionBarView.java
index de33db5..f00a99d 100644
--- a/src/com/android/mail/ui/ActionBarView.java
+++ b/src/com/android/mail/ui/ActionBarView.java
@@ -41,6 +41,7 @@
import com.android.mail.ConversationListContext;
import com.android.mail.providers.Account;
import com.android.mail.providers.UIProvider.AccountCapabilities;
+import com.android.mail.providers.UIProvider.FolderCapabilities;
import com.android.mail.providers.UIProvider.LastSyncResult;
import com.android.mail.providers.Folder;
import com.android.mail.utils.LogUtils;
@@ -68,6 +69,10 @@
* The account currently being shown
*/
private Account mAccount;
+ /**
+ * The folder currently being shown
+ */
+ private Folder mFolder;
// TODO(viki): This is a SnippetTextView in the Gmail source code. Resolve.
private TextView mSubjectView;
@@ -75,6 +80,7 @@
private MenuItem mHelpItem;
private MenuItem mSendFeedbackItem;
private MenuItem mRefreshItem;
+ private MenuItem mFolderSettingsItem;
private View mRefreshActionView;
private boolean mRefreshInProgress;
@@ -120,6 +126,7 @@
mHelpItem = menu.findItem(R.id.help_info_menu_item);
mSendFeedbackItem = menu.findItem(R.id.feedback_menu_item);
mRefreshItem = menu.findItem(R.id.refresh);
+ mFolderSettingsItem = menu.findItem(R.id.folder_options);
return true;
}
@@ -200,6 +207,7 @@
setSelectedPosition(mSpinner.getSpacerPosition());
mSpinner.setCurrentFolder(folder);
mSpinner.notifyDataSetChanged();
+ mFolder = folder;
}
/**
@@ -277,6 +285,10 @@
mSendFeedbackItem.setVisible(mAccount != null
&& mAccount.supportsCapability(AccountCapabilities.SEND_FEEDBACK));
}
+ if (mFolderSettingsItem != null) {
+ mFolderSettingsItem.setVisible(mFolder != null
+ && mFolder.supportsCapability(FolderCapabilities.SUPPORTS_SETTINGS));
+ }
switch (mMode) {
case ViewMode.UNKNOWN:
if (mSearch != null) {