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
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java
index 531146e..edcc32e 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 @@
}
void clearRelaunching() {
+ if (mPendingRelaunchCount == 0) {
+ return;
+ }
if (canFreezeBounds()) {
unfreezeBounds();
}
@@ -711,8 +714,12 @@
* 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) {