From 37dbafce9b89c52f0caa9fd191216e596bcb3d02 Mon Sep 17 00:00:00 2001 From: Wale Ogunwale Date: Mon, 27 Jun 2016 10:15:20 -0700 Subject: [PATCH] Added checks while unfreezing bounds - Make sure we don't try to remove from an empty list - No need to do anything if the relaunch count is already 0. Bug: 29758829 Change-Id: I042c231269a2297bb4b2ddd78092827c6738d192 --- .../java/com/android/server/wm/AppWindowToken.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java index 531146eb48631..edcc32e5b5876 100644 --- a/services/core/java/com/android/server/wm/AppWindowToken.java +++ b/services/core/java/com/android/server/wm/AppWindowToken.java @@ -626,6 +626,9 @@ class AppWindowToken extends WindowToken { } void clearRelaunching() { + if (mPendingRelaunchCount == 0) { + return; + } if (canFreezeBounds()) { unfreezeBounds(); } @@ -711,8 +714,12 @@ class AppWindowToken extends WindowToken { * Unfreezes the previously frozen bounds. See {@link #freezeBounds}. */ private void unfreezeBounds() { - mFrozenBounds.remove(); - mFrozenMergedConfig.remove(); + if (!mFrozenBounds.isEmpty()) { + mFrozenBounds.remove(); + } + if (!mFrozenMergedConfig.isEmpty()) { + mFrozenMergedConfig.remove(); + } for (int i = windows.size() - 1; i >= 0; i--) { final WindowState win = windows.get(i); if (!win.mHasSurface) {