summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/Settings.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2013-10-02 11:48:46 -0700
committerAmith Yamasani <yamasani@google.com>2013-10-02 11:48:46 -0700
commit2972c0136de098a7721555821bfb7451324b33ca (patch)
treeb0a69870889b816b8a0ec60e28dbf1e1ac8692d4 /src/com/android/settings/Settings.java
parent028b6b3f7cc79587a42583351e2c032f71e7ac8c (diff)
downloadpackages_apps_Settings-2972c0136de098a7721555821bfb7451324b33ca.zip
packages_apps_Settings-2972c0136de098a7721555821bfb7451324b33ca.tar.gz
packages_apps_Settings-2972c0136de098a7721555821bfb7451324b33ca.tar.bz2
Load account type icons in a background thread before scrolling down
This reduces the jank when scrolling down in top-level Settings if you happen to have several account types like Google, Twitter, Facebook, etc. In the process of doing this, discovered that headers get built even when they're not showing (SubSettings). Skip setting up the headers, which can be expensive when there are several accounts. Bug: 11006601 Change-Id: I8b4eafdcc2fc2beecac01317c3c8f07a82febcc0
Diffstat (limited to 'src/com/android/settings/Settings.java')
-rw-r--r--src/com/android/settings/Settings.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 13f7166..f01c03a 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -516,8 +516,10 @@ public class Settings extends PreferenceActivity
*/
@Override
public void onBuildHeaders(List<Header> headers) {
- loadHeadersFromResource(R.xml.settings_headers, headers);
- updateHeaderList(headers);
+ if (!onIsHidingHeaders()) {
+ loadHeadersFromResource(R.xml.settings_headers, headers);
+ updateHeaderList(headers);
+ }
}
private void updateHeaderList(List<Header> target) {
@@ -655,6 +657,7 @@ public class Settings extends PreferenceActivity
}
}
accountHeaders.add(accHeader);
+ mAuthenticatorHelper.preloadDrawableForType(this, accountType);
}
// Sort by label