diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/ActivityRecord.java | 1 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/EmbeddedWindowController.java | 20 |
2 files changed, 7 insertions, 14 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index d0f86c0a9239..71502c667f02 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -4375,7 +4375,6 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // Reset the last saved PiP snap fraction on removal. mDisplayContent.mPinnedTaskController.onActivityHidden(mActivityComponent); mDisplayContent.onRunningActivityChanged(); - mWmService.mEmbeddedWindowController.onActivityRemoved(this); mRemovingFromDisplay = false; } diff --git a/services/core/java/com/android/server/wm/EmbeddedWindowController.java b/services/core/java/com/android/server/wm/EmbeddedWindowController.java index 98027bbed37f..c9bae127b800 100644 --- a/services/core/java/com/android/server/wm/EmbeddedWindowController.java +++ b/services/core/java/com/android/server/wm/EmbeddedWindowController.java @@ -135,19 +135,6 @@ class EmbeddedWindowController { return mWindowsByWindowToken.get(windowToken); } - void onActivityRemoved(ActivityRecord activityRecord) { - for (int i = mWindows.size() - 1; i >= 0; i--) { - final EmbeddedWindow window = mWindows.valueAt(i); - if (window.mHostActivityRecord == activityRecord) { - final WindowProcessController processController = - mAtmService.getProcessController(window.mOwnerPid, window.mOwnerUid); - if (processController != null) { - processController.removeHostActivity(activityRecord); - } - } - } - } - static class EmbeddedWindow implements InputTarget { final IWindow mClient; @Nullable final WindowState mHostWindowState; @@ -230,6 +217,13 @@ class EmbeddedWindowController { mInputChannel.dispose(); mInputChannel = null; } + if (mHostActivityRecord != null) { + final WindowProcessController wpc = + mWmService.mAtmService.getProcessController(mOwnerPid, mOwnerUid); + if (wpc != null) { + wpc.removeHostActivity(mHostActivityRecord); + } + } } @Override |