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

Commit fe9ee5b6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Revert "Update to ToT RemoteCompose"" into main

parents 2329386e aaf197dc
Loading
Loading
Loading
Loading
+22 −43
Original line number Diff line number Diff line
@@ -21,7 +21,6 @@ import android.annotation.Nullable;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.widget.remotecompose.core.operations.BitmapData;
import com.android.internal.widget.remotecompose.core.operations.ComponentValue;
import com.android.internal.widget.remotecompose.core.operations.DataListFloat;
import com.android.internal.widget.remotecompose.core.operations.DrawContent;
import com.android.internal.widget.remotecompose.core.operations.FloatConstant;
import com.android.internal.widget.remotecompose.core.operations.FloatExpression;
@@ -32,6 +31,7 @@ import com.android.internal.widget.remotecompose.core.operations.RootContentBeha
import com.android.internal.widget.remotecompose.core.operations.ShaderData;
import com.android.internal.widget.remotecompose.core.operations.TextData;
import com.android.internal.widget.remotecompose.core.operations.Theme;
import com.android.internal.widget.remotecompose.core.operations.Utils;
import com.android.internal.widget.remotecompose.core.operations.layout.CanvasOperations;
import com.android.internal.widget.remotecompose.core.operations.layout.Component;
import com.android.internal.widget.remotecompose.core.operations.layout.Container;
@@ -113,7 +113,6 @@ public class CoreDocument implements Serializable {
    private IntMap<Object> mDocProperties;

    boolean mFirstPaint = true;
    private boolean mIsUpdateDoc = false;

    /** Returns a version number that is monotonically increasing. */
    public static int getDocumentApiLevel() {
@@ -461,8 +460,7 @@ public class CoreDocument implements Serializable {
        HashMap<Integer, FloatConstant> fltData = new HashMap<Integer, FloatConstant>();
        HashMap<Integer, IntegerConstant> intData = new HashMap<Integer, IntegerConstant>();
        HashMap<Integer, LongConstant> longData = new HashMap<Integer, LongConstant>();
        HashMap<Integer, DataListFloat> floatListData = new HashMap<Integer, DataListFloat>();
        recursiveTraverse(
        recursiveTreverse(
                mOperations,
                (op) -> {
                    if (op instanceof TextData) {
@@ -480,13 +478,10 @@ public class CoreDocument implements Serializable {
                    } else if (op instanceof LongConstant) {
                        LongConstant d = (LongConstant) op;
                        longData.put(d.mId, d);
                    } else if (op instanceof DataListFloat) {
                        DataListFloat d = (DataListFloat) op;
                        floatListData.put(d.mId, d);
                    }
                });

        recursiveTraverse(
        recursiveTreverse(
                delta.mOperations,
                (op) -> {
                    if (op instanceof TextData) {
@@ -494,6 +489,7 @@ public class CoreDocument implements Serializable {
                        TextData txtInDoc = txtData.get(t.mTextId);
                        if (txtInDoc != null) {
                            txtInDoc.update(t);
                            Utils.log("update" + t.mText);
                            txtInDoc.markDirty();
                        }
                    } else if (op instanceof BitmapData) {
@@ -524,13 +520,6 @@ public class CoreDocument implements Serializable {
                            longInDoc.update(lc);
                            longInDoc.markDirty();
                        }
                    } else if (op instanceof DataListFloat) {
                        DataListFloat lc = (DataListFloat) op;
                        DataListFloat longInDoc = floatListData.get(lc.mId);
                        if (longInDoc != null) {
                            longInDoc.update(lc);
                            longInDoc.markDirty();
                        }
                    }
                });
    }
@@ -539,10 +528,10 @@ public class CoreDocument implements Serializable {
        void visit(Operation op);
    }

    private void recursiveTraverse(ArrayList<Operation> mOperations, Visitor visitor) {
    private void recursiveTreverse(ArrayList<Operation> mOperations, Visitor visitor) {
        for (Operation op : mOperations) {
            if (op instanceof Container) {
                recursiveTraverse(((Container) op).getList(), visitor);
                recursiveTreverse(((Component) op).mList, visitor);
            }
            visitor.visit(op);
        }
@@ -1227,23 +1216,29 @@ public class CoreDocument implements Serializable {
     * @return array of named variables or null
     */
    public String[] getNamedVariables(int type) {
        ArrayList<String> ret = new ArrayList<>();
        getNamedVars(type, mOperations, ret);
        return ret.toArray(new String[0]);
    }

    private void getNamedVars(int type, ArrayList<Operation> ops, ArrayList<String> list) {
        for (Operation op : ops) {
        int count = 0;
        for (Operation op : mOperations) {
            if (op instanceof NamedVariable) {
                NamedVariable n = (NamedVariable) op;
                if (n.mVarType == type) {
                    list.add(n.mVarName);
                    count++;
                }
            }
            if (op instanceof Container) {
                getNamedVars(type, ((Container) op).getList(), list);
        }
        if (count == 0) {
            return null;
        }
        String[] ret = new String[count];
        int i = 0;
        for (Operation op : mOperations) {
            if (op instanceof NamedVariable) {
                NamedVariable n = (NamedVariable) op;
                if (n.mVarType == type) {
                    ret[i++] = n.mVarName;
                }
            }
        }
        return ret;
    }

    //////////////////////////////////////////////////////////////////////////
@@ -1582,20 +1577,4 @@ public class CoreDocument implements Serializable {
            }
        }
    }

    /**
     * Set if this is an update doc
     *
     * @param isUpdateDoc
     */
    public void setUpdateDoc(boolean isUpdateDoc) {
        mIsUpdateDoc = isUpdateDoc;
    }

    /**
     * @return if this is an update doc
     */
    public boolean isUpdateDoc() {
        return mIsUpdateDoc;
    }
}
+0 −3
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@ import com.android.internal.widget.remotecompose.core.operations.BitmapFontData;
import com.android.internal.widget.remotecompose.core.operations.ClickArea;
import com.android.internal.widget.remotecompose.core.operations.ClipPath;
import com.android.internal.widget.remotecompose.core.operations.ClipRect;
import com.android.internal.widget.remotecompose.core.operations.ColorAttribute;
import com.android.internal.widget.remotecompose.core.operations.ColorConstant;
import com.android.internal.widget.remotecompose.core.operations.ColorExpression;
import com.android.internal.widget.remotecompose.core.operations.ComponentValue;
@@ -234,7 +233,6 @@ public class Operations {
    public static final int HAPTIC_FEEDBACK = 177;
    public static final int CONDITIONAL_OPERATIONS = 178;
    public static final int DEBUG_MESSAGE = 179;
    public static final int ATTRIBUTE_COLOR = 180;

    ///////////////////////////////////////// ======================

@@ -448,7 +446,6 @@ public class Operations {
        map.put(HAPTIC_FEEDBACK, HapticFeedback::read);
        map.put(CONDITIONAL_OPERATIONS, ConditionalOperations::read);
        map.put(DEBUG_MESSAGE, DebugMessage::read);
        map.put(ATTRIBUTE_COLOR, ColorAttribute::read);

        //        map.put(ACCESSIBILITY_CUSTOM_ACTION, CoreSemantics::read);
    }
+22 −5
Original line number Diff line number Diff line
@@ -20,8 +20,6 @@ import android.annotation.Nullable;

import com.android.internal.widget.remotecompose.core.operations.paint.PaintBundle;

import java.util.HashMap;

/** Specify an abstract paint context used by RemoteCompose commands to draw */
public abstract class PaintContext {
    public static final int TEXT_MEASURE_MONOSPACE_WIDTH = 0x01;
@@ -483,9 +481,28 @@ public abstract class PaintContext {
    /**
     * Starts a graphics layer
     *
     * @param attributes
     */
    public abstract void setGraphicsLayer(@NonNull HashMap<Integer, Object> attributes);
     * @param scaleX
     * @param scaleY
     * @param rotationX
     * @param rotationY
     * @param rotationZ
     * @param shadowElevation
     * @param transformOriginX
     * @param transformOriginY
     * @param alpha
     * @param renderEffectId
     */
    public abstract void setGraphicsLayer(
            float scaleX,
            float scaleY,
            float rotationX,
            float rotationY,
            float rotationZ,
            float shadowElevation,
            float transformOriginX,
            float transformOriginY,
            float alpha,
            int renderEffectId);

    /** Ends a graphics layer */
    public abstract void endGraphicsLayer();
+49 −19
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@ import com.android.internal.widget.remotecompose.core.operations.BitmapFontData;
import com.android.internal.widget.remotecompose.core.operations.ClickArea;
import com.android.internal.widget.remotecompose.core.operations.ClipPath;
import com.android.internal.widget.remotecompose.core.operations.ClipRect;
import com.android.internal.widget.remotecompose.core.operations.ColorAttribute;
import com.android.internal.widget.remotecompose.core.operations.ColorConstant;
import com.android.internal.widget.remotecompose.core.operations.ColorExpression;
import com.android.internal.widget.remotecompose.core.operations.ComponentValue;
@@ -133,7 +132,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;

/** Provides an abstract buffer to encode/decode RemoteCompose operations */
public class RemoteComposeBuffer {
@@ -2010,10 +2008,55 @@ public class RemoteComposeBuffer {
    /**
     * Add a graphics layer
     *
     * @param attributes
     */
    public void addModifierGraphicsLayer(HashMap<Integer, Object> attributes) {
        GraphicsLayerModifierOperation.apply(mBuffer, attributes);
     * @param scaleX scale x
     * @param scaleY scale y
     * @param rotationX rotation in X
     * @param rotationY rotation in Y
     * @param rotationZ rotation in Z
     * @param shadowElevation shadow elevation
     * @param transformOriginX transform origin x
     * @param transformOriginY transform origin y
     * @param alpha alpha value
     * @param cameraDistance camera distance
     * @param blendMode blend mode
     * @param spotShadowColorId spot shadow color
     * @param ambientShadowColorId ambient shadow color
     * @param colorFilterId id of color filter
     * @param renderEffectId id of render effect
     */
    public void addModifierGraphicsLayer(
            float scaleX,
            float scaleY,
            float rotationX,
            float rotationY,
            float rotationZ,
            float shadowElevation,
            float transformOriginX,
            float transformOriginY,
            float alpha,
            float cameraDistance,
            int blendMode,
            int spotShadowColorId,
            int ambientShadowColorId,
            int colorFilterId,
            int renderEffectId) {
        GraphicsLayerModifierOperation.apply(
                mBuffer,
                scaleX,
                scaleY,
                rotationX,
                rotationY,
                rotationZ,
                shadowElevation,
                transformOriginX,
                transformOriginY,
                alpha,
                cameraDistance,
                blendMode,
                spotShadowColorId,
                ambientShadowColorId,
                colorFilterId,
                renderEffectId);
    }

    /**
@@ -2473,17 +2516,4 @@ public class RemoteComposeBuffer {
    public void addDebugMessage(int textId, float value, int flags) {
        DebugMessage.apply(mBuffer, textId, value, flags);
    }

    /**
     * Return a color attribute value on the given color
     *
     * @param baseColor
     * @param type type of attribute
     * @return
     */
    public float getColorAttribute(int baseColor, short type) {
        int id = mRemoteComposeState.nextId();
        ColorAttribute.apply(mBuffer, id, baseColor, type);
        return Utils.asNan(id);
    }
}
+0 −5
Original line number Diff line number Diff line
@@ -665,8 +665,6 @@ public abstract class RemoteContext {

    public static final int ID_EPOCH_SECOND = 32;

    public static final int ID_FONT_SIZE = 33;

    public static final float FLOAT_DENSITY = Utils.asNan(ID_DENSITY);

    /** CONTINUOUS_SEC is seconds from midnight looping every hour 0-3600 */
@@ -752,9 +750,6 @@ public abstract class RemoteContext {
    /** When was this player built */
    public static final float FLOAT_API_LEVEL = Utils.asNan(ID_API_LEVEL);

    /** The default font size */
    public static final float FLOAT_FONT_SIZE = Utils.asNan(ID_FONT_SIZE);

    /** The time in seconds since the epoch. */
    public static final long INT_EPOCH_SECOND = ((long) ID_EPOCH_SECOND) + 0x100000000L;

Loading