am 9f41e7d8: am e3d55cfb: am f19dda97: Disables the delete menu option on "insert or edit" actions
* commit '9f41e7d8686f1ce7600f956ecf719be410bd3e45':
Disables the delete menu option on "insert or edit" actions
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index f112847..ed2520d 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -125,6 +125,7 @@
private static final String KEY_STATUS = "status";
private static final String KEY_NEW_LOCAL_PROFILE = "newLocalProfile";
private static final String KEY_IS_USER_PROFILE = "isUserProfile";
+ private static final String KEY_DISABLE_DELETE_MENU_OPTION = "disableDeleteMenuOption";
private static final String KEY_UPDATED_PHOTOS = "updatedPhotos";
private static final String KEY_IS_EDIT = "isEdit";
private static final String KEY_HAS_NEW_CONTACT = "hasNewContact";
@@ -146,6 +147,9 @@
public static final String INTENT_EXTRA_NEW_LOCAL_PROFILE = "newLocalProfile";
+ public static final String INTENT_EXTRA_DISABLE_DELETE_MENU_OPTION =
+ "disableDeleteMenuOption";
+
/**
* Modes that specify what the AsyncTask has to perform after saving
*/
@@ -339,6 +343,7 @@
private boolean mRequestFocus;
private boolean mNewLocalProfile = false;
private boolean mIsUserProfile = false;
+ private boolean mDisableDeleteMenuOption = false;
public ContactEditorFragment() {
}
@@ -471,6 +476,8 @@
&& mIntentExtras.containsKey(INTENT_EXTRA_ADD_TO_DEFAULT_DIRECTORY);
mNewLocalProfile = mIntentExtras != null
&& mIntentExtras.getBoolean(INTENT_EXTRA_NEW_LOCAL_PROFILE);
+ mDisableDeleteMenuOption = mIntentExtras != null
+ && mIntentExtras.getBoolean(INTENT_EXTRA_DISABLE_DELETE_MENU_OPTION);
}
public void setListener(Listener value) {
@@ -504,6 +511,7 @@
mEnabled = savedState.getBoolean(KEY_ENABLED);
mStatus = savedState.getInt(KEY_STATUS);
mNewLocalProfile = savedState.getBoolean(KEY_NEW_LOCAL_PROFILE);
+ mDisableDeleteMenuOption = savedState.getBoolean(KEY_DISABLE_DELETE_MENU_OPTION);
mIsUserProfile = savedState.getBoolean(KEY_IS_USER_PROFILE);
mUpdatedPhotos = savedState.getParcelable(KEY_UPDATED_PHOTOS);
mIsEdit = savedState.getBoolean(KEY_IS_EDIT);
@@ -1072,6 +1080,7 @@
splitMenu.setVisible(mState.size() > 1 && !isEditingUserProfile());
// Cannot join a user profile
joinMenu.setVisible(!isEditingUserProfile());
+ deleteMenu.setVisible(!mDisableDeleteMenuOption);
} else {
// something else, so don't show the help menu
helpMenu.setVisible(false);
@@ -1767,6 +1776,7 @@
outState.putLong(KEY_SHOW_JOIN_SUGGESTIONS, mAggregationSuggestionsRawContactId);
outState.putBoolean(KEY_ENABLED, mEnabled);
outState.putBoolean(KEY_NEW_LOCAL_PROFILE, mNewLocalProfile);
+ outState.putBoolean(KEY_DISABLE_DELETE_MENU_OPTION, mDisableDeleteMenuOption);
outState.putBoolean(KEY_IS_USER_PROFILE, mIsUserProfile);
outState.putInt(KEY_STATUS, mStatus);
outState.putParcelable(KEY_UPDATED_PHOTOS, mUpdatedPhotos);
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index d7c0c45..eda9a91 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -125,6 +125,7 @@
import com.android.contacts.common.util.MaterialColorMapUtils.MaterialPalette;
import com.android.contacts.common.util.ViewUtil;
import com.android.contacts.detail.ContactDisplayUtils;
+import com.android.contacts.editor.ContactEditorFragment;
import com.android.contacts.interactions.CalendarInteractionsLoader;
import com.android.contacts.interactions.CallLogInteractionsLoader;
import com.android.contacts.interactions.ContactDeletionInteraction;
@@ -141,7 +142,6 @@
import com.android.contacts.widget.MultiShrinkScroller;
import com.android.contacts.widget.MultiShrinkScroller.MultiShrinkScrollerListener;
import com.android.contacts.widget.QuickContactImageView;
-
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
@@ -771,6 +771,10 @@
}
private void processIntent(Intent intent) {
+ if (intent == null) {
+ finish();
+ return;
+ }
Uri lookupUri = intent.getData();
// Check to see whether it comes from the old version.
@@ -2162,6 +2166,11 @@
mContactData.getRawContacts().get(0).getDataSet());
}
+ // Add this flag to disable the delete menu option on directory contact joins
+ // with local contacts. The delete option is ambiguous when joining contacts.
+ intent.putExtra(ContactEditorFragment.INTENT_EXTRA_DISABLE_DELETE_MENU_OPTION,
+ true);
+
startActivityForResult(intent, REQUEST_CODE_CONTACT_SELECTION_ACTIVITY);
} else if (InvisibleContactUtil.isInvisibleAndAddable(mContactData, this)) {
InvisibleContactUtil.addToDefaultGroup(mContactData, this);