Loading services/core/java/com/android/server/wm/ActivityRecord.java +5 −5 Original line number Diff line number Diff line Loading @@ -2738,7 +2738,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A if (ensureVisibility) { mDisplayContent.ensureActivitiesVisible(null /* starting */, 0 /* configChanges */, false /* preserveWindows */, true /* notifyClients */); false /* preserveWindows */, true /* notifyClients */, mStackSupervisor.mUserLeaving); } } Loading Loading @@ -4752,7 +4753,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A handleAlreadyVisible(); } void makeInvisible() { void makeInvisible(boolean userLeaving) { if (!mVisibleRequested) { if (DEBUG_VISIBILITY) Slog.v(TAG_VISIBILITY, "Already invisible: " + this); return; Loading Loading @@ -4793,9 +4794,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // If the app is capable of entering PIP, we should try pausing it now // so it can PIP correctly. if (deferHidingClient) { getRootTask().startPausingLocked( mStackSupervisor.mUserLeaving /* userLeaving */, false /* uiSleeping */, null /* resuming */, "makeInvisible"); getRootTask().startPausingLocked(userLeaving, false /* uiSleeping */, null /* resuming */, "makeInvisible"); break; } case INITIALIZING: Loading services/core/java/com/android/server/wm/ActivityStackSupervisor.java +1 −1 Original line number Diff line number Diff line Loading @@ -2189,7 +2189,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { .notifyActivityDismissingDockedStack(); taskDisplayArea.onSplitScreenModeDismissed(task); taskDisplayArea.mDisplayContent.ensureActivitiesVisible(null, 0, PRESERVE_WINDOWS, true /* notifyClients */); true /* notifyClients */, mUserLeaving); } return; } Loading services/core/java/com/android/server/wm/ActivityTaskManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -2460,7 +2460,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } else { stack.setWindowingMode(windowingMode); stack.mDisplayContent.ensureActivitiesVisible(null, 0, PRESERVE_WINDOWS, true /* notifyClients */); true /* notifyClients */, mStackSupervisor.mUserLeaving); } return true; } finally { Loading services/core/java/com/android/server/wm/DisplayContent.java +2 −2 Original line number Diff line number Diff line Loading @@ -5308,7 +5308,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp void ensureActivitiesVisible(ActivityRecord starting, int configChanges, boolean preserveWindows, boolean notifyClients) { boolean preserveWindows, boolean notifyClients, boolean userLeaving) { if (mInEnsureActivitiesVisible) { // Don't do recursive work. return; Loading @@ -5317,7 +5317,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp try { forAllTaskDisplayAreas(taskDisplayArea -> { taskDisplayArea.ensureActivitiesVisible(starting, configChanges, preserveWindows, notifyClients); preserveWindows, notifyClients, userLeaving); }); } finally { mInEnsureActivitiesVisible = false; Loading services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java +8 −4 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ class EnsureActivitiesVisibleHelper { private int mConfigChanges; private boolean mPreserveWindows; private boolean mNotifyClients; private boolean mUserLeaving; EnsureActivitiesVisibleHelper(Task container) { mTask = container; Loading @@ -49,7 +50,7 @@ class EnsureActivitiesVisibleHelper { * be sent to the clients. */ void reset(ActivityRecord starting, int configChanges, boolean preserveWindows, boolean notifyClients) { boolean notifyClients, boolean userLeaving) { mStarting = starting; mTop = mTask.topRunningActivity(); // If the top activity is not fullscreen, then we need to make sure any activities under it Loading @@ -60,6 +61,7 @@ class EnsureActivitiesVisibleHelper { mConfigChanges = configChanges; mPreserveWindows = preserveWindows; mNotifyClients = notifyClients; mUserLeaving = userLeaving; } /** Loading @@ -76,10 +78,12 @@ class EnsureActivitiesVisibleHelper { * @param preserveWindows Flag indicating whether windows should be preserved when updating. * @param notifyClients Flag indicating whether the configuration and visibility changes shoulc * be sent to the clients. * @param userLeaving Flag indicating whether a userLeaving callback should be issued in the * case the activity is being set to invisible. */ void process(@Nullable ActivityRecord starting, int configChanges, boolean preserveWindows, boolean notifyClients) { reset(starting, configChanges, preserveWindows, notifyClients); boolean notifyClients, boolean userLeaving) { reset(starting, configChanges, preserveWindows, notifyClients, userLeaving); if (DEBUG_VISIBILITY) { Slog.v(TAG_VISIBILITY, "ensureActivitiesVisible behind " + mTop Loading Loading @@ -173,7 +177,7 @@ class EnsureActivitiesVisibleHelper { + " behindFullscreenActivity=" + mBehindFullscreenActivity + " mLaunchTaskBehind=" + r.mLaunchTaskBehind); } r.makeInvisible(); r.makeInvisible(mUserLeaving); } if (!mBehindFullscreenActivity && mTask.isActivityTypeHome() && r.isRootOfTask()) { Loading Loading
services/core/java/com/android/server/wm/ActivityRecord.java +5 −5 Original line number Diff line number Diff line Loading @@ -2738,7 +2738,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A if (ensureVisibility) { mDisplayContent.ensureActivitiesVisible(null /* starting */, 0 /* configChanges */, false /* preserveWindows */, true /* notifyClients */); false /* preserveWindows */, true /* notifyClients */, mStackSupervisor.mUserLeaving); } } Loading Loading @@ -4752,7 +4753,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A handleAlreadyVisible(); } void makeInvisible() { void makeInvisible(boolean userLeaving) { if (!mVisibleRequested) { if (DEBUG_VISIBILITY) Slog.v(TAG_VISIBILITY, "Already invisible: " + this); return; Loading Loading @@ -4793,9 +4794,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // If the app is capable of entering PIP, we should try pausing it now // so it can PIP correctly. if (deferHidingClient) { getRootTask().startPausingLocked( mStackSupervisor.mUserLeaving /* userLeaving */, false /* uiSleeping */, null /* resuming */, "makeInvisible"); getRootTask().startPausingLocked(userLeaving, false /* uiSleeping */, null /* resuming */, "makeInvisible"); break; } case INITIALIZING: Loading
services/core/java/com/android/server/wm/ActivityStackSupervisor.java +1 −1 Original line number Diff line number Diff line Loading @@ -2189,7 +2189,7 @@ public class ActivityStackSupervisor implements RecentTasks.Callbacks { .notifyActivityDismissingDockedStack(); taskDisplayArea.onSplitScreenModeDismissed(task); taskDisplayArea.mDisplayContent.ensureActivitiesVisible(null, 0, PRESERVE_WINDOWS, true /* notifyClients */); true /* notifyClients */, mUserLeaving); } return; } Loading
services/core/java/com/android/server/wm/ActivityTaskManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -2460,7 +2460,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { } else { stack.setWindowingMode(windowingMode); stack.mDisplayContent.ensureActivitiesVisible(null, 0, PRESERVE_WINDOWS, true /* notifyClients */); true /* notifyClients */, mStackSupervisor.mUserLeaving); } return true; } finally { Loading
services/core/java/com/android/server/wm/DisplayContent.java +2 −2 Original line number Diff line number Diff line Loading @@ -5308,7 +5308,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp void ensureActivitiesVisible(ActivityRecord starting, int configChanges, boolean preserveWindows, boolean notifyClients) { boolean preserveWindows, boolean notifyClients, boolean userLeaving) { if (mInEnsureActivitiesVisible) { // Don't do recursive work. return; Loading @@ -5317,7 +5317,7 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp try { forAllTaskDisplayAreas(taskDisplayArea -> { taskDisplayArea.ensureActivitiesVisible(starting, configChanges, preserveWindows, notifyClients); preserveWindows, notifyClients, userLeaving); }); } finally { mInEnsureActivitiesVisible = false; Loading
services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java +8 −4 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ class EnsureActivitiesVisibleHelper { private int mConfigChanges; private boolean mPreserveWindows; private boolean mNotifyClients; private boolean mUserLeaving; EnsureActivitiesVisibleHelper(Task container) { mTask = container; Loading @@ -49,7 +50,7 @@ class EnsureActivitiesVisibleHelper { * be sent to the clients. */ void reset(ActivityRecord starting, int configChanges, boolean preserveWindows, boolean notifyClients) { boolean notifyClients, boolean userLeaving) { mStarting = starting; mTop = mTask.topRunningActivity(); // If the top activity is not fullscreen, then we need to make sure any activities under it Loading @@ -60,6 +61,7 @@ class EnsureActivitiesVisibleHelper { mConfigChanges = configChanges; mPreserveWindows = preserveWindows; mNotifyClients = notifyClients; mUserLeaving = userLeaving; } /** Loading @@ -76,10 +78,12 @@ class EnsureActivitiesVisibleHelper { * @param preserveWindows Flag indicating whether windows should be preserved when updating. * @param notifyClients Flag indicating whether the configuration and visibility changes shoulc * be sent to the clients. * @param userLeaving Flag indicating whether a userLeaving callback should be issued in the * case the activity is being set to invisible. */ void process(@Nullable ActivityRecord starting, int configChanges, boolean preserveWindows, boolean notifyClients) { reset(starting, configChanges, preserveWindows, notifyClients); boolean notifyClients, boolean userLeaving) { reset(starting, configChanges, preserveWindows, notifyClients, userLeaving); if (DEBUG_VISIBILITY) { Slog.v(TAG_VISIBILITY, "ensureActivitiesVisible behind " + mTop Loading Loading @@ -173,7 +177,7 @@ class EnsureActivitiesVisibleHelper { + " behindFullscreenActivity=" + mBehindFullscreenActivity + " mLaunchTaskBehind=" + r.mLaunchTaskBehind); } r.makeInvisible(); r.makeInvisible(mUserLeaving); } if (!mBehindFullscreenActivity && mTask.isActivityTypeHome() && r.isRootOfTask()) { Loading