diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/AppWindowToken.java | 3 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/Task.java | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java index e0d3fbed4587..8624bff11a18 100644 --- a/services/core/java/com/android/server/wm/AppWindowToken.java +++ b/services/core/java/com/android/server/wm/AppWindowToken.java @@ -746,6 +746,9 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree @Override void removeImmediately() { onRemovedFromDisplay(); + if (mActivityRecord != null) { + mActivityRecord.unregisterConfigurationChangeListener(this); + } super.removeImmediately(); } diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 69d9810dd207..b10fd31ba7ad 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -201,6 +201,9 @@ class Task extends WindowContainer<AppWindowToken> implements ConfigurationConta if (DEBUG_STACK) Slog.i(TAG, "removeTask: removing taskId=" + mTaskId); EventLog.writeEvent(WM_TASK_REMOVED, mTaskId, "removeTask"); mDeferRemoval = false; + if (mTaskRecord != null) { + mTaskRecord.unregisterConfigurationChangeListener(this); + } super.removeImmediately(); } |