From 3047a9f03d9febaf2aba1e5ea0827e0b740d1ab2 Mon Sep 17 00:00:00 2001 From: Andrew Sapperstein Date: Tue, 22 Jul 2014 18:17:53 -0700 Subject: stable action items b/16167419 Change-Id: I72c7c44f5728563da1fcbd39daa31ccd41845d8a --- res/drawable-hdpi/ic_menu_refresh_holo_light.png | Bin 566 -> 0 bytes res/drawable-mdpi/ic_menu_refresh_holo_light.png | Bin 404 -> 0 bytes res/drawable-xhdpi/ic_menu_refresh_holo_light.png | Bin 927 -> 0 bytes res/drawable-xxhdpi/ic_menu_refresh_holo_light.png | Bin 2498 -> 0 bytes res/menu-sw600dp-land/conversation_actions.xml | 45 ++---- .../conversation_list_search_results_actions.xml | 39 ++--- res/menu-sw600dp/conversation_list_menu.xml | 64 -------- res/menu/conversation_actions.xml | 25 +-- res/menu/conversation_list_menu.xml | 33 +--- .../conversation_list_search_results_actions.xml | 25 +-- .../conversation_list_selection_actions_menu.xml | 17 +-- res/menu/wait_mode_actions.xml | 8 +- res/values-sw720dp/constants.xml | 3 - res/values-w360dp/constants.xml | 8 - res/values-w592dp/constants.xml | 5 - res/values/constants.xml | 9 -- res/values/ids.xml | 1 - res/values/strings.xml | 2 - src/com/android/mail/analytics/AnalyticsUtils.java | 4 - .../mail/browse/ConversationViewAdapter.java | 2 +- .../browse/SelectedConversationsActionMenu.java | 16 +- .../mail/preferences/FolderPreferences.java | 5 +- src/com/android/mail/preferences/MailPrefs.java | 12 +- .../mail/ui/AbstractActivityController.java | 6 +- src/com/android/mail/ui/FolderListFragment.java | 9 +- src/com/android/mail/ui/MailActionBarView.java | 167 ++------------------- .../android/mail/ui/SearchMailActionBarView.java | 2 - src/com/android/mail/ui/TwoPaneController.java | 2 - src/com/android/mail/utils/Utils.java | 38 ----- 29 files changed, 87 insertions(+), 460 deletions(-) delete mode 100644 res/drawable-hdpi/ic_menu_refresh_holo_light.png delete mode 100644 res/drawable-mdpi/ic_menu_refresh_holo_light.png delete mode 100644 res/drawable-xhdpi/ic_menu_refresh_holo_light.png delete mode 100644 res/drawable-xxhdpi/ic_menu_refresh_holo_light.png delete mode 100644 res/menu-sw600dp/conversation_list_menu.xml delete mode 100644 res/values-w360dp/constants.xml delete mode 100644 res/values-w592dp/constants.xml diff --git a/res/drawable-hdpi/ic_menu_refresh_holo_light.png b/res/drawable-hdpi/ic_menu_refresh_holo_light.png deleted file mode 100644 index 8591b6973..000000000 Binary files a/res/drawable-hdpi/ic_menu_refresh_holo_light.png and /dev/null differ diff --git a/res/drawable-mdpi/ic_menu_refresh_holo_light.png b/res/drawable-mdpi/ic_menu_refresh_holo_light.png deleted file mode 100644 index 362179827..000000000 Binary files a/res/drawable-mdpi/ic_menu_refresh_holo_light.png and /dev/null differ diff --git a/res/drawable-xhdpi/ic_menu_refresh_holo_light.png b/res/drawable-xhdpi/ic_menu_refresh_holo_light.png deleted file mode 100644 index 9b4a49d0a..000000000 Binary files a/res/drawable-xhdpi/ic_menu_refresh_holo_light.png and /dev/null differ diff --git a/res/drawable-xxhdpi/ic_menu_refresh_holo_light.png b/res/drawable-xxhdpi/ic_menu_refresh_holo_light.png deleted file mode 100644 index ea48c862f..000000000 Binary files a/res/drawable-xxhdpi/ic_menu_refresh_holo_light.png and /dev/null differ diff --git a/res/menu-sw600dp-land/conversation_actions.xml b/res/menu-sw600dp-land/conversation_actions.xml index 3f3326e9f..31e6e89f2 100644 --- a/res/menu-sw600dp-land/conversation_actions.xml +++ b/res/menu-sw600dp-land/conversation_actions.xml @@ -18,34 +18,22 @@ - - - - @@ -53,20 +41,20 @@ + + + - - - - - - - diff --git a/res/menu-sw600dp-land/conversation_list_search_results_actions.xml b/res/menu-sw600dp-land/conversation_list_search_results_actions.xml index 07b518674..64a9d0662 100644 --- a/res/menu-sw600dp-land/conversation_list_search_results_actions.xml +++ b/res/menu-sw600dp-land/conversation_list_search_results_actions.xml @@ -17,13 +17,6 @@ --> - - - - + + - - + + + - - - - diff --git a/res/menu-sw600dp/conversation_list_menu.xml b/res/menu-sw600dp/conversation_list_menu.xml deleted file mode 100644 index c09f3ae79..000000000 --- a/res/menu-sw600dp/conversation_list_menu.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/res/menu/conversation_actions.xml b/res/menu/conversation_actions.xml index 94d5479b6..4f4871edd 100644 --- a/res/menu/conversation_actions.xml +++ b/res/menu/conversation_actions.xml @@ -18,21 +18,18 @@ - + + @@ -41,13 +38,13 @@ @@ -55,7 +52,7 @@ @@ -116,12 +113,4 @@ android:title="@string/report_phishing" android:visible="false" /> - - - - - diff --git a/res/menu/conversation_list_menu.xml b/res/menu/conversation_list_menu.xml index e4c570bdf..5ffb84ff2 100644 --- a/res/menu/conversation_list_menu.xml +++ b/res/menu/conversation_list_menu.xml @@ -17,12 +17,6 @@ --> - - @@ -43,27 +37,16 @@ android:showAsAction="never" android:icon="@drawable/ic_delete_wht_24dp" /> - + + + - - - - - - - - diff --git a/res/menu/conversation_list_search_results_actions.xml b/res/menu/conversation_list_search_results_actions.xml index bbc64c487..2935d6387 100644 --- a/res/menu/conversation_list_search_results_actions.xml +++ b/res/menu/conversation_list_search_results_actions.xml @@ -18,6 +18,12 @@ + + - - - - - - diff --git a/res/menu/conversation_list_selection_actions_menu.xml b/res/menu/conversation_list_selection_actions_menu.xml index f6766a459..5e0bd55d1 100644 --- a/res/menu/conversation_list_selection_actions_menu.xml +++ b/res/menu/conversation_list_selection_actions_menu.xml @@ -19,22 +19,17 @@ - @@ -43,13 +38,13 @@ @@ -57,13 +52,13 @@ + - - diff --git a/res/values-sw720dp/constants.xml b/res/values-sw720dp/constants.xml index 9ce62bd6b..1f0297b3f 100644 --- a/res/values-sw720dp/constants.xml +++ b/res/values-sw720dp/constants.xml @@ -18,9 +18,6 @@ true - - false - - - - 3 - - - 0 - diff --git a/res/values-w592dp/constants.xml b/res/values-w592dp/constants.xml deleted file mode 100644 index e2b5ceca0..000000000 --- a/res/values-w592dp/constants.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - 4 - diff --git a/res/values/constants.xml b/res/values/constants.xml index 0eb75de1f..ded9b00c5 100644 --- a/res/values/constants.xml +++ b/res/values/constants.xml @@ -99,12 +99,6 @@ 25 - - 3 - - - 1 - 250 @@ -119,9 +113,6 @@ 1024000 - - true - true diff --git a/res/values/ids.xml b/res/values/ids.xml index 0039aab60..7b7b23598 100644 --- a/res/values/ids.xml +++ b/res/values/ids.xml @@ -19,7 +19,6 @@ - diff --git a/res/values/strings.xml b/res/values/strings.xml index 8d822747f..c3671dac7 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -164,8 +164,6 @@ Revert auto-sizing - - Folder settings Settings diff --git a/src/com/android/mail/analytics/AnalyticsUtils.java b/src/com/android/mail/analytics/AnalyticsUtils.java index 7894feba7..6734d6ea6 100644 --- a/src/com/android/mail/analytics/AnalyticsUtils.java +++ b/src/com/android/mail/analytics/AnalyticsUtils.java @@ -65,14 +65,10 @@ public class AnalyticsUtils { s = "refresh"; } else if (id == R.id.settings) { s = "settings"; - } else if (id == R.id.folder_options) { - s = "folder_options"; } else if (id == R.id.help_info_menu_item) { s = "help"; } else if (id == R.id.feedback_menu_item) { s = "feedback"; - } else if (id == R.id.manage_folders_item) { - s = "manage_folders"; } else if (id == R.id.move_to) { s = "move_to"; } else if (id == R.id.change_folders) { diff --git a/src/com/android/mail/browse/ConversationViewAdapter.java b/src/com/android/mail/browse/ConversationViewAdapter.java index bc953de1d..f562dd554 100644 --- a/src/com/android/mail/browse/ConversationViewAdapter.java +++ b/src/com/android/mail/browse/ConversationViewAdapter.java @@ -86,7 +86,7 @@ public class ConversationViewAdapter extends BaseAdapter { private final List mItems; private final VeiledAddressMatcher mMatcher; - @Retention(RetentionPolicy.CLASS) + @Retention(RetentionPolicy.SOURCE) @IntDef({ VIEW_TYPE_CONVERSATION_HEADER, VIEW_TYPE_CONVERSATION_FOOTER, diff --git a/src/com/android/mail/browse/SelectedConversationsActionMenu.java b/src/com/android/mail/browse/SelectedConversationsActionMenu.java index 9c3f6e1fa..5fbd34089 100644 --- a/src/com/android/mail/browse/SelectedConversationsActionMenu.java +++ b/src/com/android/mail/browse/SelectedConversationsActionMenu.java @@ -47,7 +47,6 @@ import com.android.mail.ui.ConversationUpdater; import com.android.mail.ui.DestructiveAction; import com.android.mail.ui.FolderOperation; import com.android.mail.ui.FolderSelectionDialog; -import com.android.mail.ui.MailActionBarView; import com.android.mail.utils.LogTag; import com.android.mail.utils.LogUtils; import com.android.mail.utils.Utils; @@ -414,14 +413,10 @@ public class SelectedConversationsActionMenu implements ActionMode.Callback, mFolder.name)); } final MenuItem archive = menu.findItem(R.id.archive); - final boolean accountSupportsArchive = - mAccount.supportsCapability(UIProvider.AccountCapabilities.ARCHIVE); - boolean showArchive = accountSupportsArchive - && mFolder.supportsCapability(FolderCapabilities.ARCHIVE); - if (archive == null) { - showArchive = false; - } else { - archive.setVisible(showArchive); + if (archive != null) { + archive.setVisible( + mAccount.supportsCapability(UIProvider.AccountCapabilities.ARCHIVE) && + mFolder.supportsCapability(FolderCapabilities.ARCHIVE)); } final MenuItem spam = menu.findItem(R.id.report_spam); spam.setVisible(!showMarkNotSpam @@ -461,9 +456,6 @@ public class SelectedConversationsActionMenu implements ActionMode.Callback, discardDrafts.setVisible(showDiscardDrafts); } - MailActionBarView.reorderMenu(mContext, mAccount, menu, - mContext.getResources().getInteger(R.integer.actionbar_max_items)); - return true; } diff --git a/src/com/android/mail/preferences/FolderPreferences.java b/src/com/android/mail/preferences/FolderPreferences.java index 9a3be1694..fe007d609 100644 --- a/src/com/android/mail/preferences/FolderPreferences.java +++ b/src/com/android/mail/preferences/FolderPreferences.java @@ -15,9 +15,6 @@ */ package com.android.mail.preferences; -import com.google.android.mail.common.base.Strings; -import com.google.common.collect.ImmutableSet; - import android.content.ContentUris; import android.content.Context; import android.database.Cursor; @@ -30,6 +27,8 @@ import com.android.mail.providers.Folder; import com.android.mail.providers.UIProvider.AccountCapabilities; import com.android.mail.providers.UIProvider.FolderCapabilities; import com.android.mail.utils.NotificationActionUtils.NotificationActionType; +import com.google.android.mail.common.base.Strings; +import com.google.common.collect.ImmutableSet; import java.util.LinkedHashSet; import java.util.Set; diff --git a/src/com/android/mail/preferences/MailPrefs.java b/src/com/android/mail/preferences/MailPrefs.java index fa0121682..cb4eb01ae 100644 --- a/src/com/android/mail/preferences/MailPrefs.java +++ b/src/com/android/mail/preferences/MailPrefs.java @@ -19,6 +19,7 @@ package com.android.mail.preferences; import android.content.Context; import android.content.SharedPreferences; +import android.support.annotation.StringDef; import com.android.mail.R; import com.android.mail.providers.Account; @@ -29,6 +30,8 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.Collections; import java.util.List; import java.util.Set; @@ -137,6 +140,13 @@ public final class MailPrefs extends VersionedPrefs { public static final String DISABLED = "disabled"; } + @Retention(RetentionPolicy.SOURCE) + @StringDef({ + RemovalActions.ARCHIVE, + RemovalActions.ARCHIVE_AND_DELETE, + RemovalActions.DELETE + }) + public @interface RemovalActionTypes {} public static final class RemovalActions { public static final String ARCHIVE = "archive"; public static final String DELETE = "delete"; @@ -241,7 +251,7 @@ public final class MailPrefs extends VersionedPrefs { * Sets the removal action preference. * @param removalAction The preferred {@link RemovalActions}. */ - public void setRemovalAction(final String removalAction) { + public void setRemovalAction(final @RemovalActionTypes String removalAction) { getEditor().putString(PreferenceKeys.REMOVAL_ACTION, removalAction).apply(); notifyBackupPreferenceChanged(); } diff --git a/src/com/android/mail/ui/AbstractActivityController.java b/src/com/android/mail/ui/AbstractActivityController.java index 8ed9010f2..75eafbacd 100644 --- a/src/com/android/mail/ui/AbstractActivityController.java +++ b/src/com/android/mail/ui/AbstractActivityController.java @@ -1282,7 +1282,7 @@ public abstract class AbstractActivityController implements ActivityController, mFloatingComposeButton = mActivity.findViewById(R.id.compose_button); mFloatingComposeButton.setOnClickListener(this); - mDrawerToggle = new ActionBarDrawerToggle(mActivity, mDrawerContainer, + mDrawerToggle = new ActionBarDrawerToggle(mActivity, mDrawerContainer, false, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close); mDrawerContainer.setDrawerListener(mDrawerListener); mDrawerContainer.setDrawerShadow( @@ -1538,12 +1538,8 @@ public abstract class AbstractActivityController implements ActivityController, requestFolderRefresh(); } else if (id == R.id.settings) { Utils.showSettings(mActivity.getActivityContext(), mAccount); - } else if (id == R.id.folder_options) { - Utils.showFolderSettings(mActivity.getActivityContext(), mAccount, mFolder); } else if (id == R.id.help_info_menu_item) { mActivity.showHelp(mAccount, mViewMode.getMode()); - } else if (id == R.id.manage_folders_item) { - Utils.showManageFolder(mActivity.getActivityContext(), mAccount); } else if (id == R.id.move_to || id == R.id.change_folders) { final FolderSelectionDialog dialog = FolderSelectionDialog.getInstance(mAccount, Conversation.listOf(mCurrentConversation), isBatch, mFolder, diff --git a/src/com/android/mail/ui/FolderListFragment.java b/src/com/android/mail/ui/FolderListFragment.java index 2005719a2..94956fa7a 100644 --- a/src/com/android/mail/ui/FolderListFragment.java +++ b/src/com/android/mail/ui/FolderListFragment.java @@ -198,8 +198,6 @@ public class FolderListFragment extends ListFragment implements private final DrawerStateListener mDrawerListener = new DrawerStateListener(); - private boolean mShowFooter; - private BitmapCache mImagesCache; private ContactResolver mContactResolver; @@ -438,11 +436,6 @@ public class FolderListFragment extends ListFragment implements mInboxPresent = true; } - // only show the footer on drawered layouts, and definitely not in the folder selection - // activity - mShowFooter = !mIsFolderSelectionActivity - && getResources().getBoolean(R.bool.show_help_and_feedback_in_drawer); - return rootView; } @@ -1235,7 +1228,7 @@ public class FolderListFragment extends ListFragment implements private void update() { // if the parent activity shows a drawer, these items should participate in that drawer // (if it shows a *pane* they should *not* participate in that pane) - if (!mShowFooter) { + if (mIsFolderSelectionActivity) { return; } diff --git a/src/com/android/mail/ui/MailActionBarView.java b/src/com/android/mail/ui/MailActionBarView.java index a648f73ef..fcd64319f 100644 --- a/src/com/android/mail/ui/MailActionBarView.java +++ b/src/com/android/mail/ui/MailActionBarView.java @@ -36,7 +36,6 @@ import android.util.AttributeSet; import android.view.Menu; import android.view.MenuItem; import android.view.View; -import android.view.ViewConfiguration; import android.widget.LinearLayout; import android.widget.SearchView; import android.widget.SearchView.OnQueryTextListener; @@ -45,7 +44,6 @@ import android.widget.TextView; import com.android.mail.ConversationListContext; import com.android.mail.R; -import com.android.mail.preferences.MailPrefs; import com.android.mail.providers.Account; import com.android.mail.providers.AccountObserver; import com.android.mail.providers.Conversation; @@ -89,13 +87,10 @@ public class MailActionBarView extends LinearLayout implements ViewMode.ModeChan private Folder mFolder; private SearchView mSearchWidget; - private MenuItem mSettingsItem; - private MenuItem mHelpItem; - private MenuItem mFolderSettingsItem; private MenuItem mEmptyTrashItem; private MenuItem mEmptySpamItem; private boolean mUseLegacyTitle; - private View mLegacyTitleContainer; + private TextView mLegacyTitle; private TextView mLegacySubTitle; @@ -180,22 +175,22 @@ public class MailActionBarView extends LinearLayout implements ViewMode.ModeChan } private void initializeTitleViews() { - mLegacyTitleContainer = findViewById(R.id.legacy_title_container); - if (mLegacyTitleContainer != null) { + final View legacyTitleContainer = findViewById(R.id.legacy_title_container); + if (legacyTitleContainer != null) { // Determine if this device is running on MR1.1 or later final boolean runningMR11OrLater = actionBarSupportsNewMethods(mActionBar); if (runningMR11OrLater || !mController.isDrawerEnabled()) { // We don't need the legacy view, just hide it - mLegacyTitleContainer.setVisibility(View.GONE); + legacyTitleContainer.setVisibility(View.GONE); mUseLegacyTitle = false; } else { mUseLegacyTitle = true; // We need to show the legacy title/subtitle. Set the click listener - mLegacyTitleContainer.setOnClickListener(this); + legacyTitleContainer.setOnClickListener(this); - mLegacyTitle = (TextView)mLegacyTitleContainer.findViewById(R.id.legacy_title); + mLegacyTitle = (TextView) legacyTitleContainer.findViewById(R.id.legacy_title); mLegacySubTitle = - (TextView)mLegacyTitleContainer.findViewById(R.id.legacy_subtitle); + (TextView) legacyTitleContainer.findViewById(R.id.legacy_subtitle); } } } @@ -223,11 +218,8 @@ public class MailActionBarView extends LinearLayout implements ViewMode.ModeChan } public boolean onCreateOptionsMenu(Menu menu) { - mFolderSettingsItem = menu.findItem(R.id.folder_options); - mHelpItem = menu.findItem(R.id.help_info_menu_item); mEmptyTrashItem = menu.findItem(R.id.empty_trash); mEmptySpamItem = menu.findItem(R.id.empty_spam); - mSettingsItem = menu.findItem(R.id.settings); mSearch = menu.findItem(R.id.search); if (mSearch != null) { @@ -370,10 +362,6 @@ public class MailActionBarView extends LinearLayout implements ViewMode.ModeChan * conditions are properly set to the correct visibility */ public void validateVolatileMenuOptionVisibility() { - if (mFolderSettingsItem != null) { - mFolderSettingsItem.setVisible(mFolder != null - && mFolder.supportsCapability(FolderCapabilities.SUPPORTS_SETTINGS)); - } if (mEmptyTrashItem != null) { mEmptyTrashItem.setVisible(mAccount != null && mFolder != null && mAccount.supportsCapability(AccountCapabilities.EMPTY_TRASH) @@ -407,9 +395,6 @@ public class MailActionBarView extends LinearLayout implements ViewMode.ModeChan } validateVolatileMenuOptionVisibility(); - // Only show help in menu if it's not shown in drawer already, unless there's no drawer. - boolean showHelpAndSettingsInMenu = !mController.isDrawerEnabled(); - switch (getMode()) { case ViewMode.CONVERSATION: case ViewMode.SEARCH_RESULTS_CONVERSATION: @@ -418,17 +403,6 @@ public class MailActionBarView extends LinearLayout implements ViewMode.ModeChan // to show up during the time between the conversation is selected and the fragment // is added. setConversationModeOptions(menu); - // We want to use the user's preferred menu items here - final Resources resources = getResources(); - final int maxItems = resources.getInteger(R.integer.actionbar_max_items); - final int hiddenItems = resources.getInteger( - R.integer.actionbar_hidden_non_cab_items_no_physical_button); - final int totalItems = maxItems - - (ViewConfiguration.get(getContext()).hasPermanentMenuKey() - ? 0 : hiddenItems); - reorderMenu(getContext(), mAccount, menu, totalItems); - // Always enable help/settings in conversation mode. - showHelpAndSettingsInMenu = true; break; case ViewMode.CONVERSATION_LIST: // Show search if the account supports it @@ -438,129 +412,12 @@ public class MailActionBarView extends LinearLayout implements ViewMode.ModeChan // Hide compose and search Utils.setMenuItemVisibility(menu, R.id.compose, false); Utils.setMenuItemVisibility(menu, R.id.search, false); - // No drawer at this moment. - showHelpAndSettingsInMenu = true; break; } - if (mSettingsItem != null) { - mSettingsItem.setVisible(showHelpAndSettingsInMenu); - } - if (mHelpItem != null) { - mHelpItem.setVisible(showHelpAndSettingsInMenu - && mAccount != null - && mAccount.supportsCapability(AccountCapabilities.HELP_CONTENT)); - } - return false; } - /** - * Reorders the specified {@link Menu}, taking into account the user's Archive/Delete - * preference. - */ - public static void reorderMenu(final Context context, final Account account, final Menu menu, - final int maxItems) { - final String removalAction = MailPrefs.get(context).getRemovalAction( - account.supportsCapability(AccountCapabilities.ARCHIVE)); - final boolean showArchive = MailPrefs.RemovalActions.ARCHIVE.equals(removalAction) || - MailPrefs.RemovalActions.ARCHIVE_AND_DELETE.equals(removalAction); - final boolean showDelete = MailPrefs.RemovalActions.DELETE.equals(removalAction) || - MailPrefs.RemovalActions.ARCHIVE_AND_DELETE.equals(removalAction); - - // Do a first pass to extract necessary information on what is safe to display - boolean archiveVisibleEnabled = false; - boolean deleteVisibleEnabled = false; - for (int i = 0; i < menu.size(); i++) { - final MenuItem menuItem = menu.getItem(i); - final int itemId = menuItem.getItemId(); - final boolean visible = menuItem.isVisible(); - final boolean enabled = menuItem.isEnabled(); - - if (itemId == R.id.archive || itemId == R.id.remove_folder) { - archiveVisibleEnabled |= (visible & enabled); - } else if (itemId == R.id.delete || itemId == R.id.discard_drafts) { - deleteVisibleEnabled |= (visible & enabled); - } - } - - int actionItems = 0; - MenuItem lastActionCandidate = null; - int totalVisibleItems = 0; - for (int i = 0; i < menu.size(); i++) { - final MenuItem menuItem = menu.getItem(i); - final int itemId = menuItem.getItemId(); - - // We only want to promote it if it's visible and has an icon - if (menuItem.isVisible() && menuItem.getIcon() != null) { - if (itemId == R.id.archive || itemId == R.id.remove_folder) { - /* - * If this is disabled, and we want to show both archive and delete, we will - * hide archive (rather than showing it disabled), and take up one of our - * spaces. If we only want to show archive, we'll hide it, but not take up - * a space. - */ - if (!menuItem.isEnabled() && showArchive) { - menuItem.setVisible(false); - - if (showDelete) { - actionItems++; - } - } else { - /* - * We show this if the following are all true: - * 1. The user wants to display archive, or delete is not visible - * 2. We have room for it - */ - if ((showArchive || !deleteVisibleEnabled) && actionItems < maxItems) { - menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); - actionItems++; - } - } - } else if (itemId == R.id.delete || itemId == R.id.discard_drafts) { - /* - * We show this if the following are all true: - * 1. The user wants to display delete, or archive is not visible - * 2. We have room for it - */ - if ((showDelete || !archiveVisibleEnabled) && actionItems < maxItems) { - menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); - actionItems++; - } - } else if (itemId == R.id.change_folders) { - final boolean showChangeFolder = account - .supportsCapability(AccountCapabilities.MULTIPLE_FOLDERS_PER_CONV); - menuItem.setVisible(showChangeFolder); - - if (showChangeFolder && actionItems < maxItems) { - menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); - actionItems++; - } - } else if (itemId == R.id.search) { - menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS - | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW); - actionItems++; - } else { - if (actionItems < maxItems) { - menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); - actionItems++; - } else { - lastActionCandidate = menuItem; - } - } - if (menuItem.isVisible()) { - totalVisibleItems++; - } - } - } - if ((totalVisibleItems - actionItems == 1) && lastActionCandidate != null) { - // We have exactly one item that we haven't promoted to display in the actionBar. - // There's no reason to put it in the overflow, because it will fit in the actionBar - // if we just don't display the overflow. - lastActionCandidate.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); - } - } - /** * Put the ActionBar in List navigation mode. */ @@ -869,15 +726,13 @@ public class MailActionBarView extends LinearLayout implements ViewMode.ModeChan } private static boolean actionBarSupportsNewMethods(ActionBar bar) { - // TODO(pwestbro) switch this to - // (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) when we switch to the - // latest SDK - if (Build.VERSION.SDK_INT > 17) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { return true; } if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN) { return false; } + // API 17 - why is this special? boolean supportsNewApi = false; try { if (bar != null) { @@ -896,10 +751,6 @@ public class MailActionBarView extends LinearLayout implements ViewMode.ModeChan } } - public ViewMode getViewModeController() { - return mViewModeController; - } - public void setViewModeController(ViewMode viewModeController) { mViewModeController = viewModeController; mViewModeController.addListener(this); diff --git a/src/com/android/mail/ui/SearchMailActionBarView.java b/src/com/android/mail/ui/SearchMailActionBarView.java index 08319babb..cf1ee0ab6 100644 --- a/src/com/android/mail/ui/SearchMailActionBarView.java +++ b/src/com/android/mail/ui/SearchMailActionBarView.java @@ -26,7 +26,6 @@ import android.widget.SearchView; import com.android.mail.ConversationListContext; import com.android.mail.utils.Utils; -import com.android.mail.R; /** * This class is used to show a custom actionbar for the search activity. This doesn't have any @@ -49,7 +48,6 @@ public class SearchMailActionBarView extends MailActionBarView { @Override public boolean onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); - Utils.setMenuItemVisibility(menu, R.id.manage_folders_item, false); switch (getMode()) { case ViewMode.SEARCH_RESULTS_LIST: setSearchQueryTerm(); diff --git a/src/com/android/mail/ui/TwoPaneController.java b/src/com/android/mail/ui/TwoPaneController.java index 656793cac..4139f0427 100644 --- a/src/com/android/mail/ui/TwoPaneController.java +++ b/src/com/android/mail/ui/TwoPaneController.java @@ -97,8 +97,6 @@ public final class TwoPaneController extends AbstractActivityController { if (action == R.id.settings || action == R.id.compose || action == R.id.help_info_menu_item - || action == R.id.manage_folders_item - || action == R.id.folder_options || action == R.id.feedback_menu_item) { return true; } diff --git a/src/com/android/mail/utils/Utils.java b/src/com/android/mail/utils/Utils.java index 4767fee9f..068b4db0e 100644 --- a/src/com/android/mail/utils/Utils.java +++ b/src/com/android/mail/utils/Utils.java @@ -619,44 +619,6 @@ public class Utils { context.startActivity(settingsIntent); } - /** - * Show the settings screen for the supplied account. - */ - public static void showFolderSettings(Context context, Account account, Folder folder) { - if (account == null || folder == null) { - LogUtils.e(LOG_TAG, "Invalid attempt to show folder settings. account: %s folder: %s", - account, folder); - return; - } - final Intent settingsIntent = new Intent(Intent.ACTION_EDIT, - appendVersionQueryParameter(context, account.settingsIntentUri)); - - settingsIntent.setPackage(context.getPackageName()); - settingsIntent.putExtra(EditSettingsExtras.EXTRA_ACCOUNT, account); - settingsIntent.putExtra(EditSettingsExtras.EXTRA_FOLDER, folder); - settingsIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); - - context.startActivity(settingsIntent); - } - - /** - * Show the settings screen for managing all folders. - */ - public static void showManageFolder(Context context, Account account) { - if (account == null) { - LogUtils.e(LOG_TAG, "Invalid attempt to the manage folders screen with null account"); - return; - } - final Intent settingsIntent = new Intent(Intent.ACTION_EDIT, account.settingsIntentUri); - - settingsIntent.setPackage(context.getPackageName()); - settingsIntent.putExtra(EditSettingsExtras.EXTRA_ACCOUNT, account); - settingsIntent.putExtra(EditSettingsExtras.EXTRA_MANAGE_FOLDERS, true); - settingsIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); - - context.startActivity(settingsIntent); - } - /** * Show the feedback screen for the supplied account. */ -- cgit v1.2.3