Merge "Add a menu item to add new groups"
diff --git a/res/values/ids.xml b/res/values/ids.xml
index efc45fc..88a64c8 100644
--- a/res/values/ids.xml
+++ b/res/values/ids.xml
@@ -44,6 +44,6 @@
<!-- An ID to be used for contents of a custom dialog so that its state be preserved -->
<item type="id" name="custom_dialog_content" />
- <!-- Menu group ID for the contact groups -->
- <item type="id" name="menu_groups" />
+ <!-- Menu ID for the contact groups -->
+ <item type="id" name="nav_groups" />
</resources>
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index c3d3277..14637eb 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -914,22 +914,27 @@
@Override
public void onGroupsLoaded(List<GroupListItem> groupListItems) {
+ // Clear previously added groups
final Menu menu = mNavigationView.getMenu();
- menu.removeGroup(R.id.menu_groups);
+ menu.removeGroup(R.id.nav_groups);
+
if (groupListItems == null || groupListItems.isEmpty()) {
return;
}
+
+ // Add each group
for (GroupListItem groupListItem : groupListItems) {
- if (groupListItem.isFirstGroupInAccount()) {
- menu.addSubMenu(groupListItem.getAccountName());
- }
final String title = groupListItem.getMemberCount() == 0 ? groupListItem.getTitle()
: getString(R.string.group_name_menu_item, groupListItem.getTitle(),
groupListItem.getMemberCount());
- final MenuItem menuItem =
- menu.add(R.id.menu_groups, Menu.NONE, Menu.CATEGORY_SYSTEM, title);
+ final MenuItem menuItem = menu.add(R.id.nav_groups, Menu.NONE, Menu.NONE, title);
menuItem.setIntent(GroupUtil.createViewGroupIntent(this, groupListItem.getGroupId()));
}
+
+ // Create a menu item to add new groups
+ final MenuItem menuItem = menu.add(R.id.nav_groups, Menu.NONE, Menu.NONE,
+ getString(R.string.menu_new_group_action_bar));
+ menuItem.setIntent(GroupUtil.createAddGroupIntent(this));
}
@Override
diff --git a/src/com/android/contacts/group/GroupUtil.java b/src/com/android/contacts/group/GroupUtil.java
index f5b7db1..cca0741 100644
--- a/src/com/android/contacts/group/GroupUtil.java
+++ b/src/com/android/contacts/group/GroupUtil.java
@@ -25,6 +25,7 @@
import com.android.contacts.GroupListLoader;
import com.android.contacts.activities.GroupDetailActivity;
+import com.android.contacts.activities.GroupEditorActivity;
import com.google.common.base.Objects;
/**
@@ -68,6 +69,13 @@
isFirstGroupInAccount, memberCount);
}
+ /** Returns an Intent to create a new group. */
+ public static Intent createAddGroupIntent(Context context) {
+ final Intent intent = new Intent(context, GroupEditorActivity.class);
+ intent.setAction(Intent.ACTION_INSERT);
+ return intent;
+ }
+
/** Returns an Intent to view the details of the group identified by the given Uri. */
public static Intent createViewGroupIntent(Context context, long groupId) {
final Intent intent = new Intent(context, GroupDetailActivity.class);