Cache default circle avatar for faster creation of UserSettings

Change-Id: Ie2ed9d032f71fad7a89edde147f231a1dc479aae
This commit is contained in:
Amith Yamasani
2013-05-28 11:17:07 -07:00
parent 6eb937b9e9
commit 503783c482

View File

@@ -134,6 +134,7 @@ public class UserSettings extends SettingsPreferenceFragment
private final Object mUserLock = new Object(); private final Object mUserLock = new Object();
private UserManager mUserManager; private UserManager mUserManager;
private SparseArray<Bitmap> mUserIcons = new SparseArray<Bitmap>(); private SparseArray<Bitmap> mUserIcons = new SparseArray<Bitmap>();
private Drawable mDefaultCircleAvatar;
private boolean mIsOwner = UserHandle.myUserId() == UserHandle.USER_OWNER; 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() { private boolean hasLockscreenSecurity() {
LockPatternUtils lpu = new LockPatternUtils(getActivity()); LockPatternUtils lpu = new LockPatternUtils(getActivity());
return lpu.isLockPasswordEnabled() || lpu.isLockPatternEnabled(); return lpu.isLockPasswordEnabled() || lpu.isLockPatternEnabled();
@@ -638,7 +646,7 @@ public class UserSettings extends SettingsPreferenceFragment
if (user.iconPath != null) { if (user.iconPath != null) {
if (mUserIcons.get(user.id) == null) { if (mUserIcons.get(user.id) == null) {
missingIcons.add(user.id); missingIcons.add(user.id);
pref.setIcon(encircle(R.drawable.avatar_default_1)); pref.setIcon(getDefaultCircleAvatar());
} else { } else {
setPhotoId(pref, user); setPhotoId(pref, user);
} }
@@ -650,7 +658,7 @@ public class UserSettings extends SettingsPreferenceFragment
null, null); null, null);
pref.setEnabled(false); pref.setEnabled(false);
pref.setTitle(R.string.user_new_user_name); pref.setTitle(R.string.user_new_user_name);
pref.setIcon(encircle(R.drawable.avatar_default_1)); pref.setIcon(getDefaultCircleAvatar());
mUserListCategory.addPreference(pref); mUserListCategory.addPreference(pref);
} }
getActivity().invalidateOptionsMenu(); getActivity().invalidateOptionsMenu();