Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5e14ffae authored by Tetiana Meronyk's avatar Tetiana Meronyk Committed by Android (Google) Code Review
Browse files

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

parents ff37e2d6 e7c95a74
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -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);
        }

+9 −6
Original line number Diff line number Diff line
@@ -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) {
+8 −1
Original line number Diff line number Diff line
@@ -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