Merge "Set user icon to default when updating profile without photo" into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
2cae2f1613
@@ -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. */
|
/* 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;
|
Uri contactUri = Profile.CONTENT_URI;
|
||||||
|
|
||||||
|
int userId = user != null ? user.id : UserHandle.myUserId();
|
||||||
|
|
||||||
InputStream avatarDataStream = Contacts.openContactPhotoInputStream(
|
InputStream avatarDataStream = Contacts.openContactPhotoInputStream(
|
||||||
context.getContentResolver(),
|
context.getContentResolver(),
|
||||||
contactUri, true);
|
contactUri, true);
|
||||||
// If there's no profile photo, assign a default avatar
|
// If there's no profile photo, assign a default avatar
|
||||||
if (avatarDataStream == null) {
|
if (avatarDataStream == null) {
|
||||||
return false;
|
assignDefaultPhoto(context, userId);
|
||||||
}
|
} else {
|
||||||
int userId = user != null ? user.id : UserHandle.myUserId();
|
|
||||||
UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
|
UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE);
|
||||||
Bitmap icon = BitmapFactory.decodeStream(avatarDataStream);
|
Bitmap icon = BitmapFactory.decodeStream(avatarDataStream);
|
||||||
um.setUserIcon(userId, icon);
|
um.setUserIcon(userId, icon);
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
avatarDataStream.close();
|
avatarDataStream.close();
|
||||||
} catch (IOException ioe) { }
|
} 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) {
|
public static String getMeProfileName(Context context, boolean full) {
|
||||||
|
@@ -331,7 +331,8 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
protected String doInBackground(Void... values) {
|
protected String doInBackground(Void... values) {
|
||||||
UserInfo user = mUserManager.getUserInfo(UserHandle.myUserId());
|
UserInfo user = mUserManager.getUserInfo(UserHandle.myUserId());
|
||||||
if (user.iconPath == null || user.iconPath.equals("")) {
|
if (user.iconPath == null || user.iconPath.equals("")) {
|
||||||
assignProfilePhoto(user);
|
// Assign profile photo.
|
||||||
|
Utils.copyMeProfilePhoto(getActivity(), user);
|
||||||
}
|
}
|
||||||
return user.name;
|
return user.name;
|
||||||
}
|
}
|
||||||
@@ -404,14 +405,14 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
private UserInfo createRestrictedProfile() {
|
private UserInfo createRestrictedProfile() {
|
||||||
UserInfo newUserInfo = mUserManager.createRestrictedProfile(mAddingUserName);
|
UserInfo newUserInfo = mUserManager.createRestrictedProfile(mAddingUserName);
|
||||||
assignDefaultPhoto(newUserInfo);
|
Utils.assignDefaultPhoto(getActivity(), newUserInfo.id);
|
||||||
return newUserInfo;
|
return newUserInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
private UserInfo createTrustedUser() {
|
private UserInfo createTrustedUser() {
|
||||||
UserInfo newUserInfo = mUserManager.createUser(mAddingUserName, 0);
|
UserInfo newUserInfo = mUserManager.createUser(mAddingUserName, 0);
|
||||||
if (newUserInfo != null) {
|
if (newUserInfo != null) {
|
||||||
assignDefaultPhoto(newUserInfo);
|
Utils.assignDefaultPhoto(getActivity(), newUserInfo.id);
|
||||||
}
|
}
|
||||||
return newUserInfo;
|
return newUserInfo;
|
||||||
}
|
}
|
||||||
@@ -898,17 +899,6 @@ public class UserSettings extends SettingsPreferenceFragment
|
|||||||
}.execute(missingIcons);
|
}.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() {
|
private Drawable getEncircledDefaultIcon() {
|
||||||
if (mDefaultIconDrawable == null) {
|
if (mDefaultIconDrawable == null) {
|
||||||
mDefaultIconDrawable = encircle(Utils.getDefaultUserIconAsBitmap(UserHandle.USER_NULL));
|
mDefaultIconDrawable = encircle(Utils.getDefaultUserIconAsBitmap(UserHandle.USER_NULL));
|
||||||
|
Reference in New Issue
Block a user