Add window leak check and possible recovery.
Search output for "!!! LEAK !!!"
For bug 8322020.
Change-Id: I6db572a1c7fe0e6b386ccb0dba08bc376659a75a
diff --git a/services/java/com/android/server/wm/WindowState.java b/services/java/com/android/server/wm/WindowState.java
index a0ed530..506fcec 100644
--- a/services/java/com/android/server/wm/WindowState.java
+++ b/services/java/com/android/server/wm/WindowState.java
@@ -997,6 +997,9 @@
Slog.i(TAG, "WIN DEATH: " + win);
if (win != null) {
mService.removeWindowLocked(mSession, win);
+ } else if (WindowState.this.mHasSurface) {
+ Slog.e(TAG, "!!! LEAK !!! Window removed but surface still valid.");
+ mService.removeWindowLocked(mSession, WindowState.this);
}
}
} catch (IllegalArgumentException ex) {