summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaiyiz <kaiyiz@codeaurora.org>2014-05-04 14:03:03 +0800
committerRoman Birg <roman@cyngn.com>2014-09-02 11:53:43 -0700
commitab36b28595f5b583a831c8fd34adbe63e313cc43 (patch)
tree9702d24ee9fe2db07b2212806812a84c10e2b841
parent484cb73238362b1edb98f393af5f8819315d6715 (diff)
downloadpackages_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.java14
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);