Menu items to spec + cleanup
NS: 2 in portrait CAB, 3 elsewhere
N4 (sw340dp): 3 everywhere
Bug: 8832952
Change-Id: Ie576a54331731cf07b8557e1e9c3a5d5619d8b0d
diff --git a/res/drawable-hdpi/ic_menu_star_off_holo_light.png b/res/drawable-hdpi/ic_menu_star_off_holo_light.png
deleted file mode 100644
index 257abf7..0000000
--- a/res/drawable-hdpi/ic_menu_star_off_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_spam_normal_holo_light.png b/res/drawable-hdpi/ic_spam_normal_holo_light.png
deleted file mode 100644
index 21a0fa6..0000000
--- a/res/drawable-hdpi/ic_spam_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_star_off_holo_light.png b/res/drawable-mdpi/ic_menu_star_off_holo_light.png
deleted file mode 100644
index 15f5845..0000000
--- a/res/drawable-mdpi/ic_menu_star_off_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_spam_normal_holo_light.png b/res/drawable-mdpi/ic_spam_normal_holo_light.png
deleted file mode 100644
index 5abe493..0000000
--- a/res/drawable-mdpi/ic_spam_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_star_off_holo_light.png b/res/drawable-xhdpi/ic_menu_star_off_holo_light.png
deleted file mode 100644
index b7417f1..0000000
--- a/res/drawable-xhdpi/ic_menu_star_off_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_spam_normal_holo_light.png b/res/drawable-xhdpi/ic_spam_normal_holo_light.png
deleted file mode 100644
index 4edbfe0..0000000
--- a/res/drawable-xhdpi/ic_spam_normal_holo_light.png
+++ /dev/null
Binary files differ
diff --git a/res/menu-sw600dp-land/conversation_actions.xml b/res/menu-sw600dp-land/conversation_actions.xml
index 5202e13..f463841 100644
--- a/res/menu-sw600dp-land/conversation_actions.xml
+++ b/res/menu-sw600dp-land/conversation_actions.xml
@@ -22,13 +22,13 @@
even in the conversation view. -->
<item android:id="@+id/compose"
android:title="@string/menu_compose"
- android:showAsAction="ifRoom"
+ android:showAsAction="always"
android:icon="@drawable/ic_menu_compose_normal_holo_light"
android:alphabeticShortcut="@string/trigger_compose_char" />
<item android:id="@+id/search"
android:title="@string/menu_search"
- android:showAsAction="ifRoom|collapseActionView"
+ android:showAsAction="always|collapseActionView"
android:icon="@drawable/ic_menu_search_holo_light"
android:actionLayout="@layout/mail_actionbar_searchview" />
@@ -40,13 +40,13 @@
<item
android:id="@+id/archive"
android:title="@string/archive"
- android:showAsAction="ifRoom"
+ android:showAsAction="never"
android:icon="@drawable/archive"
android:alphabeticShortcut="@string/trigger_y_char" />
<item
android:id="@+id/remove_folder"
android:title="@string/remove_folder"
- android:showAsAction="ifRoom"
+ android:showAsAction="never"
android:icon="@drawable/ic_remove_label"
android:alphabeticShortcut="@string/trigger_y_char"
android:visible="false" />
@@ -54,33 +54,33 @@
<item
android:id="@+id/delete"
android:title="@string/delete"
- android:showAsAction="ifRoom"
+ android:showAsAction="never"
android:icon="@drawable/trash" />
<!-- Depends on the user viewing a draft label, and the above menu item not being shown -->
<item
android:id="@+id/discard_drafts"
android:title="@string/discard_drafts"
- android:showAsAction="ifRoom"
+ android:showAsAction="never"
android:icon="@drawable/trash"
android:visible="false" />
<item
android:id="@+id/inside_conversation_unread"
android:title="@string/mark_unread"
- android:showAsAction="ifRoom"
+ android:showAsAction="never"
android:icon="@drawable/ic_menu_mark_unread_holo_light" />
<item
android:id="@+id/move_to"
android:title="@string/menu_move_to"
- android:showAsAction="ifRoom"
+ android:showAsAction="never"
android:icon="@drawable/ic_menu_move_to_holo_light" />
<!-- Always available -->
<item
android:id="@+id/change_folder"
android:title="@string/menu_change_folders"
- android:showAsAction="ifRoom"
+ android:showAsAction="never"
android:icon="@drawable/ic_menu_folders_holo_light" />
<item
@@ -105,7 +105,6 @@
<item
android:id="@+id/report_spam"
android:title="@string/report_spam"
- android:icon="@drawable/ic_spam_normal_holo_light"
android:showAsAction="never"/>
<!-- Depends on AccountCapabilities.REPORT_SPAM -->
@@ -125,7 +124,6 @@
<item android:id="@+id/refresh"
android:title="@string/refresh"
android:showAsAction="never"
- android:icon="@drawable/ic_menu_refresh_holo_light"
android:alphabeticShortcut="@string/trigger_refresh_char" />
<!-- Available for Folders with SUPPORTS_SETTINGS capability -->
@@ -139,13 +137,11 @@
<item
android:id="@+id/feedback_menu_item"
- android:icon="@android:drawable/ic_menu_send"
android:title="@string/feedback"
android:showAsAction="never" />
<item
android:id="@+id/help_info_menu_item"
- android:icon="@android:drawable/ic_menu_help"
android:title="@string/help_and_info"
android:showAsAction="never" />
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 cd1e4de..b57f539 100644
--- a/res/menu-sw600dp-land/conversation_list_search_results_actions.xml
+++ b/res/menu-sw600dp-land/conversation_list_search_results_actions.xml
@@ -50,25 +50,21 @@
<item
android:id="@+id/mark_important"
android:title="@string/mark_important"
- android:showAsAction="never"
- android:icon="@drawable/ic_email_caret_double" />
+ android:showAsAction="never" />
<item
android:id="@+id/mark_not_important"
android:title="@string/mark_not_important"
- android:showAsAction="never"
- android:icon="@drawable/ic_email_caret_single" />
+ android:showAsAction="never" />
<item
android:id="@+id/report_spam"
android:title="@string/report_spam"
- android:showAsAction="never"
- android:icon="@drawable/ic_spam_normal_holo_light" />
+ android:showAsAction="never" />
<item android:id="@+id/refresh"
android:title="@string/refresh"
android:showAsAction="never"
- android:icon="@drawable/ic_menu_refresh_holo_light"
android:alphabeticShortcut="@string/trigger_refresh_char" />
<item android:id="@+id/settings"
@@ -77,13 +73,11 @@
<item
android:id="@+id/feedback_menu_item"
- android:icon="@android:drawable/ic_menu_send"
android:showAsAction="never"
android:title="@string/feedback" />
<item
android:id="@+id/help_info_menu_item"
- android:icon="@android:drawable/ic_menu_help"
android:showAsAction="never"
android:title="@string/help_and_info" />
diff --git a/res/menu-sw600dp-port/conversation_search_results_actions.xml b/res/menu-sw600dp-port/conversation_search_results_actions.xml
deleted file mode 100644
index e228059..0000000
--- a/res/menu-sw600dp-port/conversation_search_results_actions.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2012 Google Inc.
- Licensed to The Android Open Source Project.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<!-- Action bar items for the tablet when viewing a conversation -->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
- <item
- android:id="@+id/delete"
- android:title="@string/delete"
- android:showAsAction="ifRoom"
- android:icon="@drawable/trash" />
-
- <!-- Always available -->
- <item
- android:id="@+id/change_folder"
- android:title="@string/menu_change_folders"
- android:showAsAction="ifRoom"
- android:icon="@drawable/ic_menu_folders_holo_light" />
-
- <item android:id="@+id/inside_conversation_unread"
- android:title="@string/mark_unread"
- android:showAsAction="ifRoom"
- android:icon="@drawable/ic_menu_mark_unread_holo_light" />
-
- <item
- android:id="@+id/mark_important"
- android:showAsAction="never"
- android:title="@string/mark_important" />
-
- <item
- android:id="@+id/mark_not_important"
- android:showAsAction="never"
- android:title="@string/mark_not_important" />
-
- <item
- android:id="@+id/report_spam"
- android:title="@string/report_spam"
- android:showAsAction="never"/>
-
- <item android:id="@+id/settings"
- android:title="@string/menu_settings"
- android:showAsAction="never" />
-
- <item
- android:id="@+id/feedback_menu_item"
- android:showAsAction="never"
- android:icon="@android:drawable/ic_menu_send"
- android:title="@string/feedback" />
-
- <item
- android:id="@+id/help_info_menu_item"
- android:showAsAction="never"
- android:icon="@android:drawable/ic_menu_help"
- android:title="@string/help_and_info" />
-
-</menu>
diff --git a/res/menu-sw600dp/conversation_list_menu.xml b/res/menu-sw600dp/conversation_list_menu.xml
index 4a69777..03858c5 100644
--- a/res/menu-sw600dp/conversation_list_menu.xml
+++ b/res/menu-sw600dp/conversation_list_menu.xml
@@ -35,20 +35,17 @@
<item android:id="@+id/refresh"
android:title="@string/refresh"
android:showAsAction="never"
- android:icon="@drawable/ic_menu_refresh_holo_light"
android:alphabeticShortcut="@string/trigger_refresh_char" />
<!-- Available only in the trash folder, when the account supports emptying it -->
<item android:id="@+id/empty_trash"
android:title="@string/empty_trash"
- android:showAsAction="never"
- android:icon="@drawable/ic_menu_trash_holo_light" />
+ android:showAsAction="never" />
<!-- Available only in the spam folder, when the account supports emptying it -->
<item android:id="@+id/empty_spam"
android:title="@string/empty_spam"
- android:showAsAction="never"
- android:icon="@drawable/ic_menu_trash_holo_light" />
+ android:showAsAction="never" />
<!-- Available for Folders with SUPPORTS_SETTINGS capability -->
<item android:id="@+id/folder_options"
diff --git a/res/menu-sw600dp/conversation_search_results_actions.xml b/res/menu-sw600dp/conversation_search_results_actions.xml
deleted file mode 100644
index 4a37317..0000000
--- a/res/menu-sw600dp/conversation_search_results_actions.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2012 Google Inc.
- Licensed to The Android Open Source Project.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item android:id="@+id/compose"
- android:title="@string/menu_compose"
- android:showAsAction="always"
- android:icon="@drawable/ic_menu_compose_normal_holo_light"
- android:alphabeticShortcut="@string/trigger_compose_char" />
-
- <item android:id="@+id/search"
- android:title="@string/menu_search"
- android:showAsAction="always|collapseActionView"
- android:icon="@drawable/ic_menu_search_holo_light"
- android:actionLayout="@layout/mail_actionbar_searchview" />
-
- <item
- android:id="@+id/delete"
- android:title="@string/delete"
- android:showAsAction="ifRoom"
- android:icon="@drawable/trash" />
-
- <item
- android:id="@+id/change_folder"
- android:title="@string/menu_change_folders"
- android:showAsAction="never"
- android:icon="@drawable/ic_menu_folders_holo_light" />
-
- <item android:id="@+id/inside_conversation_unread"
- android:title="@string/mark_unread"
- android:showAsAction="never"
- android:icon="@drawable/ic_menu_mark_unread_holo_light" />
-
- <item
- android:id="@+id/mark_important"
- android:showAsAction="never"
- android:title="@string/mark_important" />
-
- <item
- android:id="@+id/mark_not_important"
- android:showAsAction="never"
- android:title="@string/mark_not_important" />
-
- <item
- android:id="@+id/report_spam"
- android:title="@string/report_spam"
- android:showAsAction="never"/>
-
- <item android:id="@+id/refresh"
- android:title="@string/refresh"
- android:showAsAction="never"
- android:icon="@drawable/ic_menu_refresh_holo_light"
- android:alphabeticShortcut="@string/trigger_refresh_char" />
-
- <item android:id="@+id/settings"
- android:title="@string/menu_settings"
- android:showAsAction="never" />
-
- <item
- android:id="@+id/feedback_menu_item"
- android:showAsAction="never"
- android:icon="@android:drawable/ic_menu_send"
- android:title="@string/feedback" />
-
- <item
- android:id="@+id/help_info_menu_item"
- android:showAsAction="never"
- android:icon="@android:drawable/ic_menu_help"
- android:title="@string/help_and_info" />
-</menu>
diff --git a/res/menu/conversation_actions.xml b/res/menu/conversation_actions.xml
index aa9d594..e70d6db 100644
--- a/res/menu/conversation_actions.xml
+++ b/res/menu/conversation_actions.xml
@@ -26,13 +26,13 @@
<item
android:id="@+id/archive"
android:title="@string/archive"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/archive"
android:alphabeticShortcut="@string/trigger_y_char" />
<item
android:id="@+id/remove_folder"
android:title="@string/remove_folder"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/ic_remove_label"
android:alphabeticShortcut="@string/trigger_y_char"
android:visible="false" />
@@ -41,13 +41,13 @@
<item
android:id="@+id/delete"
android:title="@string/delete"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/trash" />
<!-- Depends on the user viewing a draft label, and the above menu item not being shown -->
<item
android:id="@+id/discard_drafts"
android:title="@string/discard_drafts"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/trash"
android:visible="false" />
@@ -55,34 +55,32 @@
<item
android:id="@+id/inside_conversation_unread"
android:title="@string/mark_unread"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/ic_menu_mark_unread_holo_light" />
<!-- Always available -->
<item
android:id="@+id/move_to"
android:title="@string/menu_move_to"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/ic_menu_move_to_holo_light" />
<!-- Always available -->
<item
android:id="@+id/change_folder"
android:title="@string/menu_change_folders"
- android:showAsAction="ifRoom"
+ android:showAsAction="never"
android:icon="@drawable/ic_menu_folders_holo_light" />
<!-- Always available -->
<item
android:id="@+id/mark_important"
- android:title="@string/mark_important"
- android:icon="@drawable/ic_email_caret_double" />
+ android:title="@string/mark_important" />
<!-- Always available -->
<item
android:id="@+id/mark_not_important"
android:title="@string/mark_not_important"
- android:icon="@drawable/ic_email_caret_single"
android:visible="false" />
<!-- Depends on AccountCapabilities.MUTE -->
@@ -95,13 +93,11 @@
<!-- Depends on AccountCapabilities.REPORT_SPAM -->
<item
android:id="@+id/report_spam"
- android:title="@string/report_spam"
- android:icon="@drawable/ic_spam_normal_holo_light" />
+ android:title="@string/report_spam" />
<!-- Depends on AccountCapabilities.REPORT_SPAM -->
<item
android:id="@+id/mark_not_spam"
android:title="@string/mark_not_spam"
- android:icon="@drawable/ic_spam_normal_holo_light"
android:visible="false" />
<!-- Depends on AccountCapabilities.REPORT_PHISHING -->
@@ -117,12 +113,10 @@
<!-- Always available -->
<item
android:id="@+id/feedback_menu_item"
- android:icon="@android:drawable/ic_menu_send"
android:title="@string/feedback" />
<!-- Always available -->
<item
android:id="@+id/help_info_menu_item"
- android:icon="@android:drawable/ic_menu_help"
android:title="@string/help_and_info" />
</menu>
diff --git a/res/menu/conversation_list_selection_actions_menu.xml b/res/menu/conversation_list_selection_actions_menu.xml
index fb1250e..f635a4f 100644
--- a/res/menu/conversation_list_selection_actions_menu.xml
+++ b/res/menu/conversation_list_selection_actions_menu.xml
@@ -27,14 +27,14 @@
<item
android:id="@+id/archive"
android:title="@string/archive"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/archive"
android:alphabeticShortcut="@string/trigger_y_char"/>
<item
android:id="@+id/remove_folder"
android:title="@string/remove_folder"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/ic_remove_label"
android:alphabeticShortcut="@string/trigger_y_char"
android:visible="false" />
@@ -43,13 +43,13 @@
<item
android:id="@+id/delete"
android:title="@string/delete"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/trash"/>
<!-- Depends on the user viewing a draft label, and the above menu item not being shown -->
<item
android:id="@+id/discard_drafts"
android:title="@string/discard_drafts"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/trash"
android:visible="false" />
@@ -57,48 +57,44 @@
<item
android:id="@+id/read"
android:title="@string/mark_read"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/ic_menu_mark_read_holo_light" />
<item
android:id="@+id/unread"
android:title="@string/mark_unread"
- android:showAsAction="always"
+ android:showAsAction="never"
android:icon="@drawable/ic_menu_mark_unread_holo_light" />
<item
android:id="@+id/move_to"
android:title="@string/menu_move_to"
- android:showAsAction="ifRoom"
+ android:showAsAction="never"
android:icon="@drawable/ic_menu_move_to_holo_light" />
<item
android:id="@+id/change_folder"
- android:showAsAction="ifRoom"
+ android:showAsAction="never"
android:title="@string/menu_change_folders"
android:icon="@drawable/ic_menu_folders_holo_light" />
<item android:id="@+id/star"
android:title="@string/add_star"
- android:showAsAction="ifRoom"
- android:icon="@drawable/ic_menu_star_holo_light" />
+ android:showAsAction="never" />
<item android:id="@+id/remove_star"
android:title="@string/remove_star"
- android:showAsAction="ifRoom"
- android:icon="@drawable/ic_menu_star_off_holo_light" />
+ android:showAsAction="never" />
<item
android:id="@+id/mark_important"
android:title="@string/mark_important"
- android:showAsAction="never"
- android:icon="@drawable/ic_email_caret_double" />
+ android:showAsAction="never" />
<item
android:id="@+id/mark_not_important"
android:title="@string/mark_not_important"
- android:showAsAction="never"
- android:icon="@drawable/ic_email_caret_single" />
+ android:showAsAction="never" />
<!-- Availability based on account -->
<item
diff --git a/res/menu/conversation_search_results_actions.xml b/res/menu/conversation_search_results_actions.xml
deleted file mode 100644
index 55adc65..0000000
--- a/res/menu/conversation_search_results_actions.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- Copyright (C) 2011 Google Inc.
- Licensed to The Android Open Source Project.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<!-- Copy of conversation_actions -->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
- <!-- Depends on AccountCapabilities.ARCHIVE -->
- <item
- android:id="@+id/archive"
- android:title="@string/archive"
- android:showAsAction="ifRoom"
- android:icon="@drawable/archive"
- android:alphabeticShortcut="@string/trigger_y_char" />
- <!-- Always available -->
- <item
- android:id="@+id/delete"
- android:title="@string/delete"
- android:showAsAction="ifRoom"
- android:icon="@drawable/trash" />
-
- <!-- Always available -->
- <item
- android:id="@+id/change_folder"
- android:title="@string/menu_change_folders"
- android:showAsAction="ifRoom"
- android:icon="@drawable/ic_menu_folders_holo_light" />
-
- <!-- Always available -->
- <item
- android:id="@+id/inside_conversation_unread"
- android:title="@string/mark_unread"
- android:showAsAction="ifRoom"
- android:icon="@drawable/ic_menu_mark_unread_holo_light" />
-
- <!-- Always available -->
- <item
- android:id="@+id/mark_important"
- android:title="@string/mark_important"
- android:icon="@drawable/ic_email_caret_double" />
-
- <!-- Always available -->
- <item
- android:id="@+id/mark_not_important"
- android:title="@string/mark_not_important"
- android:icon="@drawable/ic_email_caret_single"
- android:visible="false" />
-
- <!-- Depends on AccountCapabilities.REPORT_SPAM -->
- <item
- android:id="@+id/report_spam"
- android:title="@string/report_spam"
- android:icon="@drawable/ic_spam_normal_holo_light" />
-
- <!-- Always available -->
- <item android:id="@+id/settings"
- android:title="@string/menu_settings" />
-
- <!-- Always available -->
- <item
- android:id="@+id/feedback_menu_item"
- android:icon="@android:drawable/ic_menu_send"
- android:title="@string/feedback" />
-
- <!-- Always available -->
- <item
- android:id="@+id/help_info_menu_item"
- android:icon="@android:drawable/ic_menu_help"
- android:title="@string/help_and_info" />
-</menu>
diff --git a/res/values-sw340dp/constants.xml b/res/values-sw340dp/constants.xml
deleted file mode 100644
index e181003..0000000
--- a/res/values-sw340dp/constants.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-Copyright (C) 2013 Google Inc.
- Licensed to The Android Open Source Project.
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-<resources>
- <!-- Is the screen narrow? Used to determine how many items to show in CAB mode. -->
- <bool name="is_narrow">false</bool>
-</resources>
diff --git a/res/values-w360dp/constants.xml b/res/values-w360dp/constants.xml
new file mode 100644
index 0000000..b37acca
--- /dev/null
+++ b/res/values-w360dp/constants.xml
@@ -0,0 +1,8 @@
+<!-- Copyright 2013, Google Inc. -->
+<resources>
+ <!-- Number of menu items to display in the ActionBar -->
+ <integer name="actionbar_max_items">3</integer>
+
+ <!-- Number of menu items to hide from the ActionBar by subtracting from actionbar_max_items in non-cab mode -->
+ <integer name="actionbar_hidden_non_cab_items_no_physical_button">0</integer>
+</resources>
diff --git a/res/values-w592dp/constants.xml b/res/values-w592dp/constants.xml
new file mode 100644
index 0000000..e2b5cec
--- /dev/null
+++ b/res/values-w592dp/constants.xml
@@ -0,0 +1,5 @@
+<!-- Copyright 2013, Google Inc. -->
+<resources>
+ <!-- Number of menu items to display in the ActionBar -->
+ <integer name="actionbar_max_items">4</integer>
+</resources>
diff --git a/res/values/constants.xml b/res/values/constants.xml
index 234d73b..92385e3 100644
--- a/res/values/constants.xml
+++ b/res/values/constants.xml
@@ -112,6 +112,10 @@
<bool name="inline_personal_level">true</bool>
<integer name="swipe_senders_length">25</integer>
- <!-- Is the screen narrow? Used to determine how many items to show in CAB mode. -->
- <bool name="is_narrow">true</bool>
+
+ <!-- Number of menu items to display in the ActionBar -->
+ <integer name="actionbar_max_items">3</integer>
+
+ <!-- Number of menu items to hide from the ActionBar by subtracting from actionbar_max_items in non-cab mode -->
+ <integer name="actionbar_hidden_non_cab_items_no_physical_button">1</integer>
</resources>
diff --git a/src/com/android/mail/browse/SelectedConversationsActionMenu.java b/src/com/android/mail/browse/SelectedConversationsActionMenu.java
index 416238d..350088a 100644
--- a/src/com/android/mail/browse/SelectedConversationsActionMenu.java
+++ b/src/com/android/mail/browse/SelectedConversationsActionMenu.java
@@ -18,7 +18,6 @@
package com.android.mail.browse;
import android.content.Context;
-import android.content.res.Resources;
import android.net.Uri;
import android.view.ActionMode;
import android.view.Menu;
@@ -90,8 +89,6 @@
private final Folder mFolder;
private AccountObserver mAccountObserver;
- /** True if this device is narrow. */
- private final boolean mMoveToInOverflow;
public SelectedConversationsActionMenu(
ControllableActivity activity, ConversationSelectionSet selectionSet, Folder folder) {
@@ -106,9 +103,6 @@
};
mAccount = mAccountObserver.initialize(activity.getAccountController());
mFolder = folder;
- final Resources r = activity.getActivityContext().getResources();
- // If the device is narrow, "move to" should be in the overflow menu.
- mMoveToInOverflow = r.getBoolean(R.bool.is_narrow);
mContext = mActivity.getActivityContext();
mUpdater = activity.getConversationUpdater();
FolderSelectionDialog.setDialogDismissed();
@@ -395,12 +389,6 @@
&& mFolder.supportsCapability(FolderCapabilities.ALLOWS_REMOVE_CONVERSATION);
removeFolder.setVisible(showRemoveFolder);
moveTo.setVisible(showMoveTo);
- if (showMoveTo) {
- // Hide the "move to" on narrow devices so that the selected count can be shown.
- final int showWhen = mMoveToInOverflow ? MenuItem.SHOW_AS_ACTION_IF_ROOM
- : MenuItem.SHOW_AS_ACTION_ALWAYS;
- moveTo.setShowAsAction(showWhen);
- }
if (mFolder != null && showRemoveFolder) {
removeFolder.setTitle(mActivity.getActivityContext().getString(R.string.remove_folder,
mFolder.name));
@@ -461,7 +449,8 @@
discardDrafts.setVisible(showDiscardDrafts);
}
- MailActionBarView.reorderMenu(mContext, mAccount, menu);
+ MailActionBarView.reorderMenu(mContext, mAccount, menu,
+ mContext.getResources().getInteger(R.integer.actionbar_max_items));
return true;
}
diff --git a/src/com/android/mail/ui/MailActionBarView.java b/src/com/android/mail/ui/MailActionBarView.java
index 3b5c27d..637c03b 100644
--- a/src/com/android/mail/ui/MailActionBarView.java
+++ b/src/com/android/mail/ui/MailActionBarView.java
@@ -35,6 +35,7 @@
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;
@@ -268,7 +269,7 @@
// 4: SEARCH_RESULTS_LIST
R.menu.conversation_list_search_results_actions,
// 5: SEARCH_RESULTS_CONVERSATION
- R.menu.conversation_search_results_actions,
+ R.menu.conversation_actions,
// 6: WAITING_FOR_ACCOUNT_INITIALIZATION
R.menu.wait_mode_actions
};
@@ -428,8 +429,15 @@
// 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 order here
- reorderMenu(getContext(), mAccount, 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);
break;
case ViewMode.CONVERSATION_LIST:
// Show compose and search based on the account
@@ -451,7 +459,8 @@
* 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) {
+ 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) ||
@@ -459,7 +468,7 @@
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 move to the overflow
+ // 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++) {
@@ -475,34 +484,77 @@
}
}
+ int actionItems = 0;
+
for (int i = 0; i < menu.size(); i++) {
final MenuItem menuItem = menu.getItem(i);
final int itemId = menuItem.getItemId();
- if (!showArchive && deleteVisibleEnabled) {
- if (itemId == R.id.archive || itemId == R.id.remove_folder) {
- menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
- }
- }
+ // We only want to promote it if it's visible and has an icon
+ if (menuItem.isVisible() && menuItem.getIcon() != null) {
+ switch (itemId) {
+ case R.id.archive:
+ case 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 && archiveVisibleEnabled) {
- if (itemId == R.id.delete || itemId == R.id.discard_drafts) {
- menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
- }
- }
+ if (showDelete) {
+ actionItems++;
+ }
- if (showArchive && archiveVisibleEnabled && showDelete && deleteVisibleEnabled) {
- if (itemId == R.id.move_to) {
- menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
- }
- }
+ break;
+ }
- // TODO(skennedy) Refactor the above into this switch
- switch (itemId) {
- case R.id.change_folder:
- menuItem.setVisible(account
- .supportsCapability(AccountCapabilities.MULTIPLE_FOLDERS_PER_CONV));
- break;
+ /*
+ * 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++;
+ }
+ break;
+ case R.id.delete:
+ case 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++;
+ }
+ break;
+ case R.id.change_folder:
+ 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++;
+ }
+ break;
+ case R.id.search:
+ menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS
+ | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
+ actionItems++;
+ break;
+ default:
+ if (actionItems < maxItems) {
+ menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
+ actionItems++;
+ }
+ break;
+ }
}
}
}