Merge "Don't always change username when adding account" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-04-01 18:47:20 +00:00
committed by Android (Google) Code Review

View File

@@ -50,14 +50,23 @@ public class ProfileUpdateReceiver extends BroadcastReceiver {
return; return;
} }
int userId = UserHandle.myUserId(); final int userId = UserHandle.myUserId();
UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE); final UserManager um = context.getSystemService(UserManager.class);
String profileName = Utils.getMeProfileName(context, false /* partial name */); final String newName = Utils.getMeProfileName(context, false /* partial name */);
if (profileName != null && profileName.length() > 0) { if (newName != null && newName.length() > 0 && !isCurrentNameInteresting(context, um)) {
um.setUserName(userId, profileName); um.setUserName(userId, newName);
// Flag that we've written the profile one time at least. No need to do it in the // Flag that we've written the profile one time at least. No need to do it in the
// future. // future.
prefs.edit().putBoolean(KEY_PROFILE_NAME_COPIED_ONCE, true).commit(); prefs.edit().putBoolean(KEY_PROFILE_NAME_COPIED_ONCE, true).commit();
} }
} }
/** Returns whether the current user name is different from the default one. */
private static boolean isCurrentNameInteresting(Context context, UserManager um) {
final String currentName = um.getUserName();
final String defaultName = um.isRestrictedProfile() || um.isProfile() ?
context.getString(com.android.settingslib.R.string.user_new_profile_name) :
context.getString(com.android.settingslib.R.string.user_new_user_name);
return currentName != null && !currentName.equals(defaultName);
}
} }