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

Commit 5ddb3b7a authored by Wei Sheng Shih's avatar Wei Sheng Shih Committed by Android (Google) Code Review
Browse files

Merge "Hold WM lock when add starting window to TaskOrganizer" into sc-dev

parents bd3d2e9a c33648aa
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -2176,7 +2176,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
            ProtoLog.v(WM_DEBUG_STARTING_WINDOW, "Add starting %s: startingData=%s",
                    this, startingData);


            WindowManagerPolicy.StartingSurface surface = null;
            try {
                surface = startingData.createStartingSurface(ActivityRecord.this);
+15 −13
Original line number Diff line number Diff line
@@ -58,11 +58,13 @@ public class StartingSurfaceController {
                    overrideConfig, displayId);
        }

        synchronized (mService.mGlobalLock) {
            final Task task = activity.getTask();
        if (task != null && mService.mAtmService.mTaskOrganizerController.addStartingWindow(task,
                activity.token, theme)) {
            if (task != null && mService.mAtmService.mTaskOrganizerController.addStartingWindow(
                    task, activity.token, theme)) {
                return new ShellStartingSurface(task);
            }
        }
        return null;
    }

@@ -124,14 +126,13 @@ public class StartingSurfaceController {
                activity.mDisplayContent.handleTopActivityLaunchingInDifferentOrientation(
                        topFullscreenActivity, false /* checkOpening */);
            }
            if (DEBUG_ENABLE_SHELL_DRAWER) {
                mService.mAtmService.mTaskOrganizerController.addStartingWindow(task,
                        activity.token, 0 /* launchTheme */);
                return new ShellStartingSurface(task);
            }
        if (!DEBUG_ENABLE_SHELL_DRAWER) {
            return mService.mTaskSnapshotController
                    .createStartingSurface(activity, taskSnapshot);
        }
        mService.mAtmService.mTaskOrganizerController.addStartingWindow(task, activity.token,
                0 /* launchTheme */);
        return new ShellStartingSurface(task);
        return mService.mTaskSnapshotController.createStartingSurface(activity, taskSnapshot);
    }


@@ -144,8 +145,9 @@ public class StartingSurfaceController {

        @Override
        public void remove(boolean animate) {
            mService.mAtmService.mTaskOrganizerController.removeStartingWindow(mTask,
                    animate);
            synchronized (mService.mGlobalLock) {
                mService.mAtmService.mTaskOrganizerController.removeStartingWindow(mTask, animate);
            }
        }
    }
}