Merge "Do not gate updating allDrawn on all child WindowStates." into oc-dr1-dev

This commit is contained in:
Bryce Lee
2017-07-13 02:12:29 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 4 deletions

View File

@@ -1357,8 +1357,10 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree
* @return {@code true} If all children have been considered, {@code false}. * @return {@code true} If all children have been considered, {@code false}.
*/ */
private boolean allDrawnStatesConsidered() { private boolean allDrawnStatesConsidered() {
for (WindowState child : mChildren) { for (int i = mChildren.size() - 1; i >= 0; --i) {
if (!child.getDrawnStatedEvaluated()) { final WindowState child = mChildren.get(i);
if (child.mightAffectAllDrawn(false /*visibleOnly*/ )
&& !child.getDrawnStateEvaluated()) {
return false; return false;
} }
} }

View File

@@ -685,7 +685,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
/** /**
* Returns whether this {@link WindowState} has been considered for drawing by its parent. * Returns whether this {@link WindowState} has been considered for drawing by its parent.
*/ */
boolean getDrawnStatedEvaluated() { boolean getDrawnStateEvaluated() {
return mDrawnStateEvaluated; return mDrawnStateEvaluated;
} }
@@ -3367,7 +3367,11 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
pw.print(prefix); pw.print("mAppToken="); pw.println(mAppToken); pw.print(prefix); pw.print("mAppToken="); pw.println(mAppToken);
pw.print(prefix); pw.print(" isAnimatingWithSavedSurface()="); pw.print(prefix); pw.print(" isAnimatingWithSavedSurface()=");
pw.print(isAnimatingWithSavedSurface()); pw.print(isAnimatingWithSavedSurface());
pw.print(" mAppDied=");pw.println(mAppDied); pw.print(" mAppDied=");pw.print(mAppDied);
pw.print(prefix); pw.print("drawnStateEvaluated=");
pw.print(getDrawnStateEvaluated());
pw.print(prefix); pw.print("mightAffectAllDrawn=");
pw.println(mightAffectAllDrawn(false /*visibleOnly*/));
} }
pw.print(prefix); pw.print("mViewVisibility=0x"); pw.print(prefix); pw.print("mViewVisibility=0x");
pw.print(Integer.toHexString(mViewVisibility)); pw.print(Integer.toHexString(mViewVisibility));
@@ -3510,6 +3514,8 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
if (computeDragResizing()) { if (computeDragResizing()) {
pw.print(prefix); pw.println("computeDragResizing=" + computeDragResizing()); pw.print(prefix); pw.println("computeDragResizing=" + computeDragResizing());
} }
pw.print(prefix); pw.println("isOnScreen=" + isOnScreen());
pw.print(prefix); pw.println("isVisible=" + isVisible());
} }
@Override @Override