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) {
|
public void waitForAllWindowsDrawn(IRemoteCallback callback, long timeout) {
|
||||||
synchronized (mWindowMap) {
|
synchronized (mWindowMap) {
|
||||||
mWaitingForDrawnCallback = callback;
|
mWaitingForDrawnCallback = callback;
|
||||||
final WindowList windows = getDefaultWindowListLocked();
|
for (int displayNdx = mDisplayContents.size() - 1; displayNdx >= 0; --displayNdx) {
|
||||||
for (int winNdx = windows.size() - 1; winNdx >= 0; --winNdx) {
|
final WindowList windows =
|
||||||
final WindowState win = windows.get(winNdx);
|
mDisplayContents.valueAt(displayNdx).getWindowList();
|
||||||
if (win.mHasSurface) {
|
for (int winNdx = windows.size() - 1; winNdx >= 0; --winNdx) {
|
||||||
win.mWinAnimator.mDrawState = WindowStateAnimator.DRAW_PENDING;
|
final WindowState win = windows.get(winNdx);
|
||||||
// Force add to mResizingWindows.
|
if (win.mHasSurface) {
|
||||||
win.mLastContentInsets.set(-1, -1, -1, -1);
|
win.mWinAnimator.mDrawState = WindowStateAnimator.DRAW_PENDING;
|
||||||
mWaitingForDrawn.add(win);
|
// 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();
|
requestTraversalLocked();
|
||||||
|
|||||||
Reference in New Issue
Block a user