Merge "Fix ViewRoot inset adjustment after initial setup." into nyc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
3446a6ef71
@@ -389,6 +389,8 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
/** Set to true once doDie() has been called. */
|
/** Set to true once doDie() has been called. */
|
||||||
private boolean mRemoved;
|
private boolean mRemoved;
|
||||||
|
|
||||||
|
private boolean mNeedsHwRendererSetup;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Consistency verifier for debugging purposes.
|
* Consistency verifier for debugging purposes.
|
||||||
*/
|
*/
|
||||||
@@ -915,6 +917,11 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
mWindowAttributes.surfaceInsets.set(
|
mWindowAttributes.surfaceInsets.set(
|
||||||
oldInsetLeft, oldInsetTop, oldInsetRight, oldInsetBottom);
|
oldInsetLeft, oldInsetTop, oldInsetRight, oldInsetBottom);
|
||||||
mWindowAttributes.hasManualSurfaceInsets = oldHasManualSurfaceInsets;
|
mWindowAttributes.hasManualSurfaceInsets = oldHasManualSurfaceInsets;
|
||||||
|
} else if (mWindowAttributes.surfaceInsets.left != oldInsetLeft
|
||||||
|
|| mWindowAttributes.surfaceInsets.top != oldInsetTop
|
||||||
|
|| mWindowAttributes.surfaceInsets.right != oldInsetRight
|
||||||
|
|| mWindowAttributes.surfaceInsets.bottom != oldInsetBottom) {
|
||||||
|
mNeedsHwRendererSetup = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
applyKeepScreenOnFlag(mWindowAttributes);
|
applyKeepScreenOnFlag(mWindowAttributes);
|
||||||
@@ -1959,9 +1966,11 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
if (hardwareRenderer != null && hardwareRenderer.isEnabled()) {
|
if (hardwareRenderer != null && hardwareRenderer.isEnabled()) {
|
||||||
if (hwInitialized
|
if (hwInitialized
|
||||||
|| mWidth != hardwareRenderer.getWidth()
|
|| mWidth != hardwareRenderer.getWidth()
|
||||||
|| mHeight != hardwareRenderer.getHeight()) {
|
|| mHeight != hardwareRenderer.getHeight()
|
||||||
|
|| mNeedsHwRendererSetup) {
|
||||||
hardwareRenderer.setup(mWidth, mHeight, mAttachInfo,
|
hardwareRenderer.setup(mWidth, mHeight, mAttachInfo,
|
||||||
mWindowAttributes.surfaceInsets);
|
mWindowAttributes.surfaceInsets);
|
||||||
|
mNeedsHwRendererSetup = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user