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

Commit 8cf39c5d authored by Dongwon Kang's avatar Dongwon Kang
Browse files

MediaSession: Allow all profiles to handle work profile case.

Bug: 30491173
Change-Id: I6b4114e20721332d28ddc09551a610283b778723
parent ba933b39
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -239,7 +239,8 @@ public class MediaSessionService extends SystemService implements Monitor {
        synchronized (mLock) {
            UserManager manager = (UserManager) getContext().getSystemService(Context.USER_SERVICE);
            int currentUser = ActivityManager.getCurrentUser();
            int[] userIds = manager.getEnabledProfileIds(currentUser);
            // Include all profiles even though they aren't yet enabled to handle work profile case.
            int[] userIds = manager.getProfileIdsWithDisabled(currentUser);
            mCurrentUserIdList.clear();
            if (userIds != null && userIds.length > 0) {
                for (int userId : userIds) {
@@ -440,6 +441,12 @@ public class MediaSessionService extends SystemService implements Monitor {
    private MediaSessionRecord createSessionLocked(int callerPid, int callerUid, int userId,
            String callerPackageName, ISessionCallback cb, String tag) {

        UserRecord user = mUserRecords.get(userId);
        if (user == null) {
            Log.wtf(TAG, "Request from invalid user: " +  userId);
            throw new RuntimeException("Session request from invalid user.");
        }

        final MediaSessionRecord session = new MediaSessionRecord(callerPid, callerUid, userId,
                callerPackageName, cb, tag, this, mHandler);
        try {
@@ -450,8 +457,6 @@ public class MediaSessionService extends SystemService implements Monitor {

        mAllSessions.add(session);
        mPriorityStack.addSession(session, mCurrentUserIdList.contains(userId));

        UserRecord user = mUserRecords.get(userId);
        user.addSessionLocked(session);

        mHandler.post(MessageHandler.MSG_SESSIONS_CHANGED, userId, 0);