diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java index a9ddf95ed11..ac6a8ea6f04 100644 --- a/src/com/android/settings/users/UserDetailsSettings.java +++ b/src/com/android/settings/users/UserDetailsSettings.java @@ -206,7 +206,7 @@ public class UserDetailsSettings extends SettingsPreferenceFragment mSwitchUserPref.setTitle( context.getString(com.android.settingslib.R.string.user_switch_to_user, - mUserInfo.name)); + UserSettings.getUserName(context, mUserInfo))); if (mUserCaps.mDisallowSwitchUser) { mSwitchUserPref.setDisabledByAdmin(RestrictedLockUtilsInternal.getDeviceOwner(context)); diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java index 64f9a2c91ce..d88d8b5c316 100644 --- a/src/com/android/settings/users/UserSettings.java +++ b/src/com/android/settings/users/UserSettings.java @@ -16,6 +16,7 @@ package com.android.settings.users; +import android.annotation.NonNull; import android.app.Activity; import android.app.ActivityManager; import android.app.Dialog; @@ -505,10 +506,12 @@ public class UserSettings extends SettingsPreferenceFragment Bundle extras = new Bundle(); extras.putInt(UserDetailsSettings.EXTRA_USER_ID, userInfo.id); extras.putBoolean(AppRestrictionsFragment.EXTRA_NEW_USER, newUser); - new SubSettingLauncher(getContext()) + + final Context context = getContext(); + new SubSettingLauncher(context) .setDestination(UserDetailsSettings.class.getName()) .setArguments(extras) - .setTitleText(userInfo.name) + .setTitleText(getUserName(context, userInfo)) .setSourceMetricsCategory(getMetricsCategory()) .launch(); } @@ -859,32 +862,30 @@ public class UserSettings extends SettingsPreferenceFragment UserPreference pref; if (user.id == UserHandle.myUserId()) { pref = mMePreference; - } else if (user.isGuest()) { - pref = new UserPreference(getPrefContext(), null, user.id); - pref.setTitle(R.string.user_guest); - pref.setIcon(getEncircledDefaultIcon()); - pref.setKey(KEY_USER_GUEST); + } else { + final Context prefContext = getPrefContext(); + pref = new UserPreference(prefContext, null, user.id); + pref.setTitle(getUserName(prefContext, user)); userPreferences.add(pref); + pref.setOnPreferenceClickListener(this); pref.setEnabled(canOpenUserDetails); pref.setSelectable(true); - if (mUserCaps.mDisallowSwitchUser) { - pref.setDisabledByAdmin(RestrictedLockUtilsInternal.getDeviceOwner(context)); + if (user.isGuest()) { + pref.setIcon(getEncircledDefaultIcon()); + pref.setKey(KEY_USER_GUEST); + if (mUserCaps.mDisallowSwitchUser) { + pref.setDisabledByAdmin( + RestrictedLockUtilsInternal.getDeviceOwner(context)); + } else { + pref.setDisabledByAdmin(null); + } } else { - pref.setDisabledByAdmin(null); + pref.setKey("id=" + user.id); + if (user.isAdmin()) { + pref.setSummary(R.string.user_admin); + } } - pref.setOnPreferenceClickListener(this); - } else { - pref = new UserPreference(getPrefContext(), null, user.id); - pref.setKey("id=" + user.id); - userPreferences.add(pref); - if (user.isAdmin()) { - pref.setSummary(R.string.user_admin); - } - pref.setTitle(user.name); - pref.setOnPreferenceClickListener(this); - pref.setEnabled(canOpenUserDetails); - pref.setSelectable(true); } if (pref == null) { continue; @@ -1063,6 +1064,14 @@ public class UserSettings extends SettingsPreferenceFragment } } + /** Returns the user's name, or the appropriate string in the case of a Guest. */ + public static String getUserName(Context context, @NonNull UserInfo userInfo) { + if (userInfo.isGuest()) { + return context.getString(R.string.user_guest); + } + return userInfo.name; + } + @Override public boolean onPreferenceClick(Preference pref) { if (pref == mMePreference) {