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

Commit 37d84c35 authored by Alejandro Nijamkin's avatar Alejandro Nijamkin
Browse files

Removes user icon tinting.

This fixes b/253637739 where the guest user icon color is incorrect in
both the status bar and quick settings action footer when the footer is
revealed.

The reason it was affecting status bar was because setting the tint
mutates the drawable that both components share.

Either way, removing this unnecessary tinting fixes the issue.

Fix: 253637739
Test: updated one unit test and manually verified that both the primary
user and the guest user look as expected in both the status bar and the
quick settings footer in both dark and light theme on a tablet

Change-Id: Ib7fba1c39dbdf5ea1c252d58b468c4c5f83ee5e8
parent fd33d57f
Loading
Loading
Loading
Loading
+10 −14
Original line number Diff line number Diff line
@@ -23,7 +23,6 @@ import androidx.lifecycle.DefaultLifecycleObserver
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import com.android.settingslib.Utils
import com.android.settingslib.drawable.UserIconDrawable
import com.android.systemui.R
import com.android.systemui.animation.Expandable
import com.android.systemui.common.shared.model.ContentDescription
@@ -250,22 +249,19 @@ class FooterActionsViewModel(
        status: UserSwitcherStatusModel.Enabled
    ): FooterActionsButtonViewModel {
        val icon = status.currentUserImage!!
        val iconTint =
            if (status.isGuestUser && icon !is UserIconDrawable) {
                Utils.getColorAttrDefaultColor(context, android.R.attr.colorForeground)
            } else {
                null
            }

        return FooterActionsButtonViewModel(
            id = R.id.multi_user_switch,
            icon =
                Icon.Loaded(
                    icon,
                ContentDescription.Loaded(userSwitcherContentDescription(status.currentUserName)),
                    ContentDescription.Loaded(
                        userSwitcherContentDescription(status.currentUserName)
                    ),
            iconTint,
            R.drawable.qs_footer_action_circle,
            this::onUserSwitcherClicked,
                ),
            iconTint = null,
            background = R.drawable.qs_footer_action_circle,
            onClick = this::onUserSwitcherClicked,
        )
    }

+0 −10
Original line number Diff line number Diff line
@@ -192,16 +192,6 @@ class FooterActionsViewModelTest : SysuiTestCase() {
        // UserManager change.
        assertThat(iconTint()).isNull()

        // Trigger a user info change: there should now be a tint.
        userInfoController.updateInfo { userAccount = "doe" }
        assertThat(iconTint())
            .isEqualTo(
                Utils.getColorAttrDefaultColor(
                    context,
                    android.R.attr.colorForeground,
                )
            )

        // Make sure we don't tint the icon if it is a user image (and not the default image), even
        // in guest mode.
        userInfoController.updateInfo { this.picture = mock<UserIconDrawable>() }