"Guest" icon should be a default user icon.
Needed to call getDefaultUserIcon with UserHandle.USER_NULL.
Guest icon should not have individual user coloring.
Bug: 77870451
Test: Visual tests on mojave.
Change-Id: I164e2dcb78cdd40e899b3005b220be564565f6d2
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java b/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java
index dbd1cd4..f1e2302 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/car/UserGridRecyclerView.java
@@ -20,7 +20,9 @@
import android.content.pm.UserInfo;
import android.content.res.ColorStateList;
import android.content.res.Resources;
+import android.graphics.Bitmap;
import android.os.AsyncTask;
+import android.os.UserHandle;
import android.support.v7.widget.RecyclerView;
import android.util.AttributeSet;
import android.view.LayoutInflater;
@@ -31,6 +33,7 @@
import androidx.car.widget.PagedListView;
+import com.android.internal.util.UserIcons;
import com.android.settingslib.users.UserManagerHelper;
import com.android.systemui.R;
@@ -180,13 +183,7 @@
@Override
public void onBindViewHolder(UserAdapterViewHolder holder, int position) {
UserRecord userRecord = mUsers.get(position);
- if (!userRecord.mIsAddUser) {
- holder.mUserAvatarImageView.setImageBitmap(mUserManagerHelper
- .getUserIcon(userRecord.mInfo));
- } else {
- holder.mUserAvatarImageView.setImageDrawable(mContext
- .getDrawable(R.drawable.car_add_circle_round));
- }
+ holder.mUserAvatarImageView.setImageBitmap(getUserRecordIcon(userRecord));
holder.mUserNameTextView.setText(userRecord.mInfo.name);
holder.mView.setOnClickListener(v -> {
if (userRecord == null) {
@@ -219,6 +216,20 @@
}
+ private Bitmap getUserRecordIcon(UserRecord userRecord) {
+ if (userRecord.mIsStartGuestSession) {
+ return UserIcons.convertToBitmap(UserIcons.getDefaultUserIcon(
+ mContext.getResources(), UserHandle.USER_NULL, false));
+ }
+
+ if (userRecord.mIsAddUser) {
+ return UserIcons.convertToBitmap(mContext
+ .getDrawable(R.drawable.car_add_circle_round));
+ }
+
+ return mUserManagerHelper.getUserIcon(userRecord.mInfo);
+ }
+
private class AddNewUserTask extends AsyncTask<String, Void, UserInfo> {
@Override