Don't show corp badge for supervised users
Some users have a profile owner, not because they are a corp user, but because they are supervised. Such users should not have a corp badge shown. Bug: 202042272 Test: manual Change-Id: If5238035440d79aff6b2b0c926286840b4269c45
This commit is contained in:
@@ -175,9 +175,12 @@ public class UserIconDrawable extends Drawable implements Drawable.Callback {
|
||||
public UserIconDrawable setBadgeIfManagedUser(Context context, int userId) {
|
||||
Drawable badge = null;
|
||||
if (userId != UserHandle.USER_NULL) {
|
||||
boolean isManaged = context.getSystemService(DevicePolicyManager.class)
|
||||
.getProfileOwnerAsUser(userId) != null;
|
||||
if (isManaged) {
|
||||
DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
|
||||
boolean isCorp =
|
||||
dpm.getProfileOwnerAsUser(userId) != null // has an owner
|
||||
&& dpm.getProfileOwnerOrDeviceOwnerSupervisionComponent(UserHandle.of(userId))
|
||||
== null; // and has no supervisor
|
||||
if (isCorp) {
|
||||
badge = getDrawableForDisplayDensity(
|
||||
context, com.android.internal.R.drawable.ic_corp_badge_case);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user