diff options
author | Justin Koh <justinkoh@google.com> | 2014-07-17 10:55:56 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-07-17 10:55:56 +0000 |
commit | 75f317403f9bf7bbd3de8ec50868cb727f17ac45 (patch) | |
tree | dad9dc842c203ec2a031091789ca2ca804c3612e /services | |
parent | 95198b91665bb93473ea1ec68c69bdbfd0002d49 (diff) | |
parent | 77cdac05ba80925f6cdc4c349af0fa7567c36146 (diff) | |
download | frameworks_base-75f317403f9bf7bbd3de8ec50868cb727f17ac45.zip frameworks_base-75f317403f9bf7bbd3de8ec50868cb727f17ac45.tar.gz frameworks_base-75f317403f9bf7bbd3de8ec50868cb727f17ac45.tar.bz2 |
am 77cdac05: Merge "Wait for all windows to draw before turning screen on" into klp-modular-dev
* commit '77cdac05ba80925f6cdc4c349af0fa7567c36146':
Wait for all windows to draw before turning screen on
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 33887b6..dec4794 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -10943,14 +10943,19 @@ public class WindowManagerService extends IWindowManager.Stub public void waitForAllWindowsDrawn(IRemoteCallback callback, long timeout) { synchronized (mWindowMap) { mWaitingForDrawnCallback = callback; - final WindowList windows = getDefaultWindowListLocked(); - for (int winNdx = windows.size() - 1; winNdx >= 0; --winNdx) { - final WindowState win = windows.get(winNdx); - if (win.mHasSurface) { - win.mWinAnimator.mDrawState = WindowStateAnimator.DRAW_PENDING; - // Force add to mResizingWindows. - win.mLastContentInsets.set(-1, -1, -1, -1); - mWaitingForDrawn.add(win); + for (int displayNdx = mDisplayContents.size() - 1; displayNdx >= 0; --displayNdx) { + final WindowList windows = + mDisplayContents.valueAt(displayNdx).getWindowList(); + for (int winNdx = windows.size() - 1; winNdx >= 0; --winNdx) { + final WindowState win = windows.get(winNdx); + if (win.mHasSurface) { + win.mWinAnimator.mDrawState = WindowStateAnimator.DRAW_PENDING; + // Force add to mResizingWindows. + win.mLastContentInsets.set(-1, -1, -1, -1); + if (DEBUG_SCREEN_ON) Slog.d(TAG, "waitForAllWindowsDrawn: adding " + + win); + mWaitingForDrawn.add(win); + } } } requestTraversalLocked(); |