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
This commit is contained in:
@@ -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.Loaded(
|
||||
icon,
|
||||
ContentDescription.Loaded(userSwitcherContentDescription(status.currentUserName)),
|
||||
),
|
||||
iconTint,
|
||||
R.drawable.qs_footer_action_circle,
|
||||
this::onUserSwitcherClicked,
|
||||
icon =
|
||||
Icon.Loaded(
|
||||
icon,
|
||||
ContentDescription.Loaded(
|
||||
userSwitcherContentDescription(status.currentUserName)
|
||||
),
|
||||
),
|
||||
iconTint = null,
|
||||
background = R.drawable.qs_footer_action_circle,
|
||||
onClick = this::onUserSwitcherClicked,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -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>() }
|
||||
|
||||
Reference in New Issue
Block a user