Loading services/core/java/com/android/server/wm/ActivityDisplay.java +11 −16 Original line number Diff line number Diff line Loading @@ -740,7 +740,7 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> } private void onSplitScreenModeDismissed() { mRootActivityContainer.mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { // Adjust the windowing mode of any stack in secondary split-screen to fullscreen. for (int i = mStacks.size() - 1; i >= 0; --i) { Loading @@ -764,12 +764,12 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> mHomeStack.moveToFront("onSplitScreenModeDismissed"); topFullscreenStack.moveToFront("onSplitScreenModeDismissed"); } mRootActivityContainer.mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } } private void onSplitScreenModeActivated() { mRootActivityContainer.mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { // Adjust the windowing mode of any affected by split-screen to split-screen secondary. for (int i = mStacks.size() - 1; i >= 0; --i) { Loading @@ -784,7 +784,7 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> false /* creating */); } } finally { mRootActivityContainer.mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } } Loading Loading @@ -1002,12 +1002,9 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> Configuration values = new Configuration(); mDisplayContent.computeScreenConfiguration(values); if (mService.mWindowManager != null) { final Message msg = PooledLambda.obtainMessage( mService.mH.sendMessage(PooledLambda.obtainMessage( ActivityManagerInternal::updateOomLevelsForDisplay, mService.mAmInternal, mDisplayId); mService.mH.sendMessage(msg); } mDisplayId)); Settings.System.clearConfiguration(values); updateDisplayOverrideConfigurationLocked(values, null /* starting */, Loading @@ -1026,9 +1023,7 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> int changes = 0; boolean kept = true; if (mService.mWindowManager != null) { mService.mWindowManager.deferSurfaceLayout(); } mService.deferWindowLayout(); try { if (values != null) { if (mDisplayId == DEFAULT_DISPLAY) { Loading @@ -1045,9 +1040,7 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> kept = mService.ensureConfigAndVisibilityAfterUpdate(starting, changes); } finally { if (mService.mWindowManager != null) { mService.mWindowManager.continueSurfaceLayout(); } mService.continueWindowLayout(); } if (result != null) { Loading Loading @@ -1096,6 +1089,8 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> mService.mWindowManager.setNewDisplayOverrideConfiguration( overrideConfiguration, mDisplayContent); } mService.addWindowLayoutReasons( ActivityTaskManagerService.LAYOUT_REASON_CONFIG_CHANGED); } @Override Loading services/core/java/com/android/server/wm/ActivityRecord.java +4 −2 Original line number Diff line number Diff line Loading @@ -1703,7 +1703,7 @@ final class ActivityRecord extends ConfigurationContainer { // is not visible if it only contains finishing activities. && mRootActivityContainer.isTopDisplayFocusedStack(stack); mAtmService.mWindowManager.deferSurfaceLayout(); mAtmService.deferWindowLayout(); try { makeFinishingLocked(); final TaskRecord task = getTaskRecord(); Loading Loading @@ -1809,7 +1809,7 @@ final class ActivityRecord extends ConfigurationContainer { return FINISH_RESULT_REQUESTED; } finally { mAtmService.mWindowManager.continueSurfaceLayout(); mAtmService.continueWindowLayout(); } } Loading Loading @@ -2547,6 +2547,8 @@ final class ActivityRecord extends ConfigurationContainer { return; } mAppWindowToken.setVisibility(visible, mDeferHidingClient); mAtmService.addWindowLayoutReasons( ActivityTaskManagerService.LAYOUT_REASON_VISIBILITY_CHANGED); mStackSupervisor.getActivityMetricsLogger().notifyVisibilityChanged(this); } Loading services/core/java/com/android/server/wm/ActivityStack.java +6 −7 Original line number Diff line number Diff line Loading @@ -757,7 +757,6 @@ class ActivityStack extends ConfigurationContainer { return; } final WindowManagerService wm = mService.mWindowManager; final ActivityRecord topActivity = getTopActivity(); // For now, assume that the Stack's windowing mode is what will actually be used Loading @@ -779,7 +778,7 @@ class ActivityStack extends ConfigurationContainer { topTask.taskId, FORCED_RESIZEABLE_REASON_SPLIT_SCREEN, packageName); } wm.deferSurfaceLayout(); mService.deferWindowLayout(); try { if (!animate && topActivity != null) { mStackSupervisor.mNoAnimActivities.add(topActivity); Loading Loading @@ -850,7 +849,7 @@ class ActivityStack extends ConfigurationContainer { // If task moved to docked stack - show recents if needed. mService.mWindowManager.showRecentApps(); } wm.continueSurfaceLayout(); mService.continueWindowLayout(); } if (!deferEnsuringVisibility) { Loading Loading @@ -1750,11 +1749,11 @@ class ActivityStack extends ConfigurationContainer { if (mPausingActivity == r) { if (DEBUG_STATES) Slog.v(TAG_STATES, "Moving to PAUSED: " + r + (timeout ? " (due to timeout)" : " (pause complete)")); mService.mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { completePauseLocked(true /* resumeNext */, null /* resumingActivity */); } finally { mService.mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } return; } else { Loading Loading @@ -4360,7 +4359,7 @@ class ActivityStack extends ConfigurationContainer { } Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "stack.resize_" + mStackId); mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { // Update override configurations of all tasks in the stack. final Rect taskBounds = tempTaskBounds != null ? tempTaskBounds : bounds; Loading @@ -4384,7 +4383,7 @@ class ActivityStack extends ConfigurationContainer { topRunningActivityLocked(), preserveWindows); } } finally { mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); } } Loading services/core/java/com/android/server/wm/ActivityStackSupervisor.java +8 −9 Original line number Diff line number Diff line Loading @@ -1495,7 +1495,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { private void moveTasksToFullscreenStackInSurfaceTransaction(ActivityStack fromStack, int toDisplayId, boolean onTop) { mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { final int windowingMode = fromStack.getWindowingMode(); final boolean inPinnedWindowingMode = windowingMode == WINDOWING_MODE_PINNED; Loading Loading @@ -1561,7 +1561,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { mRootActivityContainer.resumeFocusedStacksTopActivities(); } finally { mAllowDockedStackResize = true; mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } } Loading Loading @@ -1630,7 +1630,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { } Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "am.resizeDockedStack"); mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { // Don't allow re-entry while resizing. E.g. due to docked stack detaching. mAllowDockedStackResize = false; Loading Loading @@ -1694,7 +1694,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { } } finally { mAllowDockedStackResize = true; mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); } } Loading @@ -1718,9 +1718,8 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { } Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "am.resizePinnedStack"); mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { ActivityRecord r = stack.topRunningActivityLocked(); Rect insetBounds = null; if (tempPinnedTaskBounds != null && stack.isAnimatingBoundsToFullscreen()) { // Use 0,0 as the position for the inset rect because we are headed for fullscreen. Loading @@ -1739,7 +1738,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { stack.resize(pinnedBounds, tempPinnedTaskBounds, insetBounds, !PRESERVE_WINDOWS, !DEFER_RESUME); } finally { mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); } } Loading Loading @@ -2731,7 +2730,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { + taskId + " can't be launch in the home/recents stack."); } mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY) { mWindowManager.setDockedStackCreateStateLocked( Loading Loading @@ -2822,7 +2821,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { mWindowManager.checkSplitScreenMinimizedChanged(false /* animate */); } } mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } } Loading services/core/java/com/android/server/wm/ActivityStarter.java +2 −2 Original line number Diff line number Diff line Loading @@ -1400,7 +1400,7 @@ class ActivityStarter { int result = START_CANCELED; final ActivityStack startedActivityStack; try { mService.mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); result = startActivityUnchecked(r, sourceRecord, voiceSession, voiceInteractor, startFlags, doResume, options, inTask, outActivity, restrictedBgActivity); } finally { Loading Loading @@ -1436,7 +1436,7 @@ class ActivityStarter { startedActivityStack.remove(); } } mService.mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } postStartActivityProcessing(r, result, startedActivityStack); Loading Loading
services/core/java/com/android/server/wm/ActivityDisplay.java +11 −16 Original line number Diff line number Diff line Loading @@ -740,7 +740,7 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> } private void onSplitScreenModeDismissed() { mRootActivityContainer.mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { // Adjust the windowing mode of any stack in secondary split-screen to fullscreen. for (int i = mStacks.size() - 1; i >= 0; --i) { Loading @@ -764,12 +764,12 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> mHomeStack.moveToFront("onSplitScreenModeDismissed"); topFullscreenStack.moveToFront("onSplitScreenModeDismissed"); } mRootActivityContainer.mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } } private void onSplitScreenModeActivated() { mRootActivityContainer.mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { // Adjust the windowing mode of any affected by split-screen to split-screen secondary. for (int i = mStacks.size() - 1; i >= 0; --i) { Loading @@ -784,7 +784,7 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> false /* creating */); } } finally { mRootActivityContainer.mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } } Loading Loading @@ -1002,12 +1002,9 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> Configuration values = new Configuration(); mDisplayContent.computeScreenConfiguration(values); if (mService.mWindowManager != null) { final Message msg = PooledLambda.obtainMessage( mService.mH.sendMessage(PooledLambda.obtainMessage( ActivityManagerInternal::updateOomLevelsForDisplay, mService.mAmInternal, mDisplayId); mService.mH.sendMessage(msg); } mDisplayId)); Settings.System.clearConfiguration(values); updateDisplayOverrideConfigurationLocked(values, null /* starting */, Loading @@ -1026,9 +1023,7 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> int changes = 0; boolean kept = true; if (mService.mWindowManager != null) { mService.mWindowManager.deferSurfaceLayout(); } mService.deferWindowLayout(); try { if (values != null) { if (mDisplayId == DEFAULT_DISPLAY) { Loading @@ -1045,9 +1040,7 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> kept = mService.ensureConfigAndVisibilityAfterUpdate(starting, changes); } finally { if (mService.mWindowManager != null) { mService.mWindowManager.continueSurfaceLayout(); } mService.continueWindowLayout(); } if (result != null) { Loading Loading @@ -1096,6 +1089,8 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> mService.mWindowManager.setNewDisplayOverrideConfiguration( overrideConfiguration, mDisplayContent); } mService.addWindowLayoutReasons( ActivityTaskManagerService.LAYOUT_REASON_CONFIG_CHANGED); } @Override Loading
services/core/java/com/android/server/wm/ActivityRecord.java +4 −2 Original line number Diff line number Diff line Loading @@ -1703,7 +1703,7 @@ final class ActivityRecord extends ConfigurationContainer { // is not visible if it only contains finishing activities. && mRootActivityContainer.isTopDisplayFocusedStack(stack); mAtmService.mWindowManager.deferSurfaceLayout(); mAtmService.deferWindowLayout(); try { makeFinishingLocked(); final TaskRecord task = getTaskRecord(); Loading Loading @@ -1809,7 +1809,7 @@ final class ActivityRecord extends ConfigurationContainer { return FINISH_RESULT_REQUESTED; } finally { mAtmService.mWindowManager.continueSurfaceLayout(); mAtmService.continueWindowLayout(); } } Loading Loading @@ -2547,6 +2547,8 @@ final class ActivityRecord extends ConfigurationContainer { return; } mAppWindowToken.setVisibility(visible, mDeferHidingClient); mAtmService.addWindowLayoutReasons( ActivityTaskManagerService.LAYOUT_REASON_VISIBILITY_CHANGED); mStackSupervisor.getActivityMetricsLogger().notifyVisibilityChanged(this); } Loading
services/core/java/com/android/server/wm/ActivityStack.java +6 −7 Original line number Diff line number Diff line Loading @@ -757,7 +757,6 @@ class ActivityStack extends ConfigurationContainer { return; } final WindowManagerService wm = mService.mWindowManager; final ActivityRecord topActivity = getTopActivity(); // For now, assume that the Stack's windowing mode is what will actually be used Loading @@ -779,7 +778,7 @@ class ActivityStack extends ConfigurationContainer { topTask.taskId, FORCED_RESIZEABLE_REASON_SPLIT_SCREEN, packageName); } wm.deferSurfaceLayout(); mService.deferWindowLayout(); try { if (!animate && topActivity != null) { mStackSupervisor.mNoAnimActivities.add(topActivity); Loading Loading @@ -850,7 +849,7 @@ class ActivityStack extends ConfigurationContainer { // If task moved to docked stack - show recents if needed. mService.mWindowManager.showRecentApps(); } wm.continueSurfaceLayout(); mService.continueWindowLayout(); } if (!deferEnsuringVisibility) { Loading Loading @@ -1750,11 +1749,11 @@ class ActivityStack extends ConfigurationContainer { if (mPausingActivity == r) { if (DEBUG_STATES) Slog.v(TAG_STATES, "Moving to PAUSED: " + r + (timeout ? " (due to timeout)" : " (pause complete)")); mService.mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { completePauseLocked(true /* resumeNext */, null /* resumingActivity */); } finally { mService.mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } return; } else { Loading Loading @@ -4360,7 +4359,7 @@ class ActivityStack extends ConfigurationContainer { } Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "stack.resize_" + mStackId); mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { // Update override configurations of all tasks in the stack. final Rect taskBounds = tempTaskBounds != null ? tempTaskBounds : bounds; Loading @@ -4384,7 +4383,7 @@ class ActivityStack extends ConfigurationContainer { topRunningActivityLocked(), preserveWindows); } } finally { mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); } } Loading
services/core/java/com/android/server/wm/ActivityStackSupervisor.java +8 −9 Original line number Diff line number Diff line Loading @@ -1495,7 +1495,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { private void moveTasksToFullscreenStackInSurfaceTransaction(ActivityStack fromStack, int toDisplayId, boolean onTop) { mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { final int windowingMode = fromStack.getWindowingMode(); final boolean inPinnedWindowingMode = windowingMode == WINDOWING_MODE_PINNED; Loading Loading @@ -1561,7 +1561,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { mRootActivityContainer.resumeFocusedStacksTopActivities(); } finally { mAllowDockedStackResize = true; mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } } Loading Loading @@ -1630,7 +1630,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { } Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "am.resizeDockedStack"); mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { // Don't allow re-entry while resizing. E.g. due to docked stack detaching. mAllowDockedStackResize = false; Loading Loading @@ -1694,7 +1694,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { } } finally { mAllowDockedStackResize = true; mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); } } Loading @@ -1718,9 +1718,8 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { } Trace.traceBegin(TRACE_TAG_ACTIVITY_MANAGER, "am.resizePinnedStack"); mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { ActivityRecord r = stack.topRunningActivityLocked(); Rect insetBounds = null; if (tempPinnedTaskBounds != null && stack.isAnimatingBoundsToFullscreen()) { // Use 0,0 as the position for the inset rect because we are headed for fullscreen. Loading @@ -1739,7 +1738,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { stack.resize(pinnedBounds, tempPinnedTaskBounds, insetBounds, !PRESERVE_WINDOWS, !DEFER_RESUME); } finally { mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); Trace.traceEnd(TRACE_TAG_ACTIVITY_MANAGER); } } Loading Loading @@ -2731,7 +2730,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { + taskId + " can't be launch in the home/recents stack."); } mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); try { if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY) { mWindowManager.setDockedStackCreateStateLocked( Loading Loading @@ -2822,7 +2821,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { mWindowManager.checkSplitScreenMinimizedChanged(false /* animate */); } } mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } } Loading
services/core/java/com/android/server/wm/ActivityStarter.java +2 −2 Original line number Diff line number Diff line Loading @@ -1400,7 +1400,7 @@ class ActivityStarter { int result = START_CANCELED; final ActivityStack startedActivityStack; try { mService.mWindowManager.deferSurfaceLayout(); mService.deferWindowLayout(); result = startActivityUnchecked(r, sourceRecord, voiceSession, voiceInteractor, startFlags, doResume, options, inTask, outActivity, restrictedBgActivity); } finally { Loading Loading @@ -1436,7 +1436,7 @@ class ActivityStarter { startedActivityStack.remove(); } } mService.mWindowManager.continueSurfaceLayout(); mService.continueWindowLayout(); } postStartActivityProcessing(r, result, startedActivityStack); Loading