Move add group dialogs to base drawer activity
Bug 29537664
Change-Id: I678a5a7dbcb28eb5860fdb90f43d0b440af684e8
diff --git a/src/com/android/contacts/ContactsDrawerActivity.java b/src/com/android/contacts/ContactsDrawerActivity.java
index 7dcd356..4254a64 100644
--- a/src/com/android/contacts/ContactsDrawerActivity.java
+++ b/src/com/android/contacts/ContactsDrawerActivity.java
@@ -16,12 +16,15 @@
package com.android.contacts;
+import android.accounts.Account;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.PorterDuff;
+import android.net.Uri;
import android.os.Bundle;
+import android.provider.ContactsContract.Intents;
import android.support.annotation.LayoutRes;
import android.support.design.widget.NavigationView;
import android.support.v4.content.ContextCompat;
@@ -37,18 +40,25 @@
import android.view.SubMenu;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Toast;
+import com.android.contacts.activities.GroupMembersActivity;
import com.android.contacts.common.ContactsUtils;
import com.android.contacts.common.compat.CompatUtils;
+import com.android.contacts.common.editor.SelectAccountDialogFragment;
import com.android.contacts.common.list.ContactListFilter;
import com.android.contacts.common.list.ContactListFilterController;
+import com.android.contacts.common.model.AccountTypeManager;
+import com.android.contacts.common.model.account.AccountWithDataSet;
import com.android.contacts.common.preference.ContactsPreferenceActivity;
import com.android.contacts.common.util.AccountFilterUtil;
+import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter;
import com.android.contacts.common.util.ImplicitIntentsUtil;
import com.android.contacts.common.util.ViewUtil;
import com.android.contacts.editor.ContactEditorFragment;
import com.android.contacts.group.GroupListItem;
import com.android.contacts.group.GroupMetadata;
+import com.android.contacts.group.GroupNameEditDialogFragment;
import com.android.contacts.group.GroupUtil;
import com.android.contacts.group.GroupsFragment;
import com.android.contacts.group.GroupsFragment.GroupsListener;
@@ -70,12 +80,20 @@
public abstract class ContactsDrawerActivity extends AppCompatContactsActivity implements
AccountFiltersListener,
GroupsListener,
- NavigationView.OnNavigationItemSelectedListener {
+ NavigationView.OnNavigationItemSelectedListener,
+ SelectAccountDialogFragment.Listener,
+ GroupNameEditDialogFragment.Listener {
protected static String TAG = "ContactsDrawerActivity";
- protected static final String GROUPS_TAG = "groups";
- protected static final String FILTERS_TAG = "filters";
+ private static final String TAG_GROUPS = "groups";
+ private static final String TAG_FILTERS = "filters";
+ private static final String TAG_SELECT_ACCOUNT_DIALOG = "selectAccountDialog";
+ private static final String TAG_GROUP_NAME_EDIT_DIALOG = "groupNameEditDialog";
+
+ private static final String KEY_NEW_GROUP_ACCOUNT = "newGroupAccount";
+
+ protected static final String ACTION_CREATE_GROUP = "createGroup";
private class ContactsActionBarDrawerToggle extends ActionBarDrawerToggle {
@@ -132,6 +150,9 @@
protected Map<ContactListFilter, MenuItem> mFilterMenuMap = new HashMap<>();
protected Map<Integer, MenuItem> mIdMenuMap = new HashMap<>();
+ // The account the new group will be created under.
+ private AccountWithDataSet mNewGroupAccount;
+
@Override
protected void onCreate(Bundle savedState) {
super.onCreate(savedState);
@@ -182,6 +203,19 @@
mIdMenuMap.get(R.id.nav_find_duplicates).setCheckable(true);
mIdMenuMap.get(R.id.nav_find_duplicates).setChecked(true);
}
+
+ if (savedState != null && savedState.containsKey(KEY_NEW_GROUP_ACCOUNT)) {
+ mNewGroupAccount = AccountWithDataSet.unstringify(
+ savedState.getString(KEY_NEW_GROUP_ACCOUNT));
+ }
+ }
+
+ @Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ if (mNewGroupAccount != null) {
+ outState.putString(KEY_NEW_GROUP_ACCOUNT, mNewGroupAccount.stringify());
+ }
}
@Override
@@ -200,6 +234,22 @@
}
}
+ @Override
+ protected void onNewIntent(Intent newIntent) {
+ if (ACTION_CREATE_GROUP.equals(newIntent.getAction())) {
+ final Uri groupUri = newIntent.getData();
+ if (groupUri == null) {
+ Toast.makeText(this, R.string.groupSavedErrorToast, Toast.LENGTH_SHORT).show();
+ return;
+ }
+ if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "Received group URI " + groupUri);
+ Toast.makeText(this, R.string.groupCreatedToast, Toast.LENGTH_SHORT).show();
+ startActivity(GroupUtil.createViewGroupIntent(this, groupUri, /* title */ null));
+ } else {
+ super.onNewIntent(newIntent);
+ }
+ }
+
/**
* Returns true if child class is DuplicatesActivity
*/
@@ -227,18 +277,18 @@
protected void addGroupsAndFiltersFragments(FragmentTransaction transaction) {
final FragmentManager fragmentManager = getFragmentManager();
- mGroupsFragment = (GroupsFragment) fragmentManager.findFragmentByTag(GROUPS_TAG);
+ mGroupsFragment = (GroupsFragment) fragmentManager.findFragmentByTag(TAG_GROUPS);
mAccountFiltersFragment = (AccountFiltersFragment)
- fragmentManager.findFragmentByTag(FILTERS_TAG);
+ fragmentManager.findFragmentByTag(TAG_FILTERS);
if (mGroupsFragment == null && ContactsUtils.areGroupWritableAccountsAvailable(this)) {
mGroupsFragment = new GroupsFragment();
- transaction.add(mGroupsFragment, GROUPS_TAG);
+ transaction.add(mGroupsFragment, TAG_GROUPS);
}
if (mAccountFiltersFragment == null) {
mAccountFiltersFragment = new AccountFiltersFragment();
- transaction.add(mAccountFiltersFragment, FILTERS_TAG);
+ transaction.add(mAccountFiltersFragment, TAG_FILTERS);
}
if (ContactsUtils.areGroupWritableAccountsAvailable(this) && mGroupsFragment != null) {
@@ -335,8 +385,20 @@
}
}
- protected void onCreateGroupMenuItemClicked() {
- startActivity(GroupUtil.createAddGroupIntent(this));
+ private void onCreateGroupMenuItemClicked() {
+ // Select the account to create the group
+ final Bundle extras = getIntent().getExtras();
+ final Account account = extras == null ? null :
+ (Account) extras.getParcelable(Intents.Insert.EXTRA_ACCOUNT);
+ if (account == null) {
+ selectAccount();
+ } else {
+ final String dataSet = extras == null
+ ? null : extras.getString(Intents.Insert.EXTRA_DATA_SET);
+ final AccountWithDataSet accountWithDataSet = new AccountWithDataSet(
+ account.name, account.type, dataSet);
+ onAccountChosen(accountWithDataSet, /* extraArgs */ null);
+ }
}
@Override
@@ -489,4 +551,49 @@
map.get(pair.getKey()).setChecked(false);
}
}
+
+ private void selectAccount() {
+ final List<AccountWithDataSet> accounts = AccountTypeManager.getInstance(this)
+ .getAccounts(/* writable */ true);
+ if (accounts.isEmpty()) {
+ // We shouldn't present the add group button if there are no writable accounts
+ // but check it since it's possible we are started with an Intent.
+ Toast.makeText(this, R.string.groupCreateFailedToast, Toast.LENGTH_SHORT).show();
+ return;
+ }
+ // If there is a single writable account, use it w/o showing a dialog.
+ if (accounts.size() == 1) {
+ onAccountChosen(accounts.get(0), /* extraArgs */ null);
+ return;
+ }
+ SelectAccountDialogFragment.show(getFragmentManager(), null,
+ R.string.dialog_new_group_account, AccountListFilter.ACCOUNTS_GROUP_WRITABLE,
+ /* extraArgs */ null, TAG_SELECT_ACCOUNT_DIALOG);
+ }
+
+ @Override
+ public void onAccountChosen(AccountWithDataSet account, Bundle extraArgs) {
+ mNewGroupAccount = account;
+ GroupNameEditDialogFragment.showInsertDialog(
+ getFragmentManager(), TAG_GROUP_NAME_EDIT_DIALOG);
+ }
+
+ @Override
+ public void onAccountSelectorCancelled() {
+ }
+
+ @Override
+ public void onGroupNameEdit(String groupName, boolean isInsert) {
+ if (mNewGroupAccount == null) {
+ Toast.makeText(this, R.string.groupCreateFailedToast, Toast.LENGTH_SHORT).show();
+ return;
+ }
+ startService(ContactSaveService.createNewGroupIntent(this,
+ mNewGroupAccount, groupName, /* rawContactsToAdd */ null, getClass(),
+ ACTION_CREATE_GROUP));
+ }
+
+ @Override
+ public void onGroupNameEditCancelled() {
+ }
}
diff --git a/src/com/android/contacts/activities/GroupMembersActivity.java b/src/com/android/contacts/activities/GroupMembersActivity.java
index a525460..b75295d 100644
--- a/src/com/android/contacts/activities/GroupMembersActivity.java
+++ b/src/com/android/contacts/activities/GroupMembersActivity.java
@@ -15,7 +15,6 @@
*/
package com.android.contacts.activities;
-import android.accounts.Account;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
@@ -25,7 +24,6 @@
import android.os.AsyncTask;
import android.os.Bundle;
import android.provider.ContactsContract;
-import android.provider.ContactsContract.Intents;
import android.provider.ContactsContract.RawContacts;
import android.support.v4.view.GravityCompat;
import android.support.v7.app.ActionBar;
@@ -37,13 +35,9 @@
import com.android.contacts.ContactSaveService;
import com.android.contacts.ContactsDrawerActivity;
import com.android.contacts.R;
-import com.android.contacts.common.editor.SelectAccountDialogFragment;
import com.android.contacts.common.logging.ListEvent;
import com.android.contacts.common.logging.Logger;
import com.android.contacts.common.logging.ScreenEvent.ScreenType;
-import com.android.contacts.common.model.AccountTypeManager;
-import com.android.contacts.common.model.account.AccountWithDataSet;
-import com.android.contacts.common.util.AccountsListAdapter.AccountListFilter;
import com.android.contacts.common.util.ImplicitIntentsUtil;
import com.android.contacts.group.GroupMembersFragment;
import com.android.contacts.group.GroupMetadata;
@@ -55,31 +49,25 @@
import com.android.contacts.list.UiIntentActions;
import com.android.contacts.quickcontact.QuickContactActivity;
-import java.util.List;
-
/**
* Displays the members of a group and allows the user to edit it.
*/
public class GroupMembersActivity extends ContactsDrawerActivity implements
ActionBarAdapter.Listener,
MultiSelectContactsListFragment.OnCheckBoxListActionListener,
- SelectAccountDialogFragment.Listener,
GroupMembersFragment.GroupMembersListener,
GroupNameEditDialogFragment.Listener {
private static final String TAG = "GroupMembers";
- private static final String KEY_IS_INSERT_ACTION = "isInsertAction";
private static final String KEY_GROUP_URI = "groupUri";
private static final String KEY_GROUP_METADATA = "groupMetadata";
private static final String KEY_IS_EDIT_MODE = "editMode";
private static final String TAG_GROUP_MEMBERS = "groupMembers";
- private static final String TAG_SELECT_ACCOUNT_DIALOG = "selectAccountDialog";
private static final String TAG_GROUP_NAME_EDIT_DIALOG = "groupNameEditDialog";
private static final String ACTION_DELETE_GROUP = "deleteGroup";
- private static final String ACTION_CREATE_GROUP = "createGroup";
private static final String ACTION_UPDATE_GROUP = "updateGroup";
private static final String ACTION_ADD_TO_GROUP = "addToGroup";
private static final String ACTION_REMOVE_FROM_GROUP = "removeFromGroup";
@@ -184,7 +172,6 @@
private GroupMembersFragment mMembersFragment;
private Uri mGroupUri;
- private boolean mIsInsertAction;
private boolean mIsEditMode;
private GroupMetadata mGroupMetadata;
@@ -196,14 +183,12 @@
// Parse the Intent
if (savedState != null) {
mGroupUri = savedState.getParcelable(KEY_GROUP_URI);
- mIsInsertAction = savedState.getBoolean(KEY_IS_INSERT_ACTION);
mIsEditMode = savedState.getBoolean(KEY_IS_EDIT_MODE);
mGroupMetadata = savedState.getParcelable(KEY_GROUP_METADATA);
} else {
mGroupUri = getIntent().getData();
- mIsInsertAction = Intent.ACTION_INSERT.equals(getIntent().getAction());
}
- if (!mIsInsertAction && mGroupUri == null) {
+ if (mGroupUri == null) {
setResultCanceledAndFinish(R.string.groupLoadErrorToast);
return;
}
@@ -221,42 +206,18 @@
// be changed to group name when onGroupMetadataLoaded() is called.
setActionBarTitle(getIntent().getStringExtra(GroupUtil.EXTRA_GROUP_NAME));
- // Decide whether to prompt for the account and group name or start loading existing members
- if (mIsInsertAction) {
- // Check if we are in the middle of the insert flow.
- if (!isSelectAccountDialogFound() && !isGroupNameEditDialogFound()) {
-
- // Create metadata to hold the account info
- mGroupMetadata = new GroupMetadata();
-
- // Select the account to create the group
- final Bundle extras = getIntent().getExtras();
- final Account account = extras == null ? null :
- (Account) extras.getParcelable(Intents.Insert.EXTRA_ACCOUNT);
- if (account == null) {
- selectAccount();
- } else {
- final String dataSet = extras == null
- ? null : extras.getString(Intents.Insert.EXTRA_DATA_SET);
- final AccountWithDataSet accountWithDataSet = new AccountWithDataSet(
- account.name, account.type, dataSet);
- onAccountChosen(accountWithDataSet, /* extraArgs */ null);
- }
- }
- } else {
- final FragmentManager fragmentManager = getFragmentManager();
- // Add the members list fragment
- mMembersFragment = (GroupMembersFragment)
- fragmentManager.findFragmentByTag(TAG_GROUP_MEMBERS);
- if (mMembersFragment == null) {
- mMembersFragment = GroupMembersFragment.newInstance(getIntent().getData());
- fragmentManager.beginTransaction().replace(R.id.fragment_container_inner,
- mMembersFragment, TAG_GROUP_MEMBERS).commitAllowingStateLoss();
- }
- mMembersFragment.setListener(this);
- if (mGroupMetadata != null && mGroupMetadata.editable) {
- mMembersFragment.setCheckBoxListListener(this);
- }
+ // Add the members list fragment
+ final FragmentManager fragmentManager = getFragmentManager();
+ mMembersFragment = (GroupMembersFragment)
+ fragmentManager.findFragmentByTag(TAG_GROUP_MEMBERS);
+ if (mMembersFragment == null) {
+ mMembersFragment = GroupMembersFragment.newInstance(getIntent().getData());
+ fragmentManager.beginTransaction().replace(R.id.fragment_container_inner,
+ mMembersFragment, TAG_GROUP_MEMBERS).commitAllowingStateLoss();
+ }
+ mMembersFragment.setListener(this);
+ if (mGroupMetadata != null && mGroupMetadata.editable) {
+ mMembersFragment.setCheckBoxListListener(this);
}
// Delay action bar initialization until after the fragment is added
@@ -272,33 +233,17 @@
mActionBarAdapter.onSaveInstanceState(outState);
}
outState.putParcelable(KEY_GROUP_URI, mGroupUri);
- outState.putBoolean(KEY_IS_INSERT_ACTION, mIsInsertAction);
outState.putBoolean(KEY_IS_EDIT_MODE, mIsEditMode);
outState.putParcelable(KEY_GROUP_METADATA, mGroupMetadata);
}
- private void selectAccount() {
- final List<AccountWithDataSet> accounts = AccountTypeManager.getInstance(this)
- .getAccounts(/* writable */ true);
- if (accounts.isEmpty()) {
- setResultCanceledAndFinish();
- return;
- }
- // If there is a single writable account, use it w/o showing a dialog.
- if (accounts.size() == 1) {
- onAccountChosen(accounts.get(0), /* extraArgs */ null);
- return;
- }
- SelectAccountDialogFragment.show(getFragmentManager(), null,
- R.string.dialog_new_group_account, AccountListFilter.ACCOUNTS_GROUP_WRITABLE,
- /* extraArgs */ null, TAG_SELECT_ACCOUNT_DIALOG);
- }
-
// Invoked with results from the ContactSaveService
@Override
protected void onNewIntent(Intent newIntent) {
- super.onNewIntent(newIntent);
-
+ if (ContactsDrawerActivity.ACTION_CREATE_GROUP.equals(newIntent.getAction())) {
+ super.onNewIntent(newIntent);
+ return;
+ }
if (isDeleteAction(newIntent.getAction())) {
toast(R.string.groupDeletedToast);
setResult(RESULT_OK);
@@ -312,7 +257,6 @@
if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "Received group URI " + groupUri);
mGroupUri = groupUri;
- mIsInsertAction = false;
toast(getToastMessageForSaveAction(newIntent.getAction()));
@@ -330,14 +274,12 @@
}
private static boolean isSaveAction(String action) {
- return ACTION_CREATE_GROUP.equals(action)
- || ACTION_UPDATE_GROUP.equals(action)
+ return ACTION_UPDATE_GROUP.equals(action)
|| ACTION_ADD_TO_GROUP.equals(action)
|| ACTION_REMOVE_FROM_GROUP.equals(action);
}
private static int getToastMessageForSaveAction(String action) {
- if (ACTION_CREATE_GROUP.equals(action)) return R.string.groupCreatedToast;
if (ACTION_UPDATE_GROUP.equals(action)) return R.string.groupUpdatedToast;
if (ACTION_ADD_TO_GROUP.equals(action)) return R.string.groupMembersAddedToast;
if (ACTION_REMOVE_FROM_GROUP.equals(action)) return R.string.groupMembersRemovedToast;
@@ -497,8 +439,6 @@
}
if (mDrawer.isDrawerOpen(GravityCompat.START)) {
mDrawer.closeDrawer(GravityCompat.START);
- } else if (mIsInsertAction) {
- finish();
} else if (mIsEditMode) {
mIsEditMode = false;
mActionBarAdapter.setSelectionMode(false);
@@ -537,18 +477,6 @@
}
}
- private boolean isSelectAccountDialogFound() {
- return getFragmentManager().findFragmentByTag(TAG_SELECT_ACCOUNT_DIALOG) != null;
- }
-
- private boolean isGroupNameEditDialogFound() {
- return getFragmentManager().findFragmentByTag(TAG_GROUP_NAME_EDIT_DIALOG) != null;
- }
-
- private void setResultCanceledAndFinish() {
- setResultCanceledAndFinish(-1);
- }
-
private void setResultCanceledAndFinish(int resId) {
toast(resId);
setResult(RESULT_CANCELED);
@@ -561,20 +489,6 @@
}
}
- // SelectAccountDialogFragment.Listener callbacks
-
- @Override
- public void onAccountChosen(AccountWithDataSet account, Bundle extraArgs) {
- mGroupMetadata.setGroupAccountMetadata(account);
- GroupNameEditDialogFragment.showInsertDialog(
- getFragmentManager(), TAG_GROUP_NAME_EDIT_DIALOG);
- }
-
- @Override
- public void onAccountSelectorCancelled() {
- setResultCanceledAndFinish();
- }
-
// ActionBarAdapter callbacks
@Override
@@ -642,26 +556,18 @@
// GroupNameEditDialogFragment.Listener callbacks
@Override
- public void onGroupNameEdit(String groupName) {
- final Intent saveIntent;
- if (mIsInsertAction) {
- saveIntent = ContactSaveService.createNewGroupIntent(this,
- mGroupMetadata.createAccountWithDataSet(), groupName,
- /* rawContactsToAdd */ null, GroupMembersActivity.class,
- ACTION_CREATE_GROUP);
- } else {
- saveIntent = ContactSaveService.createGroupRenameIntent(this,
- mGroupMetadata.groupId, groupName, GroupMembersActivity.class,
- ACTION_UPDATE_GROUP);
+ public void onGroupNameEdit(String groupName, boolean isInsert) {
+ if (isInsert) {
+ super.onGroupNameEdit(groupName, isInsert);
+ return;
}
- startService(saveIntent);
+ startService(ContactSaveService.createGroupRenameIntent(this,
+ mGroupMetadata.groupId, groupName, GroupMembersActivity.class,
+ ACTION_UPDATE_GROUP));
}
@Override
public void onGroupNameEditCancelled() {
- if (mIsInsertAction) {
- setResultCanceledAndFinish();
- }
}
// GroupMembersFragment callbacks
@@ -669,12 +575,8 @@
@Override
public void onGroupMetadataLoaded(GroupMetadata groupMetadata) {
mGroupMetadata = groupMetadata;
-
updateGroupMenu(mGroupMetadata);
-
- if (!mIsInsertAction) {
- setActionBarTitle(mGroupMetadata.groupName);
- }
+ setActionBarTitle(mGroupMetadata.groupName);
invalidateOptionsMenu();
}
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 681c8bf..bde88f3 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -237,6 +237,11 @@
@Override
protected void onNewIntent(Intent intent) {
+ if (ContactsDrawerActivity.ACTION_CREATE_GROUP.equals(intent.getAction())) {
+ super.onNewIntent(intent);
+ return;
+ }
+
setIntent(intent);
if (!processIntent(true)) {
finish();
diff --git a/src/com/android/contacts/group/GroupMetadata.java b/src/com/android/contacts/group/GroupMetadata.java
index 712500a..f3dfec24 100644
--- a/src/com/android/contacts/group/GroupMetadata.java
+++ b/src/com/android/contacts/group/GroupMetadata.java
@@ -85,16 +85,6 @@
&& groupId > 0;
}
- public AccountWithDataSet createAccountWithDataSet() {
- return new AccountWithDataSet(accountName, accountType, dataSet);
- }
-
- public void setGroupAccountMetadata(AccountWithDataSet account) {
- accountName = account.name;
- accountType = account.type;
- dataSet = account.dataSet;
- }
-
@Override
public int describeContents() {
return 0;
diff --git a/src/com/android/contacts/group/GroupNameEditDialogFragment.java b/src/com/android/contacts/group/GroupNameEditDialogFragment.java
index f5cfa14..d3c518e 100644
--- a/src/com/android/contacts/group/GroupNameEditDialogFragment.java
+++ b/src/com/android/contacts/group/GroupNameEditDialogFragment.java
@@ -46,7 +46,7 @@
/** Callbacks for hosts of the {@link GroupNameEditDialogFragment}. */
public interface Listener {
- void onGroupNameEdit(String groupName);
+ void onGroupNameEdit(String groupName, boolean isInsert);
void onGroupNameEditCancelled();
}
@@ -105,7 +105,7 @@
.setPositiveButton(android.R.string.ok, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- getListener().onGroupNameEdit(getGroupName());
+ getListener().onGroupNameEdit(getGroupName(), mIsInsert);
}
});
diff --git a/src/com/android/contacts/group/GroupUtil.java b/src/com/android/contacts/group/GroupUtil.java
index ca64411..f0f5c09 100644
--- a/src/com/android/contacts/group/GroupUtil.java
+++ b/src/com/android/contacts/group/GroupUtil.java
@@ -114,20 +114,19 @@
}
}
- /** Returns an Intent to create a new group. */
- public static Intent createAddGroupIntent(Context context) {
+ /** Returns an Intent to view the details of the group identified by the given URI. */
+ public static Intent createViewGroupIntent(Context context, Uri groupUri, String title) {
final Intent intent = new Intent(context, GroupMembersActivity.class);
- intent.setAction(Intent.ACTION_INSERT);
+ intent.setAction(Intent.ACTION_VIEW);
+ intent.setData(groupUri);
+ intent.putExtra(EXTRA_GROUP_NAME, title);
return intent;
}
/** Returns an Intent to view the details of the group identified by the given ID. */
public static Intent createViewGroupIntent(Context context, long groupId, String title) {
- final Intent intent = new Intent(context, GroupMembersActivity.class);
- intent.setAction(Intent.ACTION_VIEW);
- intent.setData(ContentUris.withAppendedId(Groups.CONTENT_URI, groupId));
- intent.putExtra(EXTRA_GROUP_NAME, title);
- return intent;
+ return createViewGroupIntent(context,
+ ContentUris.withAppendedId(Groups.CONTENT_URI, groupId), title);
}
/**