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

Commit c3b5548e authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Reland^2 "Revert "Defer resume of activity while applying wct""" into main

parents 7a3d3e1e 171d4adb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1439,7 +1439,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
    }

    boolean scheduleTopResumedActivityChanged(boolean onTop) {
        if (!attachedToProcess()) {
        if (!attachedToProcess() || isState(DESTROYING, DESTROYED)) {
            ProtoLog.w(WM_DEBUG_STATES,
                    "Can't report activity position update - client not running, "
                            + "activityRecord=%s", this);
+4 −1
Original line number Diff line number Diff line
@@ -2281,6 +2281,9 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks {
     * sent to the new top resumed activity.
     */
    ActivityRecord updateTopResumedActivityIfNeeded(String reason) {
        if (!readyToResume()) {
            return mTopResumedActivity;
        }
        final ActivityRecord prevTopActivity = mTopResumedActivity;
        final Task topRootTask = mRootWindowContainer.getTopDisplayFocusedRootTask();
        if (topRootTask == null || topRootTask.getTopResumedActivity() == prevTopActivity) {
@@ -2341,8 +2344,8 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks {
                && mTopResumedActivity.scheduleTopResumedActivityChanged(false /* onTop */)) {
            scheduleTopResumedStateLossTimeout(mTopResumedActivity);
            mTopResumedActivityWaitingForPrev = true;
            mTopResumedActivity = null;
        }
        mTopResumedActivity = null;
    }

    /** Schedule top resumed state change if previous top activity already reported back. */
+0 −2
Original line number Diff line number Diff line
@@ -382,13 +382,11 @@ public class ActivityTaskManagerServiceTests extends WindowTestsBase {

    @Test
    public void testResumeNextActivityOnCrashedAppDied() {
        mSupervisor.beginDeferResume();
        final ActivityRecord homeActivity = new ActivityBuilder(mAtm)
                .setTask(mRootWindowContainer.getDefaultTaskDisplayArea().getOrCreateRootHomeTask())
                .build();
        final ActivityRecord activity = new ActivityBuilder(mAtm).setCreateTask(true).build();
        activity.setState(RESUMED, "test");
        mSupervisor.endDeferResume();

        assertEquals(activity.app, mAtm.mInternal.getTopApp());