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

Commit 2cc8043c authored by Prabhakar Thirumoorthy's avatar Prabhakar Thirumoorthy Committed by Android (Google) Code Review
Browse files

Merge "If task isn't found in recents, look in the stacks." into lmp-mr1-dev

parents 00795e9e e042bf2b
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -8160,6 +8160,16 @@ public final class ActivityManagerService extends ActivityManagerNative
        }
    }
    private TaskRecord taskForIdLocked(int id) {
        final TaskRecord task = recentTaskForIdLocked(id);
        if (task != null) {
            return task;
        }
        // Don't give up. Sometimes it just hasn't made it to recents yet.
        return mStackSupervisor.anyTaskForIdLocked(id);
    }
    private TaskRecord recentTaskForIdLocked(int id) {
        final int N = mRecentTasks.size();
            for (int i=0; i<N; i++) {
@@ -8380,7 +8390,7 @@ public final class ActivityManagerService extends ActivityManagerNative
     * @return Returns true if the given task was found and removed.
     */
    private boolean removeTaskByIdLocked(int taskId, boolean killProcess) {
        TaskRecord tr = recentTaskForIdLocked(taskId);
        TaskRecord tr = taskForIdLocked(taskId);
        if (tr != null) {
            tr.removeTaskActivitiesLocked();
            cleanUpRemovedTaskLocked(tr, killProcess);
@@ -8455,7 +8465,7 @@ public final class ActivityManagerService extends ActivityManagerNative
                "moveTaskToBack()");
        synchronized(this) {
            TaskRecord tr = recentTaskForIdLocked(taskId);
            TaskRecord tr = taskForIdLocked(taskId);
            if (tr != null) {
                if (tr == mStackSupervisor.mLockTaskModeTask) {
                    mStackSupervisor.showLockTaskToast();
@@ -8647,7 +8657,7 @@ public final class ActivityManagerService extends ActivityManagerNative
        long ident = Binder.clearCallingIdentity();
        try {
            synchronized (this) {
                TaskRecord tr = recentTaskForIdLocked(taskId);
                TaskRecord tr = taskForIdLocked(taskId);
                return tr != null && tr.stack != null && tr.stack.isHomeStack();
            }
        } finally {
+1 −1
Original line number Diff line number Diff line
@@ -1643,8 +1643,8 @@ final class ActivityStack {
        boolean dontWaitForPause = (next.info.flags&ActivityInfo.FLAG_RESUME_WHILE_PAUSING) != 0;
        boolean pausing = mStackSupervisor.pauseBackStacks(userLeaving, true, dontWaitForPause);
        if (mResumedActivity != null) {
            pausing |= startPausingLocked(userLeaving, false, true, dontWaitForPause);
            if (DEBUG_STATES) Slog.d(TAG, "resumeTopActivityLocked: Pausing " + mResumedActivity);
            pausing |= startPausingLocked(userLeaving, false, true, dontWaitForPause);
        }
        if (pausing) {
            if (DEBUG_SWITCH || DEBUG_STATES) Slog.v(TAG,