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);