diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 2be9b34054d33..314864e2f917f 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -3967,6 +3967,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } else { onRemovedFromDisplay(); } + mActivityRecordInputSink.releaseSurfaceControl(); + super.removeImmediately(); } diff --git a/services/core/java/com/android/server/wm/ActivityRecordInputSink.java b/services/core/java/com/android/server/wm/ActivityRecordInputSink.java index ce49a8675890c..23a832496cc9c 100644 --- a/services/core/java/com/android/server/wm/ActivityRecordInputSink.java +++ b/services/core/java/com/android/server/wm/ActivityRecordInputSink.java @@ -99,4 +99,11 @@ class ActivityRecordInputSink { return inputWindowHandle; } + void releaseSurfaceControl() { + if (mSurfaceControl != null) { + mSurfaceControl.release(); + mSurfaceControl = null; + } + } + }