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

Commit c8f4ca2a authored by Anna Zappone's avatar Anna Zappone Committed by Android (Google) Code Review
Browse files

Merge "Update user profiles on user unavailable" into sc-dev

parents 1ce11286 ad1a153a
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -1769,10 +1769,17 @@ abstract public class ManagedServices {
            UserManager userManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
            if (userManager != null) {
                int currentUserId = ActivityManager.getCurrentUser();
                List<UserInfo> profiles = userManager.getProfiles(currentUserId);
                List<UserInfo> unlockedProfiles = new ArrayList<>();
                for (UserInfo user : userManager.getProfiles(currentUserId)) {
                    // Dependencies throw if we call APIs on a locked user. Only include
                    // unlocked users.
                    if (userManager.isUserUnlocked(user.id)) {
                        unlockedProfiles.add(user);
                    }
                }
                synchronized (mCurrentProfiles) {
                    mCurrentProfiles.clear();
                    for (UserInfo user : profiles) {
                    for (UserInfo user : unlockedProfiles) {
                        mCurrentProfiles.put(user.id, user);
                    }
                }
+2 −0
Original line number Diff line number Diff line
@@ -1780,6 +1780,8 @@ public class NotificationManagerService extends SystemService {
                }
            } else if (action.equals(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE)) {
                int userHandle = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, -1);
                // Work profile user may now be locked. Refresh cache.
                mUserProfiles.updateCache(context);
                if (userHandle >= 0) {
                    cancelAllNotificationsInt(MY_UID, MY_PID, null, null, 0, 0, true, userHandle,
                            REASON_PROFILE_TURNED_OFF, null);