Loading services/core/java/com/android/server/wm/ActivityRecord.java +6 −0 Original line number Diff line number Diff line Loading @@ -5033,6 +5033,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A void notifyAppStopped() { ProtoLog.v(WM_DEBUG_ADD_REMOVE, "notifyAppStopped: %s", this); mAppStopped = true; // This is to fix the edge case that auto-enter-pip is finished in Launcher but app calls // setAutoEnterEnabled(false) and transitions to STOPPED state, see b/191930787. // Clear any surface transactions and content overlay in this case. if (task != null && task.mLastRecentsAnimationTransaction != null) { task.clearLastRecentsAnimationTransaction(true /* forceRemoveOverlay */); } // Reset the last saved PiP snap fraction on app stop. mDisplayContent.mPinnedTaskController.onActivityHidden(mActivityComponent); mDisplayContent.mUnknownAppVisibilityController.appRemovedOrHidden(this); Loading services/core/java/com/android/server/wm/RootWindowContainer.java +1 −1 Original line number Diff line number Diff line Loading @@ -2151,7 +2151,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent> rootTask.setLastRecentsAnimationTransaction( task.mLastRecentsAnimationTransaction, task.mLastRecentsAnimationOverlay); task.clearLastRecentsAnimationTransaction(); task.clearLastRecentsAnimationTransaction(false /* forceRemoveOverlay */); } // There are multiple activities in the task and moving the top activity should Loading services/core/java/com/android/server/wm/Task.java +4 −1 Original line number Diff line number Diff line Loading @@ -7627,7 +7627,10 @@ class Task extends WindowContainer<WindowContainer> { mLastRecentsAnimationOverlay = overlay; } void clearLastRecentsAnimationTransaction() { void clearLastRecentsAnimationTransaction(boolean forceRemoveOverlay) { if (forceRemoveOverlay && mLastRecentsAnimationOverlay != null) { getPendingTransaction().remove(mLastRecentsAnimationOverlay); } mLastRecentsAnimationTransaction = null; mLastRecentsAnimationOverlay = null; // reset also the crop and transform introduced by mLastRecentsAnimationTransaction Loading Loading
services/core/java/com/android/server/wm/ActivityRecord.java +6 −0 Original line number Diff line number Diff line Loading @@ -5033,6 +5033,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A void notifyAppStopped() { ProtoLog.v(WM_DEBUG_ADD_REMOVE, "notifyAppStopped: %s", this); mAppStopped = true; // This is to fix the edge case that auto-enter-pip is finished in Launcher but app calls // setAutoEnterEnabled(false) and transitions to STOPPED state, see b/191930787. // Clear any surface transactions and content overlay in this case. if (task != null && task.mLastRecentsAnimationTransaction != null) { task.clearLastRecentsAnimationTransaction(true /* forceRemoveOverlay */); } // Reset the last saved PiP snap fraction on app stop. mDisplayContent.mPinnedTaskController.onActivityHidden(mActivityComponent); mDisplayContent.mUnknownAppVisibilityController.appRemovedOrHidden(this); Loading
services/core/java/com/android/server/wm/RootWindowContainer.java +1 −1 Original line number Diff line number Diff line Loading @@ -2151,7 +2151,7 @@ class RootWindowContainer extends WindowContainer<DisplayContent> rootTask.setLastRecentsAnimationTransaction( task.mLastRecentsAnimationTransaction, task.mLastRecentsAnimationOverlay); task.clearLastRecentsAnimationTransaction(); task.clearLastRecentsAnimationTransaction(false /* forceRemoveOverlay */); } // There are multiple activities in the task and moving the top activity should Loading
services/core/java/com/android/server/wm/Task.java +4 −1 Original line number Diff line number Diff line Loading @@ -7627,7 +7627,10 @@ class Task extends WindowContainer<WindowContainer> { mLastRecentsAnimationOverlay = overlay; } void clearLastRecentsAnimationTransaction() { void clearLastRecentsAnimationTransaction(boolean forceRemoveOverlay) { if (forceRemoveOverlay && mLastRecentsAnimationOverlay != null) { getPendingTransaction().remove(mLastRecentsAnimationOverlay); } mLastRecentsAnimationTransaction = null; mLastRecentsAnimationOverlay = null; // reset also the crop and transform introduced by mLastRecentsAnimationTransaction Loading