diff options
Diffstat (limited to 'src/com/android/settings/users/UserSettings.java')
-rw-r--r-- | src/com/android/settings/users/UserSettings.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java index 9380586..e530493 100644 --- a/src/com/android/settings/users/UserSettings.java +++ b/src/com/android/settings/users/UserSettings.java @@ -16,8 +16,11 @@ package com.android.settings.users; +import android.content.Context; import android.content.pm.UserInfo; +import android.graphics.drawable.Drawable; import android.os.Bundle; +import android.os.UserManager; import android.preference.Preference; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceActivity; @@ -79,19 +82,28 @@ public class UserSettings extends SettingsPreferenceFragment } private void updateUserList() { - List<UserInfo> users = getActivity().getPackageManager().getUsers(); + List<UserInfo> users = ((UserManager) getActivity().getSystemService(Context.USER_SERVICE)) + .getUsers(); mUserListCategory.removeAll(); for (UserInfo user : users) { - if (user.id == 0) continue; Preference pref = new Preference(getActivity()); pref.setTitle(user.name); pref.setOnPreferenceClickListener(this); pref.setKey("id=" + user.id); + if (user.iconPath != null) { + setPhotoId(pref, user.iconPath); + } mUserListCategory.addPreference(pref); } } + private void setPhotoId(Preference pref, String realPath) { + Drawable d = Drawable.createFromPath(realPath); + if (d == null) return; + pref.setIcon(d); + } + @Override public boolean onPreferenceClick(Preference pref) { String sid = pref.getKey(); |