summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Hibdon <mhibdon@google.com>2014-02-26 02:16:06 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-02-26 02:16:06 +0000
commiteee74fd53ac422211dcbd12b5f743c6bafafee42 (patch)
tree0e7b2320b12abec96bc72938f7978846bd6a0078
parentcd28e72542ec4246909f207d3a7500d500656824 (diff)
parentf420943a59db2fe6f0fb66a9055303753d24914f (diff)
downloadandroid_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.xml4
-rw-r--r--src/com/android/mail/ui/MailActionBarView.java14
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);
+ }
}
/**