Fix crash when trying to edit a contact
- Set the lookup URI manually in setData since we're no longer calling
loadData on the detail and update fragments
Change-Id: I5838e2bfe4a77d9d47444b4e16ce02485af17307
diff --git a/src/com/android/contacts/activities/ContactDetailActivity.java b/src/com/android/contacts/activities/ContactDetailActivity.java
index d5d0255..9c403b3 100644
--- a/src/com/android/contacts/activities/ContactDetailActivity.java
+++ b/src/com/android/contacts/activities/ContactDetailActivity.java
@@ -150,7 +150,7 @@
mDetailFragment = (ContactDetailFragment) fragment;
mDetailFragment.setListener(mFragmentListener);
mDetailFragment.setVerticalScrollListener(mVerticalScrollListener);
- mDetailFragment.setData(mContactData);
+ mDetailFragment.setData(mLookupUri, mContactData);
// If the contact has social updates, then the photo should be shown in the tab
// carousel, so don't show the photo again in the scrolling list of contact details.
// We also don't want to show the photo if there is a fragment carousel because then
@@ -158,7 +158,7 @@
mDetailFragment.setShowPhotoInHeader(!mContactHasUpdates && mFragmentCarousel == null);
} else if (fragment instanceof ContactDetailUpdatesFragment) {
mUpdatesFragment = (ContactDetailUpdatesFragment) fragment;
- mUpdatesFragment.setData(mContactData);
+ mUpdatesFragment.setData(mLookupUri, mContactData);
} else if (fragment instanceof ContactLoaderFragment) {
mLoaderFragment = (ContactLoaderFragment) fragment;
mLoaderFragment.setListener(mLoaderFragmentListener);
diff --git a/src/com/android/contacts/detail/ContactDetailFragment.java b/src/com/android/contacts/detail/ContactDetailFragment.java
index 8ee22a4..180389f 100644
--- a/src/com/android/contacts/detail/ContactDetailFragment.java
+++ b/src/com/android/contacts/detail/ContactDetailFragment.java
@@ -375,7 +375,8 @@
mContactPhotoDisplayedInHeader = showPhoto;
}
- public void setData(ContactLoader.Result result) {
+ public void setData(Uri lookupUri, ContactLoader.Result result) {
+ mLookupUri = lookupUri;
mContactData = result;
bindData();
}
diff --git a/src/com/android/contacts/detail/ContactDetailUpdatesFragment.java b/src/com/android/contacts/detail/ContactDetailUpdatesFragment.java
index 05ae866..1f29957 100644
--- a/src/com/android/contacts/detail/ContactDetailUpdatesFragment.java
+++ b/src/com/android/contacts/detail/ContactDetailUpdatesFragment.java
@@ -21,6 +21,7 @@
import com.android.contacts.activities.ContactDetailActivity.FragmentKeyListener;
import android.app.Fragment;
+import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
@@ -33,6 +34,7 @@
private static final String TAG = "ContactDetailUpdatesFragment";
private ContactLoader.Result mContactData;
+ private Uri mLookupUri;
/**
* This optional view adds an alpha layer over the entire fragment.
@@ -60,7 +62,8 @@
return rootView;
}
- public void setData(ContactLoader.Result result) {
+ public void setData(Uri lookupUri, ContactLoader.Result result) {
+ mLookupUri = lookupUri;
mContactData = result;
// TODO: Load up the "recent updates" section based on the result
}