Removing the menu option to create a new contact in the editor
Bug: 3224187
Change-Id: I16e7ff91483b7ad78597c60682c9190e97fdf1fa
diff --git a/res/menu/edit.xml b/res/menu/edit.xml
index 379908b..9eefa6b 100644
--- a/res/menu/edit.xml
+++ b/res/menu/edit.xml
@@ -30,11 +30,6 @@
android:showAsAction="always" />
<item
- android:id="@+id/menu_add_raw_contact"
- android:icon="@drawable/ic_menu_add_contact_holo_light"
- android:title="@string/menu_newContact" />
-
- <item
android:id="@+id/menu_delete"
android:icon="@drawable/ic_menu_trash_holo_light"
android:title="@string/menu_deleteContact" />
diff --git a/src/com/android/contacts/views/detail/ContactDetailFragment.java b/src/com/android/contacts/views/detail/ContactDetailFragment.java
index 9fdb59e..1e9998f 100644
--- a/src/com/android/contacts/views/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/views/detail/ContactDetailFragment.java
@@ -1078,7 +1078,7 @@
return; // Don't show a dialog.
}
- final SelectAccountDialogFragment dialog = new SelectAccountDialogFragment(true);
+ final SelectAccountDialogFragment dialog = new SelectAccountDialogFragment();
dialog.setTargetFragment(this, 0);
dialog.show(getFragmentManager(), SelectAccountDialogFragment.TAG);
break;
@@ -1091,7 +1091,7 @@
}
@Override
- public void onAccountChosen(Account account, boolean isNewContact) {
+ public void onAccountChosen(Account account) {
createCopy(account);
}
diff --git a/src/com/android/contacts/views/editor/ContactEditorFragment.java b/src/com/android/contacts/views/editor/ContactEditorFragment.java
index 4bdd22c..732f982 100644
--- a/src/com/android/contacts/views/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/views/editor/ContactEditorFragment.java
@@ -286,10 +286,11 @@
if (account != null) {
// Account specified in Intent
- createContact(account, true);
+ createContact(account);
} else {
// No Account specified. Let the user choose
- doAddAction(true);
+ // Load Accounts async so that we can present them
+ selectAccountAndCreateContact();
}
} else throw new IllegalArgumentException("Unknown Action String " + mAction +
". Only support " + Intent.ACTION_EDIT + " or " + Intent.ACTION_INSERT);
@@ -392,22 +393,22 @@
}
}
- private void selectAccountAndCreateContact(boolean isNewContact) {
+ private void selectAccountAndCreateContact() {
final ArrayList<Account> accounts = AccountTypes.getInstance(mContext).getAccounts(true);
// No Accounts available. Create a phone-local contact.
if (accounts.isEmpty()) {
- createContact(null, isNewContact);
+ createContact(null);
return; // Don't show a dialog.
}
// In the common case of a single account being writable, auto-select
// it without showing a dialog.
if (accounts.size() == 1) {
- createContact(accounts.get(0), isNewContact);
+ createContact(accounts.get(0));
return; // Don't show a dialog.
}
- final SelectAccountDialogFragment dialog = new SelectAccountDialogFragment(isNewContact);
+ final SelectAccountDialogFragment dialog = new SelectAccountDialogFragment();
dialog.setTargetFragment(this, 0);
dialog.show(getFragmentManager(), SelectAccountDialogFragment.TAG);
}
@@ -415,9 +416,8 @@
/**
* @param account may be null to signal a device-local contact should
* be created.
- * @param prefillFromIntent If this is set, the intent extras will be used to prefill the fields
*/
- private void createContact(Account account, boolean prefillFromIntent) {
+ private void createContact(Account account) {
final AccountTypes sources = AccountTypes.getInstance(mContext);
final ContentValues values = new ContentValues();
if (account != null) {
@@ -433,8 +433,7 @@
final AccountType source = sources.getInflatedSource(
account != null ? account.type : null,
AccountType.LEVEL_CONSTRAINTS);
- EntityModifier.parseExtras(mContext, source, insert,
- prefillFromIntent ? mIntentExtras : null);
+ EntityModifier.parseExtras(mContext, source, insert, mIntentExtras);
// Ensure we have some default fields (if the source does not supper a field,
// ensureKind will not add it, so it is safe to add e.g. Event)
@@ -557,8 +556,6 @@
return doSaveAction(SaveMode.CLOSE);
case R.id.menu_discard:
return doRevertAction();
- case R.id.menu_add_raw_contact:
- return doAddAction(false);
case R.id.menu_delete:
return doDeleteAction();
case R.id.menu_split:
@@ -569,13 +566,6 @@
return false;
}
- private boolean doAddAction(boolean isNewContact) {
- // Load Accounts async so that we can present them
- selectAccountAndCreateContact(isNewContact);
-
- return true;
- }
-
/**
* Delete the entire contact currently being edited, which usually asks for
* user confirmation before continuing.
@@ -1728,8 +1718,8 @@
* Account was chosen in the selector. Create a RawContact for this account now
*/
@Override
- public void onAccountChosen(Account account, boolean isNewContact) {
- createContact(account, isNewContact);
+ public void onAccountChosen(Account account) {
+ createContact(account);
}
/**
diff --git a/src/com/android/contacts/views/editor/SelectAccountDialogFragment.java b/src/com/android/contacts/views/editor/SelectAccountDialogFragment.java
index 32e88d8..8130695 100644
--- a/src/com/android/contacts/views/editor/SelectAccountDialogFragment.java
+++ b/src/com/android/contacts/views/editor/SelectAccountDialogFragment.java
@@ -36,31 +36,10 @@
*/
public class SelectAccountDialogFragment extends DialogFragment {
public static final String TAG = "SelectAccountDialogFragment";
- private static final String IS_NEW_CONTACT = "IS_NEW_CONTACT";
-
- private boolean mIsNewContact;
public SelectAccountDialogFragment() {
}
- public SelectAccountDialogFragment(boolean isNewContact) {
- mIsNewContact = isNewContact;
- }
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- if (savedInstanceState != null) {
- mIsNewContact = savedInstanceState.getBoolean(IS_NEW_CONTACT);
- }
- }
-
- @Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- outState.putBoolean(IS_NEW_CONTACT, mIsNewContact);
- }
-
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
@@ -75,7 +54,7 @@
dialog.dismiss();
final Listener target = (Listener) getTargetFragment();
- target.onAccountChosen(accountAdapter.getItem(which), mIsNewContact);
+ target.onAccountChosen(accountAdapter.getItem(which));
}
};
@@ -93,7 +72,7 @@
}
public interface Listener {
- void onAccountChosen(Account account, boolean isNewContact);
+ void onAccountChosen(Account account);
void onAccountSelectorCancelled();
}
}