Loading packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java +9 −4 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.graphics.drawable.LayerDrawable; import android.os.UserManager; import android.provider.Settings; Loading Loading @@ -1022,11 +1023,15 @@ public class KeyguardSecurityContainer extends ConstraintLayout { mUserSwitcherController.removeUserSwitchCallback(mUserSwitchCallback); } private Drawable findUserIcon(int userId) { private Drawable findLargeUserIcon(int userId) { Bitmap userIcon = UserManager.get(mView.getContext()).getUserIcon(userId); if (userIcon != null) { return CircleFramedDrawable.getInstance(mView.getContext(), userIcon); int iconSize = mResources.getDimensionPixelSize(R.dimen.bouncer_user_switcher_icon_size); return CircleFramedDrawable.getInstance( mView.getContext(), Icon.scaleDownIfNecessary(userIcon, iconSize, iconSize) ); } return UserIcons.getDefaultUserIcon(mResources, userId, false); Loading Loading @@ -1085,7 +1090,7 @@ public class KeyguardSecurityContainer extends ConstraintLayout { return; } final String currentUserName = mUserSwitcherController.getCurrentUserName(); Drawable userIcon = findUserIcon(currentUser.info.id); Drawable userIcon = findLargeUserIcon(currentUser.info.id); ((ImageView) mView.findViewById(R.id.user_icon)).setImageDrawable(userIcon); mUserSwitcher.setText(currentUserName); Loading packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserInteractor.kt +13 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.IntentFilter import android.content.pm.UserInfo import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable import android.graphics.drawable.Icon import android.os.RemoteException import android.os.UserHandle import android.os.UserManager Loading Loading @@ -762,8 +763,18 @@ constructor( } // TODO(b/246631653): cache the bitmaps to avoid the background work to fetch them. // TODO(b/246631653): downscale the bitmaps to R.dimen.max_avatar_size if requested. val userIcon = withContext(backgroundDispatcher) { manager.getUserIcon(userId) } val userIcon = withContext(backgroundDispatcher) { manager.getUserIcon(userId) ?.let { bitmap -> val iconSize = applicationContext .resources .getDimensionPixelSize(R.dimen.bouncer_user_switcher_icon_size) Icon.scaleDownIfNecessary(bitmap, iconSize, iconSize) } } if (userIcon != null) { return BitmapDrawable(userIcon) } Loading Loading
packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java +9 −4 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.Icon; import android.graphics.drawable.LayerDrawable; import android.os.UserManager; import android.provider.Settings; Loading Loading @@ -1022,11 +1023,15 @@ public class KeyguardSecurityContainer extends ConstraintLayout { mUserSwitcherController.removeUserSwitchCallback(mUserSwitchCallback); } private Drawable findUserIcon(int userId) { private Drawable findLargeUserIcon(int userId) { Bitmap userIcon = UserManager.get(mView.getContext()).getUserIcon(userId); if (userIcon != null) { return CircleFramedDrawable.getInstance(mView.getContext(), userIcon); int iconSize = mResources.getDimensionPixelSize(R.dimen.bouncer_user_switcher_icon_size); return CircleFramedDrawable.getInstance( mView.getContext(), Icon.scaleDownIfNecessary(userIcon, iconSize, iconSize) ); } return UserIcons.getDefaultUserIcon(mResources, userId, false); Loading Loading @@ -1085,7 +1090,7 @@ public class KeyguardSecurityContainer extends ConstraintLayout { return; } final String currentUserName = mUserSwitcherController.getCurrentUserName(); Drawable userIcon = findUserIcon(currentUser.info.id); Drawable userIcon = findLargeUserIcon(currentUser.info.id); ((ImageView) mView.findViewById(R.id.user_icon)).setImageDrawable(userIcon); mUserSwitcher.setText(currentUserName); Loading
packages/SystemUI/src/com/android/systemui/user/domain/interactor/UserInteractor.kt +13 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.IntentFilter import android.content.pm.UserInfo import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable import android.graphics.drawable.Icon import android.os.RemoteException import android.os.UserHandle import android.os.UserManager Loading Loading @@ -762,8 +763,18 @@ constructor( } // TODO(b/246631653): cache the bitmaps to avoid the background work to fetch them. // TODO(b/246631653): downscale the bitmaps to R.dimen.max_avatar_size if requested. val userIcon = withContext(backgroundDispatcher) { manager.getUserIcon(userId) } val userIcon = withContext(backgroundDispatcher) { manager.getUserIcon(userId) ?.let { bitmap -> val iconSize = applicationContext .resources .getDimensionPixelSize(R.dimen.bouncer_user_switcher_icon_size) Icon.scaleDownIfNecessary(bitmap, iconSize, iconSize) } } if (userIcon != null) { return BitmapDrawable(userIcon) } Loading