Align User Switcher with User Settings

- Update icon for "Add user"
- Change String from "Guest" to "Add guest" in popup menu

Bug: 245708639
Test: atest UserSwitcherControllerTest
Change-Id: I2ea4a0d9685d170a40af2e44b21a7fc164c11c45
This commit is contained in:
Tetiana Meronyk
2022-09-12 18:58:45 +00:00
parent ab5c609adb
commit e7c95a740b
3 changed files with 31 additions and 9 deletions

View File

@@ -1122,11 +1122,19 @@ public class UserSwitcherController implements Dumpable {
}
public String getName(Context context, UserRecord item) {
return getName(context, item, false);
}
/**
* Returns the name for the given {@link UserRecord}.
*/
public String getName(Context context, UserRecord item, boolean isTablet) {
return LegacyUserUiHelper.getUserRecordName(
context,
item,
mController.isGuestUserAutoCreated(),
mController.isGuestUserResetting());
mController.isGuestUserResetting(),
isTablet);
}
protected static ColorFilter getDisabledUserAvatarColorFilter() {
@@ -1136,8 +1144,12 @@ public class UserSwitcherController implements Dumpable {
}
protected static Drawable getIconDrawable(Context context, UserRecord item) {
return getIconDrawable(context, item, false);
}
protected static Drawable getIconDrawable(Context context, UserRecord item,
boolean isTablet) {
int iconRes = LegacyUserUiHelper.getUserSwitcherActionIconResourceId(
item.isAddUser, item.isGuest, item.isAddSupervisedUser);
item.isAddUser, item.isGuest, item.isAddSupervisedUser, isTablet);
return context.getDrawable(iconRes);
}

View File

@@ -173,8 +173,8 @@ open class UserSwitcherActivity @Inject constructor(
this,
R.layout.user_switcher_fullscreen_popup_item,
layoutInflater,
{ item: UserRecord -> adapter.getName(this@UserSwitcherActivity, item) },
{ item: UserRecord -> adapter.findUserIcon(item).mutate().apply {
{ item: UserRecord -> adapter.getName(this@UserSwitcherActivity, item, true) },
{ item: UserRecord -> adapter.findUserIcon(item, true).mutate().apply {
setTint(resources.getColor(
R.color.user_switcher_fullscreen_popup_item_tint,
getTheme()
@@ -322,6 +322,9 @@ open class UserSwitcherActivity @Inject constructor(
return flags.isEnabled(Flags.MODERN_USER_SWITCHER_ACTIVITY)
}
/**
* Provides views to populate the option menu.
*/
private class ItemAdapter(
val parentContext: Context,
val resource: Int,
@@ -375,20 +378,20 @@ open class UserSwitcherActivity @Inject constructor(
return view
}
override fun getName(context: Context, item: UserRecord): String {
override fun getName(context: Context, item: UserRecord, isTablet: Boolean): String {
return if (item == manageUserRecord) {
getString(R.string.manage_users)
} else {
super.getName(context, item)
super.getName(context, item, isTablet)
}
}
fun findUserIcon(item: UserRecord): Drawable {
fun findUserIcon(item: UserRecord, isTablet: Boolean = false): Drawable {
if (item == manageUserRecord) {
return getDrawable(R.drawable.ic_manage_users)
}
if (item.info == null) {
return getIconDrawable(this@UserSwitcherActivity, item)
return getIconDrawable(this@UserSwitcherActivity, item, isTablet)
}
val userIcon = userManager.getUserIcon(item.info.id)
if (userIcon != null) {

View File

@@ -49,8 +49,11 @@ object LegacyUserUiHelper {
isAddUser: Boolean,
isGuest: Boolean,
isAddSupervisedUser: Boolean,
isTablet: Boolean = false,
): Int {
return if (isAddUser) {
return if (isAddUser && isTablet) {
R.drawable.ic_account_circle_filled
} else if (isAddUser) {
R.drawable.ic_add
} else if (isGuest) {
R.drawable.ic_account_circle
@@ -67,6 +70,7 @@ object LegacyUserUiHelper {
record: UserRecord,
isGuestUserAutoCreated: Boolean,
isGuestUserResetting: Boolean,
isTablet: Boolean = false,
): String {
val resourceId: Int? = getGuestUserRecordNameResourceId(record)
return when {
@@ -80,6 +84,7 @@ object LegacyUserUiHelper {
isGuestUserResetting = isGuestUserResetting,
isAddUser = record.isAddUser,
isAddSupervisedUser = record.isAddSupervisedUser,
isTablet = isTablet,
)
)
}
@@ -108,12 +113,14 @@ object LegacyUserUiHelper {
isGuestUserResetting: Boolean,
isAddUser: Boolean,
isAddSupervisedUser: Boolean,
isTablet: Boolean = false,
): Int {
check(isGuest || isAddUser || isAddSupervisedUser)
return when {
isGuest && isGuestUserAutoCreated && isGuestUserResetting ->
com.android.settingslib.R.string.guest_resetting
isGuest && isTablet -> com.android.settingslib.R.string.guest_new_guest
isGuest && isGuestUserAutoCreated -> com.android.internal.R.string.guest_name
isGuest -> com.android.internal.R.string.guest_name
isAddUser -> com.android.settingslib.R.string.user_add_user