Loading res/values/ids.xml +2 −2 Original line number Diff line number Diff line Loading @@ -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> src/com/android/contacts/activities/PeopleActivity.java +11 −6 Original line number Diff line number Diff line Loading @@ -914,22 +914,27 @@ public class PeopleActivity extends AppCompatContactsActivity implements @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 Loading src/com/android/contacts/group/GroupUtil.java +8 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.provider.ContactsContract.Groups; import com.android.contacts.GroupListLoader; import com.android.contacts.activities.GroupDetailActivity; import com.android.contacts.activities.GroupEditorActivity; import com.google.common.base.Objects; /** Loading Loading @@ -68,6 +69,13 @@ public final class GroupUtil { 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); Loading Loading
res/values/ids.xml +2 −2 Original line number Diff line number Diff line Loading @@ -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>
src/com/android/contacts/activities/PeopleActivity.java +11 −6 Original line number Diff line number Diff line Loading @@ -914,22 +914,27 @@ public class PeopleActivity extends AppCompatContactsActivity implements @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 Loading
src/com/android/contacts/group/GroupUtil.java +8 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import android.provider.ContactsContract.Groups; import com.android.contacts.GroupListLoader; import com.android.contacts.activities.GroupDetailActivity; import com.android.contacts.activities.GroupEditorActivity; import com.google.common.base.Objects; /** Loading Loading @@ -68,6 +69,13 @@ public final class GroupUtil { 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); Loading