Merge "Prefactor to remove un-used ContextMenuAdapter."
diff --git a/src/com/android/contacts/activities/ContactSelectionActivity.java b/src/com/android/contacts/activities/ContactSelectionActivity.java
index 407f972..b527f84 100644
--- a/src/com/android/contacts/activities/ContactSelectionActivity.java
+++ b/src/com/android/contacts/activities/ContactSelectionActivity.java
@@ -250,7 +250,7 @@
     }
 
     private void configureActivityTitle() {
-        if (mRequest.getActivityTitle() != null) {
+        if (!TextUtils.isEmpty(mRequest.getActivityTitle())) {
             setTitle(mRequest.getActivityTitle());
             return;
         }
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index 9ad21e8..927e429 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -323,7 +323,6 @@
             startActivity(redirect);
             return false;
         }
-        setTitle(mRequest.getActivityTitle());
         return true;
     }
 
diff --git a/src/com/android/contacts/detail/ContactDetailFragment.java b/src/com/android/contacts/detail/ContactDetailFragment.java
index 7701106..7240672 100644
--- a/src/com/android/contacts/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/detail/ContactDetailFragment.java
@@ -1866,6 +1866,11 @@
         menu.add(ContextMenu.NONE, ContextMenuIds.COPY_TEXT,
                 ContextMenu.NONE, getString(R.string.copy_text));
 
+        // Don't allow setting or clearing of defaults for directory contacts
+        if (mContactData.isDirectoryEntry()) {
+            return;
+        }
+
         String selectedMimeType = selectedEntry.mimetype;
 
         // Defaults to true will only enable the detail to be copied to the clipboard.
diff --git a/src/com/android/contacts/list/ContactBrowseListFragment.java b/src/com/android/contacts/list/ContactBrowseListFragment.java
index 8ea8c1c..45cee6b 100644
--- a/src/com/android/contacts/list/ContactBrowseListFragment.java
+++ b/src/com/android/contacts/list/ContactBrowseListFragment.java
@@ -493,8 +493,15 @@
                 mSelectionRequired = false;
 
                 // If we were looking at a different specific contact, just reload
+                // FILTER_TYPE_ALL_ACCOUNTS is needed for the case where a new contact is added
+                // on a tablet and the loader is returning a stale list.  In this case, the contact
+                // will not be found until the next load. b/7621855 This will only fix the most
+                // common case where all accounts are shown. It will not fix the one account case.
+                // TODO: we may want to add more FILTER_TYPEs or relax this check to fix all other
+                // FILTER_TYPE cases.
                 if (mFilter != null
-                        && mFilter.filterType == ContactListFilter.FILTER_TYPE_SINGLE_CONTACT) {
+                        && (mFilter.filterType == ContactListFilter.FILTER_TYPE_SINGLE_CONTACT
+                        || mFilter.filterType == ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS)) {
                     reloadData();
                 } else {
                     // Otherwise, call the listener, which will adjust the filter.