diff options
author | Martin Hibdon <mhibdon@google.com> | 2014-02-26 02:16:06 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-02-26 02:16:06 +0000 |
commit | eee74fd53ac422211dcbd12b5f743c6bafafee42 (patch) | |
tree | 0e7b2320b12abec96bc72938f7978846bd6a0078 | |
parent | cd28e72542ec4246909f207d3a7500d500656824 (diff) | |
parent | f420943a59db2fe6f0fb66a9055303753d24914f (diff) | |
download | android_packages_apps_UnifiedEmail-eee74fd53ac422211dcbd12b5f743c6bafafee42.tar.gz android_packages_apps_UnifiedEmail-eee74fd53ac422211dcbd12b5f743c6bafafee42.tar.bz2 android_packages_apps_UnifiedEmail-eee74fd53ac422211dcbd12b5f743c6bafafee42.zip |
Merge "Better fix for displaying add/remove star in actionBar" into ub-mail-master
-rw-r--r-- | res/menu/conversation_list_selection_actions_menu.xml | 4 | ||||
-rw-r--r-- | src/com/android/mail/ui/MailActionBarView.java | 14 |
2 files changed, 15 insertions, 3 deletions
diff --git a/res/menu/conversation_list_selection_actions_menu.xml b/res/menu/conversation_list_selection_actions_menu.xml index 9b9fc56e7..9db7223ee 100644 --- a/res/menu/conversation_list_selection_actions_menu.xml +++ b/res/menu/conversation_list_selection_actions_menu.xml @@ -86,12 +86,12 @@ <item android:id="@+id/star" android:title="@string/add_star" android:icon="@drawable/ic_menu_starred_holo_light" - android:showAsAction="ifRoom" /> + android:showAsAction="never" /> <item android:id="@+id/remove_star" android:title="@string/remove_star" android:icon="@drawable/ic_menu_unstarred_holo_light" - android:showAsAction="ifRoom" /> + android:showAsAction="never" /> <item android:id="@+id/mark_important" diff --git a/src/com/android/mail/ui/MailActionBarView.java b/src/com/android/mail/ui/MailActionBarView.java index f0d191dd6..a2cc7d275 100644 --- a/src/com/android/mail/ui/MailActionBarView.java +++ b/src/com/android/mail/ui/MailActionBarView.java @@ -471,7 +471,8 @@ public class MailActionBarView extends LinearLayout implements ViewMode.ModeChan } 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(); @@ -529,10 +530,21 @@ public class MailActionBarView extends LinearLayout implements ViewMode.ModeChan 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); + } } /** |