* commit '638f17c1b72ac226569dc08e2232adaf97349095': TextureView works best when it draws stuff. Bug #5391188
This commit is contained in:
@@ -250,6 +250,11 @@ public class TextureView extends View {
|
||||
return LAYER_TYPE_HARDWARE;
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean hasStaticLayer() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calling this method has no effect.
|
||||
*/
|
||||
|
||||
@@ -10000,6 +10000,15 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
|
||||
invalidate(true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates whether this view has a static layer. A view with layer type
|
||||
* {@link #LAYER_TYPE_NONE} is a static layer. Other types of layers are
|
||||
* dynamic.
|
||||
*/
|
||||
boolean hasStaticLayer() {
|
||||
return mLayerType == LAYER_TYPE_NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates what type of layer is currently associated with this view. By default
|
||||
* a view does not have a layer, and the layer type is {@link #LAYER_TYPE_NONE}.
|
||||
|
||||
@@ -2560,8 +2560,8 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager
|
||||
final View[] children = mChildren;
|
||||
for (int i = 0; i < count; i++) {
|
||||
final View child = children[i];
|
||||
if (((child.mViewFlags & VISIBILITY_MASK) == VISIBLE ||
|
||||
child.getAnimation() != null) && child.getLayerType() == LAYER_TYPE_NONE) {
|
||||
if (((child.mViewFlags & VISIBILITY_MASK) == VISIBLE || child.getAnimation() != null) &&
|
||||
child.hasStaticLayer()) {
|
||||
child.mRecreateDisplayList = (child.mPrivateFlags & INVALIDATED) == INVALIDATED;
|
||||
child.mPrivateFlags &= ~INVALIDATED;
|
||||
child.getDisplayList();
|
||||
|
||||
Reference in New Issue
Block a user