Merge "Align User Switcher with User Settings" into tm-qpr-dev

This commit is contained in:
Tetiana Meronyk
2022-09-16 10:30:42 +00:00
committed by Android (Google) Code Review
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) { 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( return LegacyUserUiHelper.getUserRecordName(
context, context,
item, item,
mController.isGuestUserAutoCreated(), mController.isGuestUserAutoCreated(),
mController.isGuestUserResetting()); mController.isGuestUserResetting(),
isTablet);
} }
protected static ColorFilter getDisabledUserAvatarColorFilter() { protected static ColorFilter getDisabledUserAvatarColorFilter() {
@@ -1136,8 +1144,12 @@ public class UserSwitcherController implements Dumpable {
} }
protected static Drawable getIconDrawable(Context context, UserRecord item) { 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( int iconRes = LegacyUserUiHelper.getUserSwitcherActionIconResourceId(
item.isAddUser, item.isGuest, item.isAddSupervisedUser); item.isAddUser, item.isGuest, item.isAddSupervisedUser, isTablet);
return context.getDrawable(iconRes); return context.getDrawable(iconRes);
} }

View File

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

View File

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