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

Commit 4895bf78 authored by Craig Mautner's avatar Craig Mautner Committed by Gerrit Code Review
Browse files

Merge "Fix a bug that the RecentTask list of other’s may show up to non-primary users."

parents bd855367 26ac4030
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -3355,6 +3355,24 @@ public final class ActivityManagerService extends ActivityManagerNative
        return ret;
    }
    //explicitly remove thd old information in mRecentTasks when removing existing user.
    private void removeRecentTaskLocked(int userId) {
        if(userId <= 0) {
            Slog.i(TAG, "Can't remove recent task on user " + userId);
            return;
        }
        for (int i = mRecentTasks.size() - 1; i >= 0; --i) {
            TaskRecord tr = mRecentTasks.get(i);
            if (tr.userId == userId) {
                if(DEBUG_TASKS) Slog.i(TAG, "remove RecentTask " + tr
                                          + " when finishing user" + userId);
                tr.disposeThumbnail();
                mRecentTasks.remove(i);
            }
        }
    }
    final void addRecentTaskLocked(TaskRecord task) {
        int N = mRecentTasks.size();
        // Quick case: check if the top-most recent task is the same.
@@ -16503,6 +16521,8 @@ public final class ActivityManagerService extends ActivityManagerNative
                // Kill all the processes for the user.
                forceStopUserLocked(userId, "finish user");
            }
            //explicitly remove the old information in mRecentTasks when removing existing user.
            removeRecentTaskLocked(userId);
        }
        for (int i=0; i<callbacks.size(); i++) {