From 503783c48299a7879ae3a7e2e194a298410ab8d9 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Tue, 28 May 2013 11:17:07 -0700 Subject: [PATCH] Cache default circle avatar for faster creation of UserSettings Change-Id: Ie2ed9d032f71fad7a89edde147f231a1dc479aae --- src/com/android/settings/users/UserSettings.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java index a19158f047b..193e8c96533 100644 --- a/src/com/android/settings/users/UserSettings.java +++ b/src/com/android/settings/users/UserSettings.java @@ -134,6 +134,7 @@ public class UserSettings extends SettingsPreferenceFragment private final Object mUserLock = new Object(); private UserManager mUserManager; private SparseArray mUserIcons = new SparseArray(); + private Drawable mDefaultCircleAvatar; private boolean mIsOwner = UserHandle.myUserId() == UserHandle.USER_OWNER; @@ -283,6 +284,13 @@ public class UserSettings extends SettingsPreferenceFragment } } + private Drawable getDefaultCircleAvatar() { + if (mDefaultCircleAvatar == null) { + mDefaultCircleAvatar = encircle(R.drawable.avatar_default_1); + } + return mDefaultCircleAvatar; + } + private boolean hasLockscreenSecurity() { LockPatternUtils lpu = new LockPatternUtils(getActivity()); return lpu.isLockPasswordEnabled() || lpu.isLockPatternEnabled(); @@ -638,7 +646,7 @@ public class UserSettings extends SettingsPreferenceFragment if (user.iconPath != null) { if (mUserIcons.get(user.id) == null) { missingIcons.add(user.id); - pref.setIcon(encircle(R.drawable.avatar_default_1)); + pref.setIcon(getDefaultCircleAvatar()); } else { setPhotoId(pref, user); } @@ -650,7 +658,7 @@ public class UserSettings extends SettingsPreferenceFragment null, null); pref.setEnabled(false); pref.setTitle(R.string.user_new_user_name); - pref.setIcon(encircle(R.drawable.avatar_default_1)); + pref.setIcon(getDefaultCircleAvatar()); mUserListCategory.addPreference(pref); } getActivity().invalidateOptionsMenu();