Merge "Fix NPE with display lists when view not attached" into honeycomb
This commit is contained in:
@@ -8227,6 +8227,21 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
|
||||
* @hide
|
||||
*/
|
||||
protected void dispatchGetDisplayList() {}
|
||||
|
||||
/**
|
||||
* A view that is not attached or hardware accelerated cannot create a display list.
|
||||
* This method checks these conditions and returns the appropriate result.
|
||||
*
|
||||
* @return true if view has the ability to create a display list, false otherwise.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
public boolean canHaveDisplayList() {
|
||||
if (mAttachInfo == null || mAttachInfo.mHardwareRenderer == null) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>Returns a display list that can be used to draw this view again
|
||||
@@ -8237,7 +8252,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, Accessibility
|
||||
* @hide
|
||||
*/
|
||||
public DisplayList getDisplayList() {
|
||||
if (mAttachInfo == null || mAttachInfo.mHardwareRenderer == null) {
|
||||
if (!canHaveDisplayList()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -2381,7 +2381,7 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
|
||||
} else if (layerType == LAYER_TYPE_NONE) {
|
||||
// Delay getting the display list until animation-driven alpha values are
|
||||
// set up and possibly passed on to the view
|
||||
hasDisplayList = true;
|
||||
hasDisplayList = child.canHaveDisplayList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user