Merge "Wait for all windows to draw before turning screen on" into klp-modular-dev
This commit is contained in:
@@ -10930,14 +10930,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();
|
||||
|
||||
Reference in New Issue
Block a user