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

Commit 730970d8 authored by Adam Bookatz's avatar Adam Bookatz
Browse files

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
parent 2cb01877
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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);
            }