Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cdbcd88e authored by Walter Jang's avatar Walter Jang
Browse files

Add a menu item to add new groups

Bug 18641067

Change-Id: I458f72a86cf02c0ed564c799dcf1a22880a429ba
parent 262a237f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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>
+11 −6
Original line number Diff line number Diff line
@@ -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
+8 −0
Original line number Diff line number Diff line
@@ -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;

/**
@@ -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);