Performing fragment transaction with delay
Bug: 3134987
Change-Id: I40c303a27c2289ce481497569c2cc0770204dab5
diff --git a/src/com/android/contacts/activities/ContactBrowserActivity.java b/src/com/android/contacts/activities/ContactBrowserActivity.java
index 4a8a59d..ce484f0 100644
--- a/src/com/android/contacts/activities/ContactBrowserActivity.java
+++ b/src/com/android/contacts/activities/ContactBrowserActivity.java
@@ -51,6 +51,7 @@
import android.content.SharedPreferences.Editor;
import android.net.Uri;
import android.os.Bundle;
+import android.os.Handler;
import android.preference.PreferenceManager;
import android.provider.ContactsContract;
import android.provider.ContactsContract.Contacts;
@@ -123,6 +124,8 @@
private ImageView mAddContactImageView;
+ private Handler mHandler;
+
public ContactBrowserActivity() {
mIntentResolver = new ContactsIntentResolver(this);
mContactListFilterController = new ContactListFilterController(this);
@@ -354,12 +357,26 @@
}
}
- private void setupContactDetailFragment(Uri contactLookupUri) {
+ private void setupContactDetailFragment(final Uri contactLookupUri) {
if (mDetailFragment != null && contactLookupUri != null
&& contactLookupUri.equals(mDetailFragment.getUri())) {
return;
}
+ if (mHandler == null) {
+ mHandler = new Handler();
+ }
+
+ mHandler.post(new Runnable() {
+
+ @Override
+ public void run() {
+ replaceContactDetailFragment(contactLookupUri);
+ }
+ });
+ }
+
+ public void replaceContactDetailFragment(Uri contactLookupUri) {
if (contactLookupUri != null) {
// Already showing? Nothing to do
if (mDetailFragment != null) {