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 UserManager mUserManager;
private SparseArray<Bitmap> mUserIcons = new SparseArray<Bitmap>();
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();