From 082500c76e82139208b3792cdbc283ef59092e16 Mon Sep 17 00:00:00 2001 From: Craig Mautner Date: Wed, 11 Feb 2015 13:24:19 -0800 Subject: [PATCH] Don't relayout based on a window that isn't visible The method commitFinishDrawingLocked returned true even if the window it was called for was hidden. By returning the value that performShowLocked() returns it only returns true if the window is shown. Fixes bug 19100757. Change-Id: I45df70aedcb3909561fd3a19e861579a11521db9 --- .../core/java/com/android/server/wm/WindowStateAnimator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java index c2d8004f1d1d2..4cdfc41ff0ee5 100644 --- a/services/core/java/com/android/server/wm/WindowStateAnimator.java +++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java @@ -542,9 +542,9 @@ class WindowStateAnimator { mDrawState = READY_TO_SHOW; final AppWindowToken atoken = mWin.mAppToken; if (atoken == null || atoken.allDrawn || mWin.mAttrs.type == TYPE_APPLICATION_STARTING) { - performShowLocked(); + return performShowLocked(); } - return true; + return false; } static class SurfaceTrace extends SurfaceControl {