Fix build.
Revert "Merge getDisplayList and updateDisplayListIfDirty"
This reverts commit f85d064b53.
Change-Id: I8b1566aba67c385d72759ea2aea16edcd8477813
This commit is contained in:
@@ -41,7 +41,7 @@ public class GhostView extends View {
|
||||
final ViewGroup parent = (ViewGroup) mView.getParent();
|
||||
setGhostedVisibility(View.INVISIBLE);
|
||||
parent.mRecreateDisplayList = true;
|
||||
parent.updateDisplayListIfDirty();
|
||||
parent.getDisplayList();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -49,7 +49,7 @@ public class GhostView extends View {
|
||||
if (canvas instanceof DisplayListCanvas) {
|
||||
DisplayListCanvas dlCanvas = (DisplayListCanvas) canvas;
|
||||
mView.mRecreateDisplayList = true;
|
||||
RenderNode renderNode = mView.updateDisplayListIfDirty();
|
||||
RenderNode renderNode = mView.getDisplayList();
|
||||
if (renderNode.isValid()) {
|
||||
dlCanvas.insertReorderBarrier(); // enable shadow for this rendernode
|
||||
dlCanvas.drawRenderNode(renderNode);
|
||||
@@ -84,7 +84,7 @@ public class GhostView extends View {
|
||||
final ViewGroup parent = (ViewGroup) mView.getParent();
|
||||
if (parent != null) {
|
||||
parent.mRecreateDisplayList = true;
|
||||
parent.updateDisplayListIfDirty();
|
||||
parent.getDisplayList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -269,7 +269,7 @@ public class ThreadedRenderer extends HardwareRenderer {
|
||||
view.mRecreateDisplayList = (view.mPrivateFlags & View.PFLAG_INVALIDATED)
|
||||
== View.PFLAG_INVALIDATED;
|
||||
view.mPrivateFlags &= ~View.PFLAG_INVALIDATED;
|
||||
view.updateDisplayListIfDirty();
|
||||
view.getDisplayList();
|
||||
view.mRecreateDisplayList = false;
|
||||
}
|
||||
|
||||
@@ -285,7 +285,7 @@ public class ThreadedRenderer extends HardwareRenderer {
|
||||
callbacks.onHardwarePreDraw(canvas);
|
||||
|
||||
canvas.insertReorderBarrier();
|
||||
canvas.drawRenderNode(view.updateDisplayListIfDirty());
|
||||
canvas.drawRenderNode(view.getDisplayList());
|
||||
canvas.insertInorderBarrier();
|
||||
|
||||
callbacks.onHardwarePostDraw(canvas);
|
||||
|
||||
@@ -14551,11 +14551,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
return !(mAttachInfo == null || mAttachInfo.mHardwareRenderer == null);
|
||||
}
|
||||
|
||||
RenderNode updateDisplayListIfDirty() {
|
||||
private void updateDisplayListIfDirty() {
|
||||
final RenderNode renderNode = mRenderNode;
|
||||
if (!canHaveDisplayList()) {
|
||||
// can't populate RenderNode, don't try
|
||||
return renderNode;
|
||||
return;
|
||||
}
|
||||
|
||||
if ((mPrivateFlags & PFLAG_DRAWING_CACHE_VALID) == 0
|
||||
@@ -14569,7 +14569,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
mPrivateFlags &= ~PFLAG_DIRTY_MASK;
|
||||
dispatchGetDisplayList();
|
||||
|
||||
return renderNode; // no work needed
|
||||
return; // no work needed
|
||||
}
|
||||
|
||||
// If we got here, we're recreating it. Mark it as such to ensure that
|
||||
@@ -14618,7 +14618,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
mPrivateFlags |= PFLAG_DRAWN | PFLAG_DRAWING_CACHE_VALID;
|
||||
mPrivateFlags &= ~PFLAG_DIRTY_MASK;
|
||||
}
|
||||
return renderNode;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a RenderNode with View draw content recorded, which can be
|
||||
* used to draw this view again without executing its draw method.
|
||||
*
|
||||
* @return A RenderNode ready to replay, or null if caching is not enabled.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public RenderNode getDisplayList() {
|
||||
updateDisplayListIfDirty();
|
||||
return mRenderNode;
|
||||
}
|
||||
|
||||
private void resetDisplayList() {
|
||||
@@ -15380,7 +15392,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
if (drawingWithRenderNode) {
|
||||
// Delay getting the display list until animation-driven alpha values are
|
||||
// set up and possibly passed on to the view
|
||||
renderNode = updateDisplayListIfDirty();
|
||||
renderNode = getDisplayList();
|
||||
if (!renderNode.isValid()) {
|
||||
// Uncommon, but possible. If a view is removed from the hierarchy during the call
|
||||
// to getDisplayList(), the display list will be marked invalid and we should not
|
||||
|
||||
@@ -3524,9 +3524,10 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
|
||||
}
|
||||
|
||||
private void recreateChildDisplayList(View child) {
|
||||
child.mRecreateDisplayList = (child.mPrivateFlags & PFLAG_INVALIDATED) != 0;
|
||||
child.mRecreateDisplayList = (child.mPrivateFlags & PFLAG_INVALIDATED)
|
||||
== PFLAG_INVALIDATED;
|
||||
child.mPrivateFlags &= ~PFLAG_INVALIDATED;
|
||||
child.updateDisplayListIfDirty();
|
||||
child.getDisplayList();
|
||||
child.mRecreateDisplayList = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -2322,7 +2322,7 @@ public final class ViewRootImpl implements ViewParent,
|
||||
* @hide
|
||||
*/
|
||||
void outputDisplayList(View view) {
|
||||
RenderNode renderNode = view.updateDisplayListIfDirty();
|
||||
RenderNode renderNode = view.getDisplayList();
|
||||
if (renderNode != null) {
|
||||
renderNode.output();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user