Cache the result of the ContactLoader across instances.
Change-Id: I2c7d1c07720118418fbefb751beeaa812e568325
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java
index f914aa1..81aa2e8 100644
--- a/src/com/android/contacts/quickcontact/QuickContactActivity.java
+++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java
@@ -113,6 +113,8 @@
private ImageButton mOpenDetailsPushLayerButton;
private ViewPager mListPager;
+ private ContactLoader mContactLoader;
+
private final ImageViewDrawableSetter mPhotoSetter = new ImageViewDrawableSetter();
/**
@@ -179,6 +181,7 @@
public void onClick(View v) {
final Intent intent = new Intent(Intent.ACTION_VIEW, mLookupUri);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ mContactLoader.cacheResult();
startActivity(intent);
hide(false);
}
@@ -507,6 +510,7 @@
@Override
public void run() {
mHasFinishedAnimatingIn = true;
+ mContactLoader.upgradeToFullContact();
}
});
}
@@ -518,7 +522,8 @@
if (mLookupUri == null) {
Log.wtf(TAG, "Lookup uri wasn't initialized. Loader was started too early");
}
- return new ContactLoader(getApplicationContext(), mLookupUri);
+ mContactLoader = new ContactLoader(getApplicationContext(), mLookupUri);
+ return mContactLoader;
}
};