Loading core/java/com/android/internal/widget/remotecompose/core/CoreDocument.java +22 −43 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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() { Loading Loading @@ -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) { Loading @@ -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) { Loading @@ -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) { Loading Loading @@ -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(); } } }); } Loading @@ -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); } Loading Loading @@ -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; } ////////////////////////////////////////////////////////////////////////// Loading Loading @@ -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; } } core/java/com/android/internal/widget/remotecompose/core/Operations.java +0 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; ///////////////////////////////////////// ====================== Loading Loading @@ -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); } Loading core/java/com/android/internal/widget/remotecompose/core/PaintContext.java +22 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); Loading core/java/com/android/internal/widget/remotecompose/core/RemoteComposeBuffer.java +49 −19 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 { Loading Loading @@ -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); } /** Loading Loading @@ -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); } } core/java/com/android/internal/widget/remotecompose/core/RemoteContext.java +0 −5 Original line number Diff line number Diff line Loading @@ -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 */ Loading Loading @@ -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 Loading
core/java/com/android/internal/widget/remotecompose/core/CoreDocument.java +22 −43 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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() { Loading Loading @@ -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) { Loading @@ -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) { Loading @@ -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) { Loading Loading @@ -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(); } } }); } Loading @@ -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); } Loading Loading @@ -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; } ////////////////////////////////////////////////////////////////////////// Loading Loading @@ -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; } }
core/java/com/android/internal/widget/remotecompose/core/Operations.java +0 −3 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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; ///////////////////////////////////////// ====================== Loading Loading @@ -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); } Loading
core/java/com/android/internal/widget/remotecompose/core/PaintContext.java +22 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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(); Loading
core/java/com/android/internal/widget/remotecompose/core/RemoteComposeBuffer.java +49 −19 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 { Loading Loading @@ -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); } /** Loading Loading @@ -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); } }
core/java/com/android/internal/widget/remotecompose/core/RemoteContext.java +0 −5 Original line number Diff line number Diff line Loading @@ -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 */ Loading Loading @@ -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