Merge "Deprecating ConfirmAddDetail dialog to use full contact editor."
diff --git a/src/com/android/contacts/activities/ContactSelectionActivity.java b/src/com/android/contacts/activities/ContactSelectionActivity.java
index 33c3f38..4235fe0 100644
--- a/src/com/android/contacts/activities/ContactSelectionActivity.java
+++ b/src/com/android/contacts/activities/ContactSelectionActivity.java
@@ -16,7 +16,6 @@
package com.android.contacts.activities;
-import android.app.Activity;
import android.app.Fragment;
import android.content.ActivityNotFoundException;
import android.content.Context;
@@ -46,7 +45,6 @@
import com.android.contacts.R;
import com.android.contacts.common.activity.RequestPermissionsActivity;
import com.android.contacts.common.list.ContactEntryListFragment;
-import com.android.contacts.common.util.ImplicitIntentsUtil;
import com.android.contacts.editor.EditorIntents;
import com.android.contacts.list.ContactPickerFragment;
import com.android.contacts.list.ContactsIntentResolver;
@@ -62,7 +60,6 @@
import com.android.contacts.list.OnPostalAddressPickerActionListener;
import com.android.contacts.common.list.PhoneNumberPickerFragment;
import com.android.contacts.list.PostalAddressPickerFragment;
-import com.google.common.collect.Sets;
import java.util.Set;
@@ -75,8 +72,6 @@
OnCloseListener, OnFocusChangeListener {
private static final String TAG = "ContactSelectionActivity";
- private static final int SUBACTIVITY_ADD_TO_EXISTING_CONTACT = 0;
-
private static final String KEY_ACTION_CODE = "actionCode";
private static final String KEY_SEARCH_MODE = "searchMode";
private static final int DEFAULT_DIRECTORY_RESULT_LIMIT = 20;
@@ -406,29 +401,8 @@
@Override
public void onEditContactAction(Uri contactLookupUri) {
- Bundle extras = getIntent().getExtras();
- if (launchAddToContactDialog(extras)) {
- // Show a confirmation dialog to add the value(s) to the existing contact.
- Intent intent = new Intent(ContactSelectionActivity.this,
- ConfirmAddDetailActivity.class);
- intent.setData(contactLookupUri);
- if (extras != null) {
- // First remove name key if present because the dialog does not support name
- // editing. This is fine because the user wants to add information to an
- // existing contact, who should already have a name and we wouldn't want to
- // override the name.
- extras.remove(Insert.NAME);
- intent.putExtras(extras);
- }
-
- // Wait for the activity result because we want to keep the picker open (in case the
- // user cancels adding the info to a contact and wants to pick someone else).
- startActivityForResult(intent, SUBACTIVITY_ADD_TO_EXISTING_CONTACT);
- } else {
- // Otherwise launch the full contact editor.
- startActivityAndForwardResult(EditorIntents.createEditContactIntent(
- contactLookupUri, /* materialPalette =*/ null, /* photoId =*/ -1));
- }
+ startActivityAndForwardResult(EditorIntents.createEditContactIntent(
+ contactLookupUri, /* materialPalette =*/ null, /* photoId =*/ -1));
}
@Override
@@ -440,44 +414,6 @@
public void onShortcutIntentCreated(Intent intent) {
returnPickerResult(intent);
}
-
- /**
- * Returns true if is a single email or single phone number provided in the {@link Intent}
- * extras bundle so that a pop-up confirmation dialog can be used to add the data to
- * a contact. Otherwise return false if there are other intent extras that require launching
- * the full contact editor. Ignore extras with the key {@link Insert.NAME} because names
- * are a special case and we typically don't want to replace the name of an existing
- * contact.
- */
- private boolean launchAddToContactDialog(Bundle extras) {
- if (extras == null) {
- return false;
- }
-
- // Copy extras because the set may be modified in the next step
- Set<String> intentExtraKeys = Sets.newHashSet();
- intentExtraKeys.addAll(extras.keySet());
-
- // Ignore name key because this is an existing contact.
- if (intentExtraKeys.contains(Insert.NAME)) {
- intentExtraKeys.remove(Insert.NAME);
- }
-
- int numIntentExtraKeys = intentExtraKeys.size();
- if (numIntentExtraKeys == 2) {
- boolean hasPhone = intentExtraKeys.contains(Insert.PHONE) &&
- intentExtraKeys.contains(Insert.PHONE_TYPE);
- boolean hasEmail = intentExtraKeys.contains(Insert.EMAIL) &&
- intentExtraKeys.contains(Insert.EMAIL_TYPE);
- return hasPhone || hasEmail;
- } else if (numIntentExtraKeys == 1) {
- return intentExtraKeys.contains(Insert.PHONE) ||
- intentExtraKeys.contains(Insert.EMAIL);
- }
- // Having 0 or more than 2 intent extra keys means that we should launch
- // the full contact editor to properly handle the intent extras.
- return false;
- }
}
private final class PhoneNumberPickerActionListener implements
@@ -642,19 +578,6 @@
}
@Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- if (requestCode == SUBACTIVITY_ADD_TO_EXISTING_CONTACT) {
- if (resultCode == Activity.RESULT_OK) {
- if (data != null) {
- ImplicitIntentsUtil.startActivityInAppIfPossible(this, data);
- }
- finish();
- }
- }
- }
-
- @Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
diff --git a/src/com/android/contacts/editor/TextFieldsEditorView.java b/src/com/android/contacts/editor/TextFieldsEditorView.java
index 0ec71fb..91b52d8 100644
--- a/src/com/android/contacts/editor/TextFieldsEditorView.java
+++ b/src/com/android/contacts/editor/TextFieldsEditorView.java
@@ -231,7 +231,8 @@
int inputType = field.inputType;
fieldView.setInputType(inputType);
if (inputType == InputType.TYPE_CLASS_PHONE) {
- PhoneNumberFormatter.setPhoneNumberFormattingTextWatcher(getContext(), fieldView);
+ PhoneNumberFormatter.setPhoneNumberFormattingTextWatcher(
+ getContext(), fieldView, /* formatAfterWatcherSet =*/ true);
fieldView.setTextDirection(View.TEXT_DIRECTION_LTR);
}
fieldView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START);