Loading services/core/java/com/android/server/wm/ActivityRecord.java +1 −4 Original line number Original line Diff line number Diff line Loading @@ -6562,10 +6562,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // Schedule an idle timeout in case the app doesn't do it for us. // Schedule an idle timeout in case the app doesn't do it for us. mTaskSupervisor.scheduleIdleTimeout(this); mTaskSupervisor.scheduleIdleTimeout(this); mTaskSupervisor.mStoppingActivities.remove(this); mTaskSupervisor.reportResumedActivityLocked(this); if (getDisplayArea().allResumedActivitiesComplete()) { mRootWindowContainer.executeAppTransitionForAllDisplay(); } resumeKeyDispatchingLocked(); resumeKeyDispatchingLocked(); final Task rootTask = getRootTask(); final Task rootTask = getRootTask(); Loading services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +15 −0 Original line number Original line Diff line number Diff line Loading @@ -2064,6 +2064,21 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { } } } } boolean reportResumedActivityLocked(ActivityRecord r) { // A resumed activity cannot be stopping. remove from list mStoppingActivities.remove(r); final Task rootTask = r.getRootTask(); if (rootTask.getDisplayArea().allResumedActivitiesComplete()) { mRootWindowContainer.ensureActivitiesVisible(); // Make sure activity & window visibility should be identical // for all displays in this stage. mRootWindowContainer.executeAppTransitionForAllDisplay(); return true; } return false; } // Called when WindowManager has finished animating the launchingBehind activity to the back. // Called when WindowManager has finished animating the launchingBehind activity to the back. private void handleLaunchTaskBehindCompleteLocked(ActivityRecord r) { private void handleLaunchTaskBehindCompleteLocked(ActivityRecord r) { final Task task = r.getTask(); final Task task = r.getTask(); Loading services/core/java/com/android/server/wm/RootWindowContainer.java +0 −2 Original line number Original line Diff line number Diff line Loading @@ -1905,7 +1905,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> // Don't do recursive work. // Don't do recursive work. return; return; } } Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "RWC_ensureActivitiesVisible"); mTaskSupervisor.beginActivityVisibilityUpdate(); mTaskSupervisor.beginActivityVisibilityUpdate(); try { try { // First the front root tasks. In case any are not fullscreen and are in front of home. // First the front root tasks. In case any are not fullscreen and are in front of home. Loading @@ -1915,7 +1914,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> } } } finally { } finally { mTaskSupervisor.endActivityVisibilityUpdate(); mTaskSupervisor.endActivityVisibilityUpdate(); Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); } } } } Loading Loading
services/core/java/com/android/server/wm/ActivityRecord.java +1 −4 Original line number Original line Diff line number Diff line Loading @@ -6562,10 +6562,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // Schedule an idle timeout in case the app doesn't do it for us. // Schedule an idle timeout in case the app doesn't do it for us. mTaskSupervisor.scheduleIdleTimeout(this); mTaskSupervisor.scheduleIdleTimeout(this); mTaskSupervisor.mStoppingActivities.remove(this); mTaskSupervisor.reportResumedActivityLocked(this); if (getDisplayArea().allResumedActivitiesComplete()) { mRootWindowContainer.executeAppTransitionForAllDisplay(); } resumeKeyDispatchingLocked(); resumeKeyDispatchingLocked(); final Task rootTask = getRootTask(); final Task rootTask = getRootTask(); Loading
services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +15 −0 Original line number Original line Diff line number Diff line Loading @@ -2064,6 +2064,21 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { } } } } boolean reportResumedActivityLocked(ActivityRecord r) { // A resumed activity cannot be stopping. remove from list mStoppingActivities.remove(r); final Task rootTask = r.getRootTask(); if (rootTask.getDisplayArea().allResumedActivitiesComplete()) { mRootWindowContainer.ensureActivitiesVisible(); // Make sure activity & window visibility should be identical // for all displays in this stage. mRootWindowContainer.executeAppTransitionForAllDisplay(); return true; } return false; } // Called when WindowManager has finished animating the launchingBehind activity to the back. // Called when WindowManager has finished animating the launchingBehind activity to the back. private void handleLaunchTaskBehindCompleteLocked(ActivityRecord r) { private void handleLaunchTaskBehindCompleteLocked(ActivityRecord r) { final Task task = r.getTask(); final Task task = r.getTask(); Loading
services/core/java/com/android/server/wm/RootWindowContainer.java +0 −2 Original line number Original line Diff line number Diff line Loading @@ -1905,7 +1905,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> // Don't do recursive work. // Don't do recursive work. return; return; } } Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "RWC_ensureActivitiesVisible"); mTaskSupervisor.beginActivityVisibilityUpdate(); mTaskSupervisor.beginActivityVisibilityUpdate(); try { try { // First the front root tasks. In case any are not fullscreen and are in front of home. // First the front root tasks. In case any are not fullscreen and are in front of home. Loading @@ -1915,7 +1914,6 @@ class RootWindowContainer extends WindowContainer<DisplayContent> } } } finally { } finally { mTaskSupervisor.endActivityVisibilityUpdate(); mTaskSupervisor.endActivityVisibilityUpdate(); Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); } } } } Loading