Loading src/com/android/settings/Utils.java +14 −7 Original line number Diff line number Diff line Loading @@ -336,24 +336,31 @@ public final class Utils extends com.android.settingslib.Utils { } /* Used by UserSettings as well. Call this on a non-ui thread. */ public static boolean copyMeProfilePhoto(Context context, UserInfo user) { public static void copyMeProfilePhoto(Context context, UserInfo user) { Uri contactUri = Profile.CONTENT_URI; int userId = user != null ? user.id : UserHandle.myUserId(); InputStream avatarDataStream = Contacts.openContactPhotoInputStream( context.getContentResolver(), contactUri, true); // If there's no profile photo, assign a default avatar if (avatarDataStream == null) { return false; } int userId = user != null ? user.id : UserHandle.myUserId(); assignDefaultPhoto(context, userId); } else { UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE); Bitmap icon = BitmapFactory.decodeStream(avatarDataStream); um.setUserIcon(userId, icon); } try { avatarDataStream.close(); } catch (IOException ioe) { } return true; } public static void assignDefaultPhoto(Context context, int userId) { UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE); Bitmap bitmap = getDefaultUserIconAsBitmap(userId); um.setUserIcon(userId, bitmap); } public static String getMeProfileName(Context context, boolean full) { Loading src/com/android/settings/users/UserSettings.java +4 −14 Original line number Diff line number Diff line Loading @@ -331,7 +331,8 @@ public class UserSettings extends SettingsPreferenceFragment protected String doInBackground(Void... values) { UserInfo user = mUserManager.getUserInfo(UserHandle.myUserId()); if (user.iconPath == null || user.iconPath.equals("")) { assignProfilePhoto(user); // Assign profile photo. Utils.copyMeProfilePhoto(getActivity(), user); } return user.name; } Loading Loading @@ -404,14 +405,14 @@ public class UserSettings extends SettingsPreferenceFragment private UserInfo createRestrictedProfile() { UserInfo newUserInfo = mUserManager.createRestrictedProfile(mAddingUserName); assignDefaultPhoto(newUserInfo); Utils.assignDefaultPhoto(getActivity(), newUserInfo.id); return newUserInfo; } private UserInfo createTrustedUser() { UserInfo newUserInfo = mUserManager.createUser(mAddingUserName, 0); if (newUserInfo != null) { assignDefaultPhoto(newUserInfo); Utils.assignDefaultPhoto(getActivity(), newUserInfo.id); } return newUserInfo; } Loading Loading @@ -898,17 +899,6 @@ public class UserSettings extends SettingsPreferenceFragment }.execute(missingIcons); } private void assignProfilePhoto(final UserInfo user) { if (!Utils.copyMeProfilePhoto(getActivity(), user)) { assignDefaultPhoto(user); } } private void assignDefaultPhoto(UserInfo user) { Bitmap bitmap = Utils.getDefaultUserIconAsBitmap(user.id); mUserManager.setUserIcon(user.id, bitmap); } private Drawable getEncircledDefaultIcon() { if (mDefaultIconDrawable == null) { mDefaultIconDrawable = encircle(Utils.getDefaultUserIconAsBitmap(UserHandle.USER_NULL)); Loading Loading
src/com/android/settings/Utils.java +14 −7 Original line number Diff line number Diff line Loading @@ -336,24 +336,31 @@ public final class Utils extends com.android.settingslib.Utils { } /* Used by UserSettings as well. Call this on a non-ui thread. */ public static boolean copyMeProfilePhoto(Context context, UserInfo user) { public static void copyMeProfilePhoto(Context context, UserInfo user) { Uri contactUri = Profile.CONTENT_URI; int userId = user != null ? user.id : UserHandle.myUserId(); InputStream avatarDataStream = Contacts.openContactPhotoInputStream( context.getContentResolver(), contactUri, true); // If there's no profile photo, assign a default avatar if (avatarDataStream == null) { return false; } int userId = user != null ? user.id : UserHandle.myUserId(); assignDefaultPhoto(context, userId); } else { UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE); Bitmap icon = BitmapFactory.decodeStream(avatarDataStream); um.setUserIcon(userId, icon); } try { avatarDataStream.close(); } catch (IOException ioe) { } return true; } public static void assignDefaultPhoto(Context context, int userId) { UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE); Bitmap bitmap = getDefaultUserIconAsBitmap(userId); um.setUserIcon(userId, bitmap); } public static String getMeProfileName(Context context, boolean full) { Loading
src/com/android/settings/users/UserSettings.java +4 −14 Original line number Diff line number Diff line Loading @@ -331,7 +331,8 @@ public class UserSettings extends SettingsPreferenceFragment protected String doInBackground(Void... values) { UserInfo user = mUserManager.getUserInfo(UserHandle.myUserId()); if (user.iconPath == null || user.iconPath.equals("")) { assignProfilePhoto(user); // Assign profile photo. Utils.copyMeProfilePhoto(getActivity(), user); } return user.name; } Loading Loading @@ -404,14 +405,14 @@ public class UserSettings extends SettingsPreferenceFragment private UserInfo createRestrictedProfile() { UserInfo newUserInfo = mUserManager.createRestrictedProfile(mAddingUserName); assignDefaultPhoto(newUserInfo); Utils.assignDefaultPhoto(getActivity(), newUserInfo.id); return newUserInfo; } private UserInfo createTrustedUser() { UserInfo newUserInfo = mUserManager.createUser(mAddingUserName, 0); if (newUserInfo != null) { assignDefaultPhoto(newUserInfo); Utils.assignDefaultPhoto(getActivity(), newUserInfo.id); } return newUserInfo; } Loading Loading @@ -898,17 +899,6 @@ public class UserSettings extends SettingsPreferenceFragment }.execute(missingIcons); } private void assignProfilePhoto(final UserInfo user) { if (!Utils.copyMeProfilePhoto(getActivity(), user)) { assignDefaultPhoto(user); } } private void assignDefaultPhoto(UserInfo user) { Bitmap bitmap = Utils.getDefaultUserIconAsBitmap(user.id); mUserManager.setUserIcon(user.id, bitmap); } private Drawable getEncircledDefaultIcon() { if (mDefaultIconDrawable == null) { mDefaultIconDrawable = encircle(Utils.getDefaultUserIconAsBitmap(UserHandle.USER_NULL)); Loading