summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Garnes <matt@cyngn.com>2015-03-06 11:31:45 -0800
committerRajesh Yengisetty <rajesh@cyngn.com>2015-03-10 19:08:44 +0000
commitcbc27f11f19fcbe5b59bbce2daf9179530dea0d5 (patch)
treee78a192db339d9d6a0840d9eccc2abdd5c25b6cb
parent5a934d9148dc8686262baf105f706cf5280e13eb (diff)
downloadandroid_packages_apps_ContactsCommon-cbc27f11f19fcbe5b59bbce2daf9179530dea0d5.tar.gz
android_packages_apps_ContactsCommon-cbc27f11f19fcbe5b59bbce2daf9179530dea0d5.tar.bz2
android_packages_apps_ContactsCommon-cbc27f11f19fcbe5b59bbce2daf9179530dea0d5.zip
Only reload contacts if relevant SharedPreferences change.
In ContactEntryListFragment, we listen for any changes to SharedPreferences. However, not all SharedPreferences should trigger a data reload. last_updated_millis will be written if the smart dial tables in the dialer DB were updated. mPreferencesChangeListener would reload all contacts data. This shared preference does not change the data for contacts, so we should not reload them. On slower devices, this will visibly cause the ListView to flash between the empty view and populated listitems as it reloads twice when the activity resumes. Only reload data when relevant SharedPreferences change. Change-Id: Id2a607fdaf5715b69738c76422ef08d76e6ffafe (cherry picked from commit a680fc779a454729efd0a2fc8982f52117a79994)
-rwxr-xr-xsrc/com/android/contacts/common/list/ContactEntryListFragment.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/com/android/contacts/common/list/ContactEntryListFragment.java b/src/com/android/contacts/common/list/ContactEntryListFragment.java
index 4af18305..1819c0c8 100755
--- a/src/com/android/contacts/common/list/ContactEntryListFragment.java
+++ b/src/com/android/contacts/common/list/ContactEntryListFragment.java
@@ -916,8 +916,9 @@ public abstract class ContactEntryListFragment<T extends ContactEntryListAdapter
new ContactsPreferences.ChangeListener() {
@Override
public void onChange() {
- loadPreferences();
- reloadData();
+ if(loadPreferences()) {
+ reloadData();
+ }
}
};