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

Commit 53dd479b authored by Tetiana Meronyk's avatar Tetiana Meronyk Committed by Automerger Merge Worker
Browse files

Merge "Align User Switcher with User Settings" into tm-qpr-dev am: 5e14ffae

parents 7232ac61 5e14ffae
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