diff options
author | kaiyiz <kaiyiz@codeaurora.org> | 2014-05-04 14:03:03 +0800 |
---|---|---|
committer | Roman Birg <roman@cyngn.com> | 2014-09-02 11:53:43 -0700 |
commit | ab36b28595f5b583a831c8fd34adbe63e313cc43 (patch) | |
tree | 9702d24ee9fe2db07b2212806812a84c10e2b841 | |
parent | 484cb73238362b1edb98f393af5f8819315d6715 (diff) | |
download | packages_apps_Contacts-ab36b28595f5b583a831c8fd34adbe63e313cc43.tar.gz packages_apps_Contacts-ab36b28595f5b583a831c8fd34adbe63e313cc43.tar.bz2 packages_apps_Contacts-ab36b28595f5b583a831c8fd34adbe63e313cc43.zip |
Contacts: Do not observer DB change in MemberListActivity when it paused
While import SIM contacts in background, switching among PeopleActivity,
MemberListActivity and Luncher could cause lots of DB operations and data
change notifications. As a result, the screen will be frozen or dark
during these operations.
Do not observer DB change in MemberListActivity when it paused, since it
will requery in onResume.
CRs-Fixed: 659023
Change-Id: I02866b262c86a9dab4ecda5b7138020b2d035d5c
-rw-r--r-- | src/com/android/contacts/group/local/MemberListActivity.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/com/android/contacts/group/local/MemberListActivity.java b/src/com/android/contacts/group/local/MemberListActivity.java index 060068270..34d4cbaff 100644 --- a/src/com/android/contacts/group/local/MemberListActivity.java +++ b/src/com/android/contacts/group/local/MemberListActivity.java @@ -127,6 +127,8 @@ public class MemberListActivity extends TabActivity implements OnItemClickListen private DeleteMembersThread mDeleteMembersTask; + private boolean mPaused = false; + private Handler mUpdateUiHandler = new Handler() { @Override public void handleMessage(Message msg) { @@ -278,6 +280,14 @@ public class MemberListActivity extends TabActivity implements OnItemClickListen } }; + @Override + protected void onPause() { + super.onPause(); + + mPaused = true; + mAdapter.changeCursor(null); + } + public void onDestroy() { super.onDestroy(); getContentResolver().unregisterContentObserver(observer); @@ -316,6 +326,7 @@ public class MemberListActivity extends TabActivity implements OnItemClickListen @Override protected void onResume() { super.onResume(); + mPaused = false; startQuery(); } @@ -349,6 +360,9 @@ public class MemberListActivity extends TabActivity implements OnItemClickListen @Override protected void onQueryComplete(int token, Object cookie, Cursor cursor) { + if (mPaused) { + return; + } final MemberListActivity activity = mActivity.get(); activity.mAdapter.changeCursor(cursor); updateDisplay(cursor == null || cursor.getCount() == 0); |