Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59c7f80d authored by Romain Guy's avatar Romain Guy
Browse files

TextureView works best when it draws stuff.

Bug #5391188

Change-Id: I5e754881ccb08ff288ebd60de77282c9cbcf3f86
parent 9622e204
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -250,6 +250,11 @@ public class TextureView extends View {
        return LAYER_TYPE_HARDWARE;
    }

    @Override
    boolean hasStaticLayer() {
        return true;
    }

    /**
     * Calling this method has no effect.
     */
+9 −0
Original line number Diff line number Diff line
@@ -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}.
+2 −2
Original line number Diff line number Diff line
@@ -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();
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ struct ShadowText {
                        LTE_INT(flags) {
                            LTE_INT(italicStyle) {
                                LTE_INT(scaleX) {
                                    return strncmp16(text, rhs.text, len >> 1) < 0;
                                    return memcmp(text, rhs.text, len) < 0;
                                }
                            }
                        }