diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index ae4c9cb80b46426a28c08a44b56d4e4c9bc9874f..4bf042dfd32c5cf62ef74d5bdba84ce9342f4b49 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -1701,7 +1701,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A : null; } - private void clearLastParentBeforePip() { + void clearLastParentBeforePip() { if (mLastParentBeforePip != null) { mLastParentBeforePip.mChildPipActivity = null; mLastParentBeforePip = null; diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index ba89657b2e29c13e26ab55f27d686fa811bed1b0..25957f15bd20dd925293d5541e2872a0c17b55a5 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -2604,6 +2604,9 @@ class Task extends TaskFragment { EventLogTags.writeWmTaskRemoved(mTaskId, reason); clearPinnedTaskIfNeed(); + if (mChildPipActivity != null) { + mChildPipActivity.clearLastParentBeforePip(); + } // If applicable let the TaskOrganizer know the Task is vanishing. setTaskOrganizer(null);