diff --git a/booster-aapt2/build.gradle b/booster-aapt2/build.gradle index 9d4f8eb60..0dc9aac51 100644 --- a/booster-aapt2/build.gradle +++ b/booster-aapt2/build.gradle @@ -2,4 +2,5 @@ apply from: '../gradle/booster.gradle' dependencies { compile 'com.google.protobuf:protobuf-java:3.4.0' + testCompile 'com.android.tools.build:gradle:3.0.0' } diff --git a/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ConfigurationLegacy.java b/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ConfigurationLegacy.java new file mode 100644 index 000000000..32d5c3f45 --- /dev/null +++ b/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ConfigurationLegacy.java @@ -0,0 +1,426 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: ConfigurationLegacy.proto + +package com.didiglobal.booster.aapt2.legacy; + +public final class ConfigurationLegacy { + private ConfigurationLegacy() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + public interface ConfigDescriptionOrBuilder extends + // @@protoc_insertion_point(interface_extends:aapt.pb.ConfigDescription) + com.google.protobuf.MessageLiteOrBuilder { + + /** + * bytes data = 1; + */ + com.google.protobuf.ByteString getData(); + + /** + * string product = 2; + */ + java.lang.String getProduct(); + /** + * string product = 2; + */ + com.google.protobuf.ByteString + getProductBytes(); + } + /** + *
+   * A configuration description that wraps the binary form of the C++ class
+   * aapt::ConfigDescription, with an added product definition.
+   * TODO(adamlesinski): Flesh this out to be represented in proto.
+   * 
+ * + * Protobuf type {@code aapt.pb.ConfigDescription} + */ + public static final class ConfigDescription extends + com.google.protobuf.GeneratedMessageLite< + ConfigDescription, ConfigDescription.Builder> implements + // @@protoc_insertion_point(message_implements:aapt.pb.ConfigDescription) + ConfigDescriptionOrBuilder { + private ConfigDescription() { + data_ = com.google.protobuf.ByteString.EMPTY; + product_ = ""; + } + public static final int DATA_FIELD_NUMBER = 1; + private com.google.protobuf.ByteString data_; + /** + * bytes data = 1; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * bytes data = 1; + */ + private void setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + data_ = value; + } + /** + * bytes data = 1; + */ + private void clearData() { + + data_ = getDefaultInstance().getData(); + } + + public static final int PRODUCT_FIELD_NUMBER = 2; + private java.lang.String product_; + /** + * string product = 2; + */ + public java.lang.String getProduct() { + return product_; + } + /** + * string product = 2; + */ + public com.google.protobuf.ByteString + getProductBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(product_); + } + /** + * string product = 2; + */ + private void setProduct( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + product_ = value; + } + /** + * string product = 2; + */ + private void clearProduct() { + + product_ = getDefaultInstance().getProduct(); + } + /** + * string product = 2; + */ + private void setProductBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + product_ = value.toStringUtf8(); + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!data_.isEmpty()) { + output.writeBytes(1, data_); + } + if (!product_.isEmpty()) { + output.writeString(2, getProduct()); + } + unknownFields.writeTo(output); + } + + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (!data_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, data_); + } + if (!product_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(2, getProduct()); + } + size += unknownFields.getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + /** + *
+     * A configuration description that wraps the binary form of the C++ class
+     * aapt::ConfigDescription, with an added product definition.
+     * TODO(adamlesinski): Flesh this out to be represented in proto.
+     * 
+ * + * Protobuf type {@code aapt.pb.ConfigDescription} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageLite.Builder< + com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription, Builder> implements + // @@protoc_insertion_point(builder_implements:aapt.pb.ConfigDescription) + com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescriptionOrBuilder { + // Construct using com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription.newBuilder() + private Builder() { + super(DEFAULT_INSTANCE); + } + + + /** + * bytes data = 1; + */ + public com.google.protobuf.ByteString getData() { + return instance.getData(); + } + /** + * bytes data = 1; + */ + public Builder setData(com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setData(value); + return this; + } + /** + * bytes data = 1; + */ + public Builder clearData() { + copyOnWrite(); + instance.clearData(); + return this; + } + + /** + * string product = 2; + */ + public java.lang.String getProduct() { + return instance.getProduct(); + } + /** + * string product = 2; + */ + public com.google.protobuf.ByteString + getProductBytes() { + return instance.getProductBytes(); + } + /** + * string product = 2; + */ + public Builder setProduct( + java.lang.String value) { + copyOnWrite(); + instance.setProduct(value); + return this; + } + /** + * string product = 2; + */ + public Builder clearProduct() { + copyOnWrite(); + instance.clearProduct(); + return this; + } + /** + * string product = 2; + */ + public Builder setProductBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setProductBytes(value); + return this; + } + + // @@protoc_insertion_point(builder_scope:aapt.pb.ConfigDescription) + } + @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) + protected final java.lang.Object dynamicMethod( + com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, + java.lang.Object arg0, java.lang.Object arg1) { + switch (method) { + case NEW_MUTABLE_INSTANCE: { + return new com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription(); + } + case IS_INITIALIZED: { + return DEFAULT_INSTANCE; + } + case MAKE_IMMUTABLE: { + return null; + } + case NEW_BUILDER: { + return new Builder(); + } + case VISIT: { + Visitor visitor = (Visitor) arg0; + com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription other = (com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription) arg1; + data_ = visitor.visitByteString(data_ != com.google.protobuf.ByteString.EMPTY, data_, + other.data_ != com.google.protobuf.ByteString.EMPTY, other.data_); + product_ = visitor.visitString(!product_.isEmpty(), product_, + !other.product_.isEmpty(), other.product_); + if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor + .INSTANCE) { + } + return this; + } + case MERGE_FROM_STREAM: { + com.google.protobuf.CodedInputStream input = + (com.google.protobuf.CodedInputStream) arg0; + com.google.protobuf.ExtensionRegistryLite extensionRegistry = + (com.google.protobuf.ExtensionRegistryLite) arg1; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(tag, input)) { + done = true; + } + break; + } + case 10: { + + data_ = input.readBytes(); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + product_ = s; + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw new RuntimeException(e.setUnfinishedMessage(this)); + } catch (java.io.IOException e) { + throw new RuntimeException( + new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this)); + } finally { + } + } + // fall through + case GET_DEFAULT_INSTANCE: { + return DEFAULT_INSTANCE; + } + case GET_PARSER: { + if (PARSER == null) { synchronized (com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription.class) { + if (PARSER == null) { + PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE); + } + } + } + return PARSER; + } + } + throw new UnsupportedOperationException(); + } + + + // @@protoc_insertion_point(class_scope:aapt.pb.ConfigDescription) + private static final com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new ConfigDescription(); + DEFAULT_INSTANCE.makeImmutable(); + } + + public static com.didiglobal.booster.aapt2.legacy.ConfigurationLegacy.ConfigDescription getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static volatile com.google.protobuf.Parser PARSER; + + public static com.google.protobuf.Parser parser() { + return DEFAULT_INSTANCE.getParserForType(); + } + } + + + static { + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ResourcesInternalLegacy.java b/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ResourcesInternalLegacy.java new file mode 100644 index 000000000..ebac47eb2 --- /dev/null +++ b/booster-aapt2/src/main/java/com/didiglobal/booster/aapt2/legacy/ResourcesInternalLegacy.java @@ -0,0 +1,2279 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: ResourcesInternalLegacy.proto + +package com.didiglobal.booster.aapt2.legacy; + +public final class ResourcesInternalLegacy { + private ResourcesInternalLegacy() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + public interface ConfigDescriptionOrBuilder extends + // @@protoc_insertion_point(interface_extends:aapt.pb.internal.ConfigDescription) + com.google.protobuf.MessageLiteOrBuilder { + + /** + * bytes data = 1; + */ + com.google.protobuf.ByteString getData(); + + /** + * string product = 2; + */ + java.lang.String getProduct(); + /** + * string product = 2; + */ + com.google.protobuf.ByteString + getProductBytes(); + } + /** + *
+   * A configuration description that wraps the binary form of the C++ class
+   * aapt::ConfigDescription, with an added product definition.
+   * TODO(adamlesinski): Flesh this out to be represented in proto.
+   * 
+ * + * Protobuf type {@code aapt.pb.internal.ConfigDescription} + */ + public static final class ConfigDescription extends + com.google.protobuf.GeneratedMessageLite< + ConfigDescription, ConfigDescription.Builder> implements + // @@protoc_insertion_point(message_implements:aapt.pb.internal.ConfigDescription) + ConfigDescriptionOrBuilder { + private ConfigDescription() { + data_ = com.google.protobuf.ByteString.EMPTY; + product_ = ""; + } + public static final int DATA_FIELD_NUMBER = 1; + private com.google.protobuf.ByteString data_; + /** + * bytes data = 1; + */ + public com.google.protobuf.ByteString getData() { + return data_; + } + /** + * bytes data = 1; + */ + private void setData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + + data_ = value; + } + /** + * bytes data = 1; + */ + private void clearData() { + + data_ = getDefaultInstance().getData(); + } + + public static final int PRODUCT_FIELD_NUMBER = 2; + private java.lang.String product_; + /** + * string product = 2; + */ + public java.lang.String getProduct() { + return product_; + } + /** + * string product = 2; + */ + public com.google.protobuf.ByteString + getProductBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(product_); + } + /** + * string product = 2; + */ + private void setProduct( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + product_ = value; + } + /** + * string product = 2; + */ + private void clearProduct() { + + product_ = getDefaultInstance().getProduct(); + } + /** + * string product = 2; + */ + private void setProductBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + product_ = value.toStringUtf8(); + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!data_.isEmpty()) { + output.writeBytes(1, data_); + } + if (!product_.isEmpty()) { + output.writeString(2, getProduct()); + } + unknownFields.writeTo(output); + } + + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (!data_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize(1, data_); + } + if (!product_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(2, getProduct()); + } + size += unknownFields.getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + /** + *
+     * A configuration description that wraps the binary form of the C++ class
+     * aapt::ConfigDescription, with an added product definition.
+     * TODO(adamlesinski): Flesh this out to be represented in proto.
+     * 
+ * + * Protobuf type {@code aapt.pb.internal.ConfigDescription} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageLite.Builder< + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription, Builder> implements + // @@protoc_insertion_point(builder_implements:aapt.pb.internal.ConfigDescription) + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescriptionOrBuilder { + // Construct using com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.newBuilder() + private Builder() { + super(DEFAULT_INSTANCE); + } + + + /** + * bytes data = 1; + */ + public com.google.protobuf.ByteString getData() { + return instance.getData(); + } + /** + * bytes data = 1; + */ + public Builder setData(com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setData(value); + return this; + } + /** + * bytes data = 1; + */ + public Builder clearData() { + copyOnWrite(); + instance.clearData(); + return this; + } + + /** + * string product = 2; + */ + public java.lang.String getProduct() { + return instance.getProduct(); + } + /** + * string product = 2; + */ + public com.google.protobuf.ByteString + getProductBytes() { + return instance.getProductBytes(); + } + /** + * string product = 2; + */ + public Builder setProduct( + java.lang.String value) { + copyOnWrite(); + instance.setProduct(value); + return this; + } + /** + * string product = 2; + */ + public Builder clearProduct() { + copyOnWrite(); + instance.clearProduct(); + return this; + } + /** + * string product = 2; + */ + public Builder setProductBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setProductBytes(value); + return this; + } + + // @@protoc_insertion_point(builder_scope:aapt.pb.internal.ConfigDescription) + } + @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) + protected final java.lang.Object dynamicMethod( + com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, + java.lang.Object arg0, java.lang.Object arg1) { + switch (method) { + case NEW_MUTABLE_INSTANCE: { + return new com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription(); + } + case IS_INITIALIZED: { + return DEFAULT_INSTANCE; + } + case MAKE_IMMUTABLE: { + return null; + } + case NEW_BUILDER: { + return new Builder(); + } + case VISIT: { + Visitor visitor = (Visitor) arg0; + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription other = (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription) arg1; + data_ = visitor.visitByteString(data_ != com.google.protobuf.ByteString.EMPTY, data_, + other.data_ != com.google.protobuf.ByteString.EMPTY, other.data_); + product_ = visitor.visitString(!product_.isEmpty(), product_, + !other.product_.isEmpty(), other.product_); + if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor + .INSTANCE) { + } + return this; + } + case MERGE_FROM_STREAM: { + com.google.protobuf.CodedInputStream input = + (com.google.protobuf.CodedInputStream) arg0; + com.google.protobuf.ExtensionRegistryLite extensionRegistry = + (com.google.protobuf.ExtensionRegistryLite) arg1; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(tag, input)) { + done = true; + } + break; + } + case 10: { + + data_ = input.readBytes(); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + product_ = s; + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw new RuntimeException(e.setUnfinishedMessage(this)); + } catch (java.io.IOException e) { + throw new RuntimeException( + new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this)); + } finally { + } + } + // fall through + case GET_DEFAULT_INSTANCE: { + return DEFAULT_INSTANCE; + } + case GET_PARSER: { + if (PARSER == null) { synchronized (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.class) { + if (PARSER == null) { + PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE); + } + } + } + return PARSER; + } + } + throw new UnsupportedOperationException(); + } + + + // @@protoc_insertion_point(class_scope:aapt.pb.internal.ConfigDescription) + private static final com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new ConfigDescription(); + DEFAULT_INSTANCE.makeImmutable(); + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static volatile com.google.protobuf.Parser PARSER; + + public static com.google.protobuf.Parser parser() { + return DEFAULT_INSTANCE.getParserForType(); + } + } + + public interface CompiledFileLegacyOrBuilder extends + // @@protoc_insertion_point(interface_extends:aapt.pb.internal.CompiledFileLegacy) + com.google.protobuf.MessageLiteOrBuilder { + + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + java.lang.String getResourceName(); + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + com.google.protobuf.ByteString + getResourceNameBytes(); + + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + boolean hasConfig(); + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription getConfig(); + + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + java.lang.String getSourcePath(); + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + com.google.protobuf.ByteString + getSourcePathBytes(); + + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + java.util.List + getExportedSymbolList(); + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol getExportedSymbol(int index); + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + int getExportedSymbolCount(); + + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + boolean hasXmlRoot(); + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + com.didiglobal.booster.aapt2.Resources.XmlNode getXmlRoot(); + } + /** + *
+   * The top level message representing an external resource file (layout XML, PNG, etc).
+   * This is used to represent a compiled file before it is linked. Only useful to aapt2.
+   * 
+ * + * Protobuf type {@code aapt.pb.internal.CompiledFileLegacy} + */ + public static final class CompiledFileLegacy extends + com.google.protobuf.GeneratedMessageLite< + CompiledFileLegacy, CompiledFileLegacy.Builder> implements + // @@protoc_insertion_point(message_implements:aapt.pb.internal.CompiledFileLegacy) + CompiledFileLegacyOrBuilder { + private CompiledFileLegacy() { + resourceName_ = ""; + sourcePath_ = ""; + exportedSymbol_ = emptyProtobufList(); + } + public interface SymbolOrBuilder extends + // @@protoc_insertion_point(interface_extends:aapt.pb.internal.CompiledFileLegacy.Symbol) + com.google.protobuf.MessageLiteOrBuilder { + + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + java.lang.String getResourceName(); + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + com.google.protobuf.ByteString + getResourceNameBytes(); + + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + boolean hasSource(); + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + com.didiglobal.booster.aapt2.Resources.SourcePosition getSource(); + } + /** + * Protobuf type {@code aapt.pb.internal.CompiledFileLegacy.Symbol} + */ + public static final class Symbol extends + com.google.protobuf.GeneratedMessageLite< + Symbol, Symbol.Builder> implements + // @@protoc_insertion_point(message_implements:aapt.pb.internal.CompiledFileLegacy.Symbol) + SymbolOrBuilder { + private Symbol() { + resourceName_ = ""; + } + public static final int RESOURCE_NAME_FIELD_NUMBER = 1; + private java.lang.String resourceName_; + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public java.lang.String getResourceName() { + return resourceName_; + } + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public com.google.protobuf.ByteString + getResourceNameBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(resourceName_); + } + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + private void setResourceName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + resourceName_ = value; + } + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + private void clearResourceName() { + + resourceName_ = getDefaultInstance().getResourceName(); + } + /** + *
+       * The name of the symbol (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + private void setResourceNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + resourceName_ = value.toStringUtf8(); + } + + public static final int SOURCE_FIELD_NUMBER = 2; + private com.didiglobal.booster.aapt2.Resources.SourcePosition source_; + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public boolean hasSource() { + return source_ != null; + } + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public com.didiglobal.booster.aapt2.Resources.SourcePosition getSource() { + return source_ == null ? com.didiglobal.booster.aapt2.Resources.SourcePosition.getDefaultInstance() : source_; + } + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + private void setSource(com.didiglobal.booster.aapt2.Resources.SourcePosition value) { + if (value == null) { + throw new NullPointerException(); + } + source_ = value; + + } + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + private void setSource( + com.didiglobal.booster.aapt2.Resources.SourcePosition.Builder builderForValue) { + source_ = builderForValue.build(); + + } + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + private void mergeSource(com.didiglobal.booster.aapt2.Resources.SourcePosition value) { + if (source_ != null && + source_ != com.didiglobal.booster.aapt2.Resources.SourcePosition.getDefaultInstance()) { + source_ = + com.didiglobal.booster.aapt2.Resources.SourcePosition.newBuilder(source_).mergeFrom(value).buildPartial(); + } else { + source_ = value; + } + + } + /** + *
+       * The position in the file at which this symbol is defined. For debug use.
+       * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + private void clearSource() { source_ = null; + + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!resourceName_.isEmpty()) { + output.writeString(1, getResourceName()); + } + if (source_ != null) { + output.writeMessage(2, getSource()); + } + unknownFields.writeTo(output); + } + + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (!resourceName_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(1, getResourceName()); + } + if (source_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getSource()); + } + size += unknownFields.getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + /** + * Protobuf type {@code aapt.pb.internal.CompiledFileLegacy.Symbol} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageLite.Builder< + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol, Builder> implements + // @@protoc_insertion_point(builder_implements:aapt.pb.internal.CompiledFileLegacy.Symbol) + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.SymbolOrBuilder { + // Construct using com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.newBuilder() + private Builder() { + super(DEFAULT_INSTANCE); + } + + + /** + *
+         * The name of the symbol (in the form package:type/name).
+         * 
+ * + * string resource_name = 1; + */ + public java.lang.String getResourceName() { + return instance.getResourceName(); + } + /** + *
+         * The name of the symbol (in the form package:type/name).
+         * 
+ * + * string resource_name = 1; + */ + public com.google.protobuf.ByteString + getResourceNameBytes() { + return instance.getResourceNameBytes(); + } + /** + *
+         * The name of the symbol (in the form package:type/name).
+         * 
+ * + * string resource_name = 1; + */ + public Builder setResourceName( + java.lang.String value) { + copyOnWrite(); + instance.setResourceName(value); + return this; + } + /** + *
+         * The name of the symbol (in the form package:type/name).
+         * 
+ * + * string resource_name = 1; + */ + public Builder clearResourceName() { + copyOnWrite(); + instance.clearResourceName(); + return this; + } + /** + *
+         * The name of the symbol (in the form package:type/name).
+         * 
+ * + * string resource_name = 1; + */ + public Builder setResourceNameBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setResourceNameBytes(value); + return this; + } + + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public boolean hasSource() { + return instance.hasSource(); + } + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public com.didiglobal.booster.aapt2.Resources.SourcePosition getSource() { + return instance.getSource(); + } + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public Builder setSource(com.didiglobal.booster.aapt2.Resources.SourcePosition value) { + copyOnWrite(); + instance.setSource(value); + return this; + } + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public Builder setSource( + com.didiglobal.booster.aapt2.Resources.SourcePosition.Builder builderForValue) { + copyOnWrite(); + instance.setSource(builderForValue); + return this; + } + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public Builder mergeSource(com.didiglobal.booster.aapt2.Resources.SourcePosition value) { + copyOnWrite(); + instance.mergeSource(value); + return this; + } + /** + *
+         * The position in the file at which this symbol is defined. For debug use.
+         * 
+ * + * .aapt.pb.SourcePosition source = 2; + */ + public Builder clearSource() { copyOnWrite(); + instance.clearSource(); + return this; + } + + // @@protoc_insertion_point(builder_scope:aapt.pb.internal.CompiledFileLegacy.Symbol) + } + @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) + protected final java.lang.Object dynamicMethod( + com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, + java.lang.Object arg0, java.lang.Object arg1) { + switch (method) { + case NEW_MUTABLE_INSTANCE: { + return new com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol(); + } + case IS_INITIALIZED: { + return DEFAULT_INSTANCE; + } + case MAKE_IMMUTABLE: { + return null; + } + case NEW_BUILDER: { + return new Builder(); + } + case VISIT: { + Visitor visitor = (Visitor) arg0; + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol other = (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol) arg1; + resourceName_ = visitor.visitString(!resourceName_.isEmpty(), resourceName_, + !other.resourceName_.isEmpty(), other.resourceName_); + source_ = visitor.visitMessage(source_, other.source_); + if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor + .INSTANCE) { + } + return this; + } + case MERGE_FROM_STREAM: { + com.google.protobuf.CodedInputStream input = + (com.google.protobuf.CodedInputStream) arg0; + com.google.protobuf.ExtensionRegistryLite extensionRegistry = + (com.google.protobuf.ExtensionRegistryLite) arg1; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(tag, input)) { + done = true; + } + break; + } + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + resourceName_ = s; + break; + } + case 18: { + com.didiglobal.booster.aapt2.Resources.SourcePosition.Builder subBuilder = null; + if (source_ != null) { + subBuilder = source_.toBuilder(); + } + source_ = input.readMessage(com.didiglobal.booster.aapt2.Resources.SourcePosition.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(source_); + source_ = subBuilder.buildPartial(); + } + + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw new RuntimeException(e.setUnfinishedMessage(this)); + } catch (java.io.IOException e) { + throw new RuntimeException( + new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this)); + } finally { + } + } + // fall through + case GET_DEFAULT_INSTANCE: { + return DEFAULT_INSTANCE; + } + case GET_PARSER: { + if (PARSER == null) { synchronized (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.class) { + if (PARSER == null) { + PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE); + } + } + } + return PARSER; + } + } + throw new UnsupportedOperationException(); + } + + + // @@protoc_insertion_point(class_scope:aapt.pb.internal.CompiledFileLegacy.Symbol) + private static final com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new Symbol(); + DEFAULT_INSTANCE.makeImmutable(); + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static volatile com.google.protobuf.Parser PARSER; + + public static com.google.protobuf.Parser parser() { + return DEFAULT_INSTANCE.getParserForType(); + } + } + + private int bitField0_; + public static final int RESOURCE_NAME_FIELD_NUMBER = 1; + private java.lang.String resourceName_; + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + public java.lang.String getResourceName() { + return resourceName_; + } + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + public com.google.protobuf.ByteString + getResourceNameBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(resourceName_); + } + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + private void setResourceName( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + resourceName_ = value; + } + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + private void clearResourceName() { + + resourceName_ = getDefaultInstance().getResourceName(); + } + /** + *
+     * The name of the resource (in the form package:type/name).
+     * 
+ * + * string resource_name = 1; + */ + private void setResourceNameBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + resourceName_ = value.toStringUtf8(); + } + + public static final int CONFIG_FIELD_NUMBER = 2; + private com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription config_; + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public boolean hasConfig() { + return config_ != null; + } + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription getConfig() { + return config_ == null ? com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.getDefaultInstance() : config_; + } + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + private void setConfig(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription value) { + if (value == null) { + throw new NullPointerException(); + } + config_ = value; + + } + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + private void setConfig( + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.Builder builderForValue) { + config_ = builderForValue.build(); + + } + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + private void mergeConfig(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription value) { + if (config_ != null && + config_ != com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.getDefaultInstance()) { + config_ = + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.newBuilder(config_).mergeFrom(value).buildPartial(); + } else { + config_ = value; + } + + } + /** + *
+     * The configuration for which the resource is defined.
+     * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + private void clearConfig() { config_ = null; + + } + + public static final int SOURCE_PATH_FIELD_NUMBER = 3; + private java.lang.String sourcePath_; + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + public java.lang.String getSourcePath() { + return sourcePath_; + } + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + public com.google.protobuf.ByteString + getSourcePathBytes() { + return com.google.protobuf.ByteString.copyFromUtf8(sourcePath_); + } + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + private void setSourcePath( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + sourcePath_ = value; + } + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + private void clearSourcePath() { + + sourcePath_ = getDefaultInstance().getSourcePath(); + } + /** + *
+     * The filesystem path to where the source file originated.
+     * Mainly used to display helpful error messages.
+     * 
+ * + * string source_path = 3; + */ + private void setSourcePathBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + sourcePath_ = value.toStringUtf8(); + } + + public static final int EXPORTED_SYMBOL_FIELD_NUMBER = 4; + private com.google.protobuf.Internal.ProtobufList exportedSymbol_; + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public java.util.List getExportedSymbolList() { + return exportedSymbol_; + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public java.util.List + getExportedSymbolOrBuilderList() { + return exportedSymbol_; + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public int getExportedSymbolCount() { + return exportedSymbol_.size(); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol getExportedSymbol(int index) { + return exportedSymbol_.get(index); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.SymbolOrBuilder getExportedSymbolOrBuilder( + int index) { + return exportedSymbol_.get(index); + } + private void ensureExportedSymbolIsMutable() { + if (!exportedSymbol_.isModifiable()) { + exportedSymbol_ = + com.google.protobuf.GeneratedMessageLite.mutableCopy(exportedSymbol_); + } + } + + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void setExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExportedSymbolIsMutable(); + exportedSymbol_.set(index, value); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void setExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + ensureExportedSymbolIsMutable(); + exportedSymbol_.set(index, builderForValue.build()); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void addExportedSymbol(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExportedSymbolIsMutable(); + exportedSymbol_.add(value); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void addExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + if (value == null) { + throw new NullPointerException(); + } + ensureExportedSymbolIsMutable(); + exportedSymbol_.add(index, value); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void addExportedSymbol( + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + ensureExportedSymbolIsMutable(); + exportedSymbol_.add(builderForValue.build()); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void addExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + ensureExportedSymbolIsMutable(); + exportedSymbol_.add(index, builderForValue.build()); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void addAllExportedSymbol( + java.lang.Iterable values) { + ensureExportedSymbolIsMutable(); + com.google.protobuf.AbstractMessageLite.addAll( + values, exportedSymbol_); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void clearExportedSymbol() { + exportedSymbol_ = emptyProtobufList(); + } + /** + *
+     * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+     * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + private void removeExportedSymbol(int index) { + ensureExportedSymbolIsMutable(); + exportedSymbol_.remove(index); + } + + public static final int XML_ROOT_FIELD_NUMBER = 5; + private com.didiglobal.booster.aapt2.Resources.XmlNode xmlRoot_; + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public boolean hasXmlRoot() { + return xmlRoot_ != null; + } + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public com.didiglobal.booster.aapt2.Resources.XmlNode getXmlRoot() { + return xmlRoot_ == null ? com.didiglobal.booster.aapt2.Resources.XmlNode.getDefaultInstance() : xmlRoot_; + } + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + private void setXmlRoot(com.didiglobal.booster.aapt2.Resources.XmlNode value) { + if (value == null) { + throw new NullPointerException(); + } + xmlRoot_ = value; + + } + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + private void setXmlRoot( + com.didiglobal.booster.aapt2.Resources.XmlNode.Builder builderForValue) { + xmlRoot_ = builderForValue.build(); + + } + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + private void mergeXmlRoot(com.didiglobal.booster.aapt2.Resources.XmlNode value) { + if (xmlRoot_ != null && + xmlRoot_ != com.didiglobal.booster.aapt2.Resources.XmlNode.getDefaultInstance()) { + xmlRoot_ = + com.didiglobal.booster.aapt2.Resources.XmlNode.newBuilder(xmlRoot_).mergeFrom(value).buildPartial(); + } else { + xmlRoot_ = value; + } + + } + /** + *
+     * If this is a compiled XML file, this is the root node.
+     * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + private void clearXmlRoot() { xmlRoot_ = null; + + } + + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (!resourceName_.isEmpty()) { + output.writeString(1, getResourceName()); + } + if (config_ != null) { + output.writeMessage(2, getConfig()); + } + if (!sourcePath_.isEmpty()) { + output.writeString(3, getSourcePath()); + } + for (int i = 0; i < exportedSymbol_.size(); i++) { + output.writeMessage(4, exportedSymbol_.get(i)); + } + if (xmlRoot_ != null) { + output.writeMessage(5, getXmlRoot()); + } + unknownFields.writeTo(output); + } + + public int getSerializedSize() { + int size = memoizedSerializedSize; + if (size != -1) return size; + + size = 0; + if (!resourceName_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(1, getResourceName()); + } + if (config_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, getConfig()); + } + if (!sourcePath_.isEmpty()) { + size += com.google.protobuf.CodedOutputStream + .computeStringSize(3, getSourcePath()); + } + for (int i = 0; i < exportedSymbol_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(4, exportedSymbol_.get(i)); + } + if (xmlRoot_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(5, getXmlRoot()); + } + size += unknownFields.getSerializedSize(); + memoizedSerializedSize = size; + return size; + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, data, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return parseDelimitedFrom(DEFAULT_INSTANCE, input, extensionRegistry); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input); + } + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageLite.parseFrom( + DEFAULT_INSTANCE, input, extensionRegistry); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + /** + *
+     * The top level message representing an external resource file (layout XML, PNG, etc).
+     * This is used to represent a compiled file before it is linked. Only useful to aapt2.
+     * 
+ * + * Protobuf type {@code aapt.pb.internal.CompiledFileLegacy} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageLite.Builder< + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy, Builder> implements + // @@protoc_insertion_point(builder_implements:aapt.pb.internal.CompiledFileLegacy) + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacyOrBuilder { + // Construct using com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.newBuilder() + private Builder() { + super(DEFAULT_INSTANCE); + } + + + /** + *
+       * The name of the resource (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public java.lang.String getResourceName() { + return instance.getResourceName(); + } + /** + *
+       * The name of the resource (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public com.google.protobuf.ByteString + getResourceNameBytes() { + return instance.getResourceNameBytes(); + } + /** + *
+       * The name of the resource (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public Builder setResourceName( + java.lang.String value) { + copyOnWrite(); + instance.setResourceName(value); + return this; + } + /** + *
+       * The name of the resource (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public Builder clearResourceName() { + copyOnWrite(); + instance.clearResourceName(); + return this; + } + /** + *
+       * The name of the resource (in the form package:type/name).
+       * 
+ * + * string resource_name = 1; + */ + public Builder setResourceNameBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setResourceNameBytes(value); + return this; + } + + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public boolean hasConfig() { + return instance.hasConfig(); + } + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription getConfig() { + return instance.getConfig(); + } + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public Builder setConfig(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription value) { + copyOnWrite(); + instance.setConfig(value); + return this; + } + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public Builder setConfig( + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.Builder builderForValue) { + copyOnWrite(); + instance.setConfig(builderForValue); + return this; + } + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public Builder mergeConfig(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription value) { + copyOnWrite(); + instance.mergeConfig(value); + return this; + } + /** + *
+       * The configuration for which the resource is defined.
+       * 
+ * + * .aapt.pb.internal.ConfigDescription config = 2; + */ + public Builder clearConfig() { copyOnWrite(); + instance.clearConfig(); + return this; + } + + /** + *
+       * The filesystem path to where the source file originated.
+       * Mainly used to display helpful error messages.
+       * 
+ * + * string source_path = 3; + */ + public java.lang.String getSourcePath() { + return instance.getSourcePath(); + } + /** + *
+       * The filesystem path to where the source file originated.
+       * Mainly used to display helpful error messages.
+       * 
+ * + * string source_path = 3; + */ + public com.google.protobuf.ByteString + getSourcePathBytes() { + return instance.getSourcePathBytes(); + } + /** + *
+       * The filesystem path to where the source file originated.
+       * Mainly used to display helpful error messages.
+       * 
+ * + * string source_path = 3; + */ + public Builder setSourcePath( + java.lang.String value) { + copyOnWrite(); + instance.setSourcePath(value); + return this; + } + /** + *
+       * The filesystem path to where the source file originated.
+       * Mainly used to display helpful error messages.
+       * 
+ * + * string source_path = 3; + */ + public Builder clearSourcePath() { + copyOnWrite(); + instance.clearSourcePath(); + return this; + } + /** + *
+       * The filesystem path to where the source file originated.
+       * Mainly used to display helpful error messages.
+       * 
+ * + * string source_path = 3; + */ + public Builder setSourcePathBytes( + com.google.protobuf.ByteString value) { + copyOnWrite(); + instance.setSourcePathBytes(value); + return this; + } + + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public java.util.List getExportedSymbolList() { + return java.util.Collections.unmodifiableList( + instance.getExportedSymbolList()); + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public int getExportedSymbolCount() { + return instance.getExportedSymbolCount(); + }/** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol getExportedSymbol(int index) { + return instance.getExportedSymbol(index); + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder setExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + copyOnWrite(); + instance.setExportedSymbol(index, value); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder setExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + copyOnWrite(); + instance.setExportedSymbol(index, builderForValue); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder addExportedSymbol(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + copyOnWrite(); + instance.addExportedSymbol(value); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder addExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol value) { + copyOnWrite(); + instance.addExportedSymbol(index, value); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder addExportedSymbol( + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + copyOnWrite(); + instance.addExportedSymbol(builderForValue); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder addExportedSymbol( + int index, com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.Builder builderForValue) { + copyOnWrite(); + instance.addExportedSymbol(index, builderForValue); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder addAllExportedSymbol( + java.lang.Iterable values) { + copyOnWrite(); + instance.addAllExportedSymbol(values); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder clearExportedSymbol() { + copyOnWrite(); + instance.clearExportedSymbol(); + return this; + } + /** + *
+       * Any symbols this file auto-generates/exports (eg. @+id/foo in an XML file).
+       * 
+ * + * repeated .aapt.pb.internal.CompiledFileLegacy.Symbol exported_symbol = 4; + */ + public Builder removeExportedSymbol(int index) { + copyOnWrite(); + instance.removeExportedSymbol(index); + return this; + } + + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public boolean hasXmlRoot() { + return instance.hasXmlRoot(); + } + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public com.didiglobal.booster.aapt2.Resources.XmlNode getXmlRoot() { + return instance.getXmlRoot(); + } + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public Builder setXmlRoot(com.didiglobal.booster.aapt2.Resources.XmlNode value) { + copyOnWrite(); + instance.setXmlRoot(value); + return this; + } + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public Builder setXmlRoot( + com.didiglobal.booster.aapt2.Resources.XmlNode.Builder builderForValue) { + copyOnWrite(); + instance.setXmlRoot(builderForValue); + return this; + } + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public Builder mergeXmlRoot(com.didiglobal.booster.aapt2.Resources.XmlNode value) { + copyOnWrite(); + instance.mergeXmlRoot(value); + return this; + } + /** + *
+       * If this is a compiled XML file, this is the root node.
+       * 
+ * + * .aapt.pb.XmlNode xml_root = 5; + */ + public Builder clearXmlRoot() { copyOnWrite(); + instance.clearXmlRoot(); + return this; + } + + // @@protoc_insertion_point(builder_scope:aapt.pb.internal.CompiledFileLegacy) + } + @java.lang.SuppressWarnings({"unchecked", "fallthrough"}) + protected final java.lang.Object dynamicMethod( + com.google.protobuf.GeneratedMessageLite.MethodToInvoke method, + java.lang.Object arg0, java.lang.Object arg1) { + switch (method) { + case NEW_MUTABLE_INSTANCE: { + return new com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy(); + } + case IS_INITIALIZED: { + return DEFAULT_INSTANCE; + } + case MAKE_IMMUTABLE: { + exportedSymbol_.makeImmutable(); + return null; + } + case NEW_BUILDER: { + return new Builder(); + } + case VISIT: { + Visitor visitor = (Visitor) arg0; + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy other = (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy) arg1; + resourceName_ = visitor.visitString(!resourceName_.isEmpty(), resourceName_, + !other.resourceName_.isEmpty(), other.resourceName_); + config_ = visitor.visitMessage(config_, other.config_); + sourcePath_ = visitor.visitString(!sourcePath_.isEmpty(), sourcePath_, + !other.sourcePath_.isEmpty(), other.sourcePath_); + exportedSymbol_= visitor.visitList(exportedSymbol_, other.exportedSymbol_); + xmlRoot_ = visitor.visitMessage(xmlRoot_, other.xmlRoot_); + if (visitor == com.google.protobuf.GeneratedMessageLite.MergeFromVisitor + .INSTANCE) { + bitField0_ |= other.bitField0_; + } + return this; + } + case MERGE_FROM_STREAM: { + com.google.protobuf.CodedInputStream input = + (com.google.protobuf.CodedInputStream) arg0; + com.google.protobuf.ExtensionRegistryLite extensionRegistry = + (com.google.protobuf.ExtensionRegistryLite) arg1; + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + default: { + if (!parseUnknownField(tag, input)) { + done = true; + } + break; + } + case 10: { + java.lang.String s = input.readStringRequireUtf8(); + + resourceName_ = s; + break; + } + case 18: { + com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.Builder subBuilder = null; + if (config_ != null) { + subBuilder = config_.toBuilder(); + } + config_ = input.readMessage(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.ConfigDescription.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(config_); + config_ = subBuilder.buildPartial(); + } + + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + sourcePath_ = s; + break; + } + case 34: { + if (!exportedSymbol_.isModifiable()) { + exportedSymbol_ = + com.google.protobuf.GeneratedMessageLite.mutableCopy(exportedSymbol_); + } + exportedSymbol_.add( + input.readMessage(com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.Symbol.parser(), extensionRegistry)); + break; + } + case 42: { + com.didiglobal.booster.aapt2.Resources.XmlNode.Builder subBuilder = null; + if (xmlRoot_ != null) { + subBuilder = xmlRoot_.toBuilder(); + } + xmlRoot_ = input.readMessage(com.didiglobal.booster.aapt2.Resources.XmlNode.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(xmlRoot_); + xmlRoot_ = subBuilder.buildPartial(); + } + + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw new RuntimeException(e.setUnfinishedMessage(this)); + } catch (java.io.IOException e) { + throw new RuntimeException( + new com.google.protobuf.InvalidProtocolBufferException( + e.getMessage()).setUnfinishedMessage(this)); + } finally { + } + } + // fall through + case GET_DEFAULT_INSTANCE: { + return DEFAULT_INSTANCE; + } + case GET_PARSER: { + if (PARSER == null) { synchronized (com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy.class) { + if (PARSER == null) { + PARSER = new DefaultInstanceBasedParser(DEFAULT_INSTANCE); + } + } + } + return PARSER; + } + } + throw new UnsupportedOperationException(); + } + + + // @@protoc_insertion_point(class_scope:aapt.pb.internal.CompiledFileLegacy) + private static final com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new CompiledFileLegacy(); + DEFAULT_INSTANCE.makeImmutable(); + } + + public static com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy.CompiledFileLegacy getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static volatile com.google.protobuf.Parser PARSER; + + public static com.google.protobuf.Parser parser() { + return DEFAULT_INSTANCE.getParserForType(); + } + } + + + static { + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt/Configuration.kt b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt/Configuration.kt new file mode 100644 index 000000000..80f6d78f3 --- /dev/null +++ b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt/Configuration.kt @@ -0,0 +1,372 @@ +package com.didiglobal.booster.aapt + +/** + * @author johnsonlee + * @see https://android.googlesource.com/platform/frameworks/base/+/master/libs/androidfw/include/androidfw/ResourceTypes.h + */ +class Configuration { + + var size: Int = 0 + + val imsi = Imsi() + + val locale = Locale() + + val screenType = ScreenType() + + val input = Input() + + val screenSize = ScreenSize() + + val version = Version() + + val screenConfig = ScreenConfig() + + val screenSizeDp = ScreenSize() + + /** + * The ISO-15924 short name for the script corresponding to this + * configuration. (eg. Hant, Latn, etc.). Interpreted in conjunction + * with the locale field. + */ + val localeScript = ByteArray(4) + + /** + * A single BCP-47 variant subtag. Will vary in length between 4 and 8 + * chars. Interpreted in conjunction with the locale field. + */ + val localeVariant = ByteArray(8) + + val screenConfig2 = ScreenConfig2() + + class Imsi { + + /** + * Mobile country code (from SIM). 0 means "any" + */ + var mcc: Short = 0 + + /** + * Mobile network code (from SIM). 0 means "any". + */ + var mnc: Short = 0 + } + + class Locale { + + /** + * This field can take three different forms: + * + * + * * \0\0 means "any". + * * Two 7 bit ascii values interpreted as ISO-639-1 language + * codes ('fr', 'en' etc. etc.). The high bit for both bytes is + * zero. + * * A single 16 bit little endian packed value representing an + * ISO-639-2 3 letter language code. This will be of the form: + * + *
+         * { 1, t, t, t, t, t, s, s, s, s, s, f, f, f, f, f }
+        
* + * + * bit[0, 4] = first letter of the language code

+ * bit[5, 9] = second letter of the language code

+ * bit[10, 14] = third letter of the language code.

+ * bit[15] = 1 always

+ * + * + * + * For backwards compatibility, languages that have unambiguous two + * letter codes are represented in that format. + * + * The layout is always bigendian irrespective of the runtime + * architecture. + */ + val language = ByteArray(2) + + /** + * This field can take three different forms: + * + * + * * \0\0 means "any". + * * Two 7 bit ascii values interpreted as 2 letter region codes + * ('US', 'GB' etc.). The high bit for both bytes is zero. + * * An UN M.49 3 digit region code. For simplicity, these are + * packed in the same manner as the language codes, though we should + * need only 10 bits to represent them, instead of the 15. + * + * + * he layout is always bigendian irrespective of the runtime + * architecture. + */ + val country = ByteArray(2) + + val isDefined: Boolean + get() = this.language[0].toInt() == 0 && this.language[1].toInt() == 0 && this.country[0].toInt() == 0 && this.country[1].toInt() == 0 + } + + class ScreenType { + + var orientation: Byte = 0 + var touchscreen: Byte = 0 + var density: Short = 0 + + companion object { + + /** + * Orientation: not specified + */ + const val ORIENTATION_ANY = 0x0000 + const val ORIENTATION_PORT = 0x0001 + const val ORIENTATION_LAND = 0x0002 + const val ORIENTATION_SQUARE = 0x0003 + + const val TOUCHSCREEN_ANY = 0x0000 + const val TOUCHSCREEN_NOTOUCH = 0x0001 + const val TOUCHSCREEN_STYLUS = 0x0002 + const val TOUCHSCREEN_FINGER = 0x0003 + + const val DENSITY_DEFAULT: Short = 0 + const val DENSITY_LOW: Short = 120 + const val DENSITY_MEDIUM: Short = 160 + const val DENSITY_TV: Short = 213 + const val DENSITY_HIGH: Short = 240 + const val DENSITY_XHIGH: Short = 320 + const val DENSITY_XXHIGH: Short = 480 + const val DENSITY_XXXHIGH: Short = 640 + const val DENSITY_ANY = 0xfffe.toShort() + const val DENSITY_NONE = 0xffff.toShort() + + const val KEYBOARD_ANY = 0x0000 + const val KEYBOARD_NOKEYS = 0x0001 + const val KEYBOARD_QWERTY = 0x0002 + const val KEYBOARD_12KEY = 0x0003 + + const val NAVIGATION_ANY = 0x0000 + const val NAVIGATION_NONAV = 0x0001 + const val NAVIGATION_DPAD = 0x0002 + const val NAVIGATION_TRACKBALL = 0x0003 + const val NAVIGATION_WHEEL = 0x0004 + + const val KEYSHIDDEN_ANY = 0x0000 + const val KEYSHIDDEN_NO = 0x0001 + const val KEYSHIDDEN_YES = 0x0002 + const val KEYSHIDDEN_SOFT = 0x0003 + + const val NAVHIDDEN_ANY = 0x0000 + const val NAVHIDDEN_NO = 0x0001 + const val NAVHIDDEN_YES = 0x0002 + + const val SCREENWIDTH_ANY = 0x0000 + + const val SCREENHEIGHT_ANY = 0x0000 + + const val SDKVERSION_ANY = 0x0000 + + const val MINORVERSION_ANY = 0x0000 + + const val SCREENSIZE_ANY = 0x00 + const val SCREENSIZE_SMALL = 0x01 + const val SCREENSIZE_NORMAL = 0x02 + const val SCREENSIZE_LARGE = 0x03 + const val SCREENSIZE_XLARGE = 0x04 + } + } + + class Input { + var keyboard: Byte = 0 + var navigation: Byte = 0 + var flags: Byte = 0 + var pad0: Byte = 0 + } + + class ScreenSize { + var width: Short = 0 + var height: Short = 0 + } + + class ScreenConfig { + var layout: Byte = 0 + var uiMode: Byte = 0 + var smallestWidthDp: Short = 0 + } + + class ScreenConfig2 { + /** + * Contains round/notround qualifier + */ + var layout: Byte = 0 + /** + * Wide-gamut, HDR, etc. + */ + var colorMode: Byte = 0 + /** + * Reserved padding + */ + var pad2: Short = 0 + } + + class Version { + var sdk: Short = 0 + var minor: Short = 0 // always 0 + } + + fun unpackLanguageOrRegion(data: ByteArray, base: Byte): ByteArray { + if (0 != data[0].toInt() and 0x80) { + val first = (data[1].toInt() and 0x1f).toByte() + val second = ((data[1].toInt() and 0xe0 shr 5) + (data[0].toInt() and 0x03 shl 3)).toByte() + val third = (data[0].toInt() and 0x7c shr 2).toByte() + return byteArrayOf((first + base).toByte(), (second + base).toByte(), (third + base).toByte()) + } + + return if (0 != data[0].toInt()) { + byteArrayOf(data[0], data[1]) + } else ByteArray(0) + + } + + fun unpackLanguage(): ByteArray { + return unpackLanguageOrRegion(this.locale.language, 0x61.toByte()) + } + + fun unpackRegion(): ByteArray { + return unpackLanguageOrRegion(this.locale.country, 0x30.toByte()) + } + + fun appendLocaleDir(out: StringBuilder) { + if (0 != this.locale.language[0].toInt()) { + return + } + + if (0 == this.localeScript[0].toInt() && 0 == this.localeVariant[0].toInt()) { + if (out.isNotEmpty()) { + out.append("-") + } + + out.append(String(unpackLanguage())) + + if (0 != this.locale.country[0].toInt()) { + out.append("-r") + out.append(String(unpackRegion())) + } + + return + } + + if (out.isNotEmpty()) { + out.append("-") + } + + out.append("b+") + out.append(String(unpackLanguage())) + + if (0 != this.localeScript[0].toInt()) { + out.append("+") + out.append(String(this.localeScript)) + } + + if (0 != this.locale.country[0].toInt()) { + out.append("+") + out.append(String(unpackRegion())) + } + + if (0 != this.localeVariant[0].toInt()) { + out.append("+") + out.append(String(this.localeVariant)) + } + } + + override fun toString(): String { + val res = StringBuilder() + + if (this.imsi.mcc.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("mcc%d", this.imsi.mcc)) + } + + if (this.imsi.mnc.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("mnc%d", this.imsi.mnc)) + } + + appendLocaleDir(res) + + if (this.screenConfig.smallestWidthDp.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("sw%ddp", this.screenConfig.smallestWidthDp)) + } + + if (this.screenSizeDp.width.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("w%ddp", this.screenSizeDp.width)) + } + + if (this.screenSizeDp.height.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("h%ddp", this.screenSizeDp.width)) + } + + if (this.screenType.orientation.toInt() != ScreenType.ORIENTATION_ANY) { + if (res.isNotEmpty()) { + res.append("-") + } + + when (this.screenType.orientation.toInt()) { + ScreenType.ORIENTATION_PORT -> res.append("port") + ScreenType.ORIENTATION_LAND -> res.append("land") + ScreenType.ORIENTATION_SQUARE -> res.append("square") + else -> res.append(String.format("orientation=%d", this.screenType.orientation)) + } + } + + if (this.screenType.density != ScreenType.DENSITY_DEFAULT) { + if (res.isNotEmpty()) { + res.append("-") + } + + val density = this.screenType.density + + when (density) { + ScreenType.DENSITY_LOW -> res.append("ldpi") + ScreenType.DENSITY_MEDIUM -> res.append("mdpi") + ScreenType.DENSITY_TV -> res.append("tvdpi") + ScreenType.DENSITY_HIGH -> res.append("hdpi") + ScreenType.DENSITY_XHIGH -> res.append("xhdpi") + ScreenType.DENSITY_XXHIGH -> res.append("xxhdpi") + ScreenType.DENSITY_XXXHIGH -> res.append("xxxhdpi") + ScreenType.DENSITY_NONE -> res.append("nodpi") + ScreenType.DENSITY_ANY -> res.append("anydpi") + else -> res.append(String.format("%ddpi", density)) + } + } + + if (this.screenSize.width.toInt() != 0 || this.screenSize.height.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("%dx%d", this.screenSize.width, this.screenSize.height)) + } + + if (this.version.sdk.toInt() != 0 || this.version.minor.toInt() != 0) { + if (res.isNotEmpty()) { + res.append("-") + } + res.append(String.format("v%d", this.version.sdk)) + if (this.version.minor.toInt() != 0) { + res.append(String.format(".%d", this.version.minor)) + } + } + + return if (res.isEmpty()) "" else res.toString() + } +} diff --git a/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Container.kt b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Container.kt index 9d709c529..76c6d54e6 100644 --- a/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Container.kt +++ b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Container.kt @@ -1,5 +1,7 @@ package com.didiglobal.booster.aapt2 +import com.didiglobal.booster.aapt.Configuration +import java.io.File import java.nio.ByteBuffer /** @@ -9,6 +11,14 @@ class Aapt2Container(val header: Header, private vararg val _entries: Entry<*>) data class Header(val magic: Int = MAGIC, val version: Int = 1, val count: Int = 1) + data class Metadata(val resourceName: String, val sourcePath: String, val config: Configuration) { + + val sourceFile = File(sourcePath) + + val resourcePath = "${sourceFile.parentFile.name}${File.separatorChar}${sourceFile.name}" + + } + abstract class Entry(val type: Int, val data: T) open class ResTable(data: Resources.ResourceTable) : Entry(RES_TABLE, data) diff --git a/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Parser.kt b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Parser.kt index 33eb00aa9..6ea7ae637 100644 --- a/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Parser.kt +++ b/booster-aapt2/src/main/kotlin/com/didiglobal/booster/aapt2/Aapt2Parser.kt @@ -1,11 +1,14 @@ package com.didiglobal.booster.aapt2 +import com.didiglobal.booster.aapt.Configuration import com.didiglobal.booster.aapt2.Aapt2Container.Entry import com.didiglobal.booster.aapt2.Aapt2Container.Header +import com.didiglobal.booster.aapt2.Aapt2Container.Metadata import com.didiglobal.booster.aapt2.Aapt2Container.Png import com.didiglobal.booster.aapt2.Aapt2Container.ResFile import com.didiglobal.booster.aapt2.Aapt2Container.ResTable import com.didiglobal.booster.aapt2.Aapt2Container.Xml +import com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy import java.io.File val File.header: Header @@ -13,24 +16,93 @@ val File.header: Header parser.parseHeader() } -val File.metadata: ResourcesInternal.CompiledFile +val File.metadata: Metadata get() = BinaryParser(this).use { parser -> - parser.parseHeader() - val type = parser.readInt() - val length = parser.readLong() - - return when (type) { - RES_FILE -> { - val headerSize = parser.readInt() - val dataSize = parser.readLong() - parser.parse { - ResourcesInternal.CompiledFile.parseFrom(parser.readBytes(headerSize)) + val magic = parser.readInt() + parser.seek(0) + + return when (magic) { + MAGIC -> { + parser.parseHeader() + val type = parser.readInt() + val length = parser.readLong() + + when (type) { + RES_FILE -> parser.parseResFileMetadata() + else -> throw RuntimeException("Unsupported entry type: 0x${type.toString(16)}") } } - else -> throw RuntimeException("Unsupported entry type: 0x${type.toString(16)}") + RES_FILE -> parser.parseLegacyMetadata() + else -> throw Aapt2ParseException("Unrecognized file `$absolutePath`") } } +private fun BinaryParser.parseResFileMetadata(): Metadata { + val headerSize = readInt() + val dataSize = readLong() + + return parse { + ResourcesInternal.CompiledFile.parseFrom(readBytes(headerSize)) + }.let { + Metadata(it.resourceName, it.sourcePath, Configuration().apply { + size = it.config.serializedSize + imsi.apply { + mcc = it.config.mcc.toShort() + mnc = it.config.mnc.toShort() + } + it.config.localeBytes.let { l -> + l.copyTo(locale.language, 0, 0, 2) + l.copyTo(locale.country, 2, 0, 2) + } + screenType.apply { + orientation = it.config.orientationValue.toByte() + touchscreen = it.config.touchscreenValue.toByte() + density = it.config.density.toShort() + } + input.apply { + keyboard = it.config.keyboardValue.toByte() + navigation = it.config.navigationValue.toByte() + flags = 0 // TODO + } + screenSize.apply { + width = it.config.screenWidth.toShort() + height = it.config.screenHeight.toShort() + } + version.apply { + sdk = it.config.sdkVersion.toShort() + minor = 0 + } + screenConfig.apply { + layout = it.config.layoutDirectionValue.toByte() + uiMode = it.config.uiModeTypeValue.toByte() + smallestWidthDp = it.config.smallestScreenWidthDp.toShort() + } + screenSizeDp.apply { + width = it.config.screenWidthDp.toShort() + height = it.config.screenHeightDp.toShort() + } + // TODO localScript = ... + // TODO localeVariant = ... + screenConfig2.apply { + layout = it.config.screenRoundValue.toByte() + colorMode = (it.config.hdrValue shl 2 and it.config.wideColorGamutValue).toByte() + } + }) + } +} + +private fun BinaryParser.parseLegacyMetadata(): Metadata { + val entryType = readInt() + val entryLength = readLong() + return parse { + ResourcesInternalLegacy.CompiledFileLegacy.parseFrom(readBytes(entryLength.toInt())) + }.let { + Metadata(it.resourceName, it.sourcePath, BinaryParser(it.config.data.newInput()).use { parser -> + parser.parseConfiguration() + }) + } +} + val File.entries: List> get() = BinaryParser(this).use { parser -> val header = parser.parseHeader() @@ -92,6 +164,62 @@ fun BinaryParser.parseResEntry(): Entry<*> { } +fun BinaryParser.parseConfiguration() = Configuration().apply { + size = readInt() + imsi.mcc = readShort() + imsi.mnc = readShort() + locale.language[1] = readByte() + locale.language[0] = readByte() + locale.country[1] = readByte() + locale.country[0] = readByte() + screenType.orientation = readByte() + screenType.touchscreen = readByte() + screenType.density = readShort() + input.keyboard = readByte() + input.navigation = readByte() + input.flags = readByte() + input.pad0 = readByte() + screenSize.width = readShort() + screenSize.height = readShort() + version.sdk = readShort() + version.minor = readShort() + + if (size >= 32) { + screenConfig.layout = readByte() + screenConfig.uiMode = readByte() + screenConfig.smallestWidthDp = readShort() + } + + // Android 3.0+ + if (size >= 36) { + screenSizeDp.width = readShort() + screenSizeDp.height = readShort() + } + + // Android 5.0+ + if (size >= 48) { + localeScript[0] = readByte() + localeScript[1] = readByte() + localeScript[2] = readByte() + localeScript[3] = readByte() + localeVariant[0] = readByte() + localeVariant[1] = readByte() + localeVariant[2] = readByte() + localeVariant[3] = readByte() + localeVariant[4] = readByte() + localeVariant[5] = readByte() + localeVariant[6] = readByte() + localeVariant[7] = readByte() + } + + // Android 6.0+ + if (size >= 52) { + screenConfig2.layout = readByte() + screenConfig2.colorMode = readByte() + screenConfig2.pad2 = readShort() + } +} + private fun BinaryParser.parseResFile(): ResFile { val headerSize = readInt() val dataSize = readLong() diff --git a/booster-aapt2/src/main/proto/ResourcesInternalLegacy.proto b/booster-aapt2/src/main/proto/ResourcesInternalLegacy.proto new file mode 100644 index 000000000..beb583a22 --- /dev/null +++ b/booster-aapt2/src/main/proto/ResourcesInternalLegacy.proto @@ -0,0 +1,38 @@ +syntax = "proto3"; + +import "Resources.proto"; + +package aapt.pb.internal; + +option java_package = "com.didiglobal.booster.aapt2.legacy"; +option optimize_for = LITE_RUNTIME; + +// A configuration description that wraps the binary form of the C++ class +// aapt::ConfigDescription, with an added product definition. +// TODO(adamlesinski): Flesh this out to be represented in proto. +message ConfigDescription { + bytes data = 1; + string product = 2; +} + +// The top level message representing an external resource file (layout XML, PNG, etc). +// This is used to represent a compiled file before it is linked. Only useful to aapt2. +message CompiledFileLegacy { + message Symbol { + // The name of the symbol (in the form package:type/name). + string resource_name = 1; + + // The position in the file at which this symbol is defined. For debug use. + aapt.pb.SourcePosition source = 2; + } + + // The name of the resource (in the form package:type/name). + string resource_name = 1; + + // The configuration for which the resource is defined. + ConfigDescription config = 2; + + // The filesystem path to where the source file originated. + // Mainly used to display helpful error messages. + string source_path = 3; +} diff --git a/booster-aapt2/src/test/kotlin/com/didiglobal/booster/aapt2/Aapt2ParserTest.kt b/booster-aapt2/src/test/kotlin/com/didiglobal/booster/aapt2/Aapt2ParserTest.kt index 1f165737f..7d1977f84 100644 --- a/booster-aapt2/src/test/kotlin/com/didiglobal/booster/aapt2/Aapt2ParserTest.kt +++ b/booster-aapt2/src/test/kotlin/com/didiglobal/booster/aapt2/Aapt2ParserTest.kt @@ -1,12 +1,56 @@ package com.didiglobal.booster.aapt2 +import com.android.ide.common.resources.configuration.FolderConfiguration +import com.android.resources.Density +import com.didiglobal.booster.aapt.Configuration.ScreenType.Companion.DENSITY_ANY +import com.didiglobal.booster.aapt.Configuration.ScreenType.Companion.DENSITY_DEFAULT +import com.didiglobal.booster.aapt.Configuration.ScreenType.Companion.DENSITY_NONE +import com.didiglobal.booster.aapt2.legacy.ResourcesInternalLegacy import java.io.File import kotlin.test.Test import kotlin.test.assertEquals +import kotlin.test.assertNotNull import kotlin.test.assertTrue class Aapt2ParserTest { + @Test + fun `parse resources generated by 3_1_0`() { + File(javaClass.getResource("3.1.0").file).listFiles { dir, file -> + file.endsWith(".flat") + }.forEach { res -> + javaClass.getResourceAsStream("${res.parentFile.name}/${res.name}").use { input -> + val header = BinaryParser(input).use { parser -> + val entryType = parser.readInt() + val entryLength = parser.readLong() + parser.parse { + ResourcesInternalLegacy.CompiledFileLegacy.parseFrom(parser.readBytes(entryLength.toInt())) + } + } + + assertNotNull(header) + assertEquals(res.name.substringBefore('_').substringBefore('-') + "/" + res.name.substringBefore('.').substringAfter('_'), header.resourceName) + + val config = header.config.data.newInput().use { + BinaryParser(it).use { parser -> + parser.parseConfiguration() + } + } + assertNotNull(config) + + val density = FolderConfiguration.getConfigForFolder(res.name.substringBefore('_')).densityQualifier.let { + when (it.value) { + null -> DENSITY_DEFAULT + Density.ANYDPI -> DENSITY_ANY + Density.NODPI -> DENSITY_NONE + else -> it.value.dpiValue.toShort() + } + } + assertEquals(density, config.screenType.density) + } + } + } + @Test fun `parse xml generated by 3_2_0`() { assertLayoutParsing("3.2.0") @@ -43,7 +87,7 @@ class Aapt2ParserTest { } fun assertLayoutParsing(version: String) { - val xml = File(javaClass.getResource("$version${File.separator}layout_activity_main.xml.flat").file) + val xml = File(javaClass.getResource("$version/layout_activity_main.xml.flat").file) assertTrue(xml.exists()) val container = BinaryParser(xml).use { parser -> diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_fade_in.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_fade_in.xml.flat new file mode 100644 index 000000000..0f55338dc Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_fade_in.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_fade_out.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_fade_out.xml.flat new file mode 100644 index 000000000..999f7f0e5 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_fade_out.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_grow_fade_in_from_bottom.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_grow_fade_in_from_bottom.xml.flat new file mode 100644 index 000000000..8717ea725 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_grow_fade_in_from_bottom.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_popup_enter.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_popup_enter.xml.flat new file mode 100644 index 000000000..3cdfce79c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_popup_enter.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_popup_exit.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_popup_exit.xml.flat new file mode 100644 index 000000000..33bc001ed Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_popup_exit.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_shrink_fade_out_from_bottom.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_shrink_fade_out_from_bottom.xml.flat new file mode 100644 index 000000000..a33277178 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_shrink_fade_out_from_bottom.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_in_bottom.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_in_bottom.xml.flat new file mode 100644 index 000000000..e6165c4fb Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_in_bottom.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_in_top.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_in_top.xml.flat new file mode 100644 index 000000000..c21124cc6 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_in_top.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_out_bottom.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_out_bottom.xml.flat new file mode 100644 index 000000000..fca862e04 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_out_bottom.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_out_top.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_out_top.xml.flat new file mode 100644 index 000000000..f8e9b93d0 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_slide_out_top.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_tooltip_enter.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_tooltip_enter.xml.flat new file mode 100644 index 000000000..05e203ec4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_tooltip_enter.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_tooltip_exit.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_tooltip_exit.xml.flat new file mode 100644 index 000000000..9aac4f669 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/anim_abc_tooltip_exit.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v21_abc_btn_colored_borderless_text_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v21_abc_btn_colored_borderless_text_material.xml.flat new file mode 100644 index 000000000..acd8f0350 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v21_abc_btn_colored_borderless_text_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_btn_colored_borderless_text_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_btn_colored_borderless_text_material.xml.flat new file mode 100644 index 000000000..0c801fa17 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_btn_colored_borderless_text_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_btn_colored_text_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_btn_colored_text_material.xml.flat new file mode 100644 index 000000000..268ec16dd Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_btn_colored_text_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_color_highlight_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_color_highlight_material.xml.flat new file mode 100644 index 000000000..01be141bf Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_color_highlight_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_btn_checkable.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_btn_checkable.xml.flat new file mode 100644 index 000000000..58a0202c6 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_btn_checkable.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_default.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_default.xml.flat new file mode 100644 index 000000000..096bdfec1 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_default.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_edittext.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_edittext.xml.flat new file mode 100644 index 000000000..5db55395d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_edittext.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_seek_thumb.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_seek_thumb.xml.flat new file mode 100644 index 000000000..6ee09f7d8 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_seek_thumb.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_spinner.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_spinner.xml.flat new file mode 100644 index 000000000..0ded0754b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_spinner.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_switch_track.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_switch_track.xml.flat new file mode 100644 index 000000000..f8d554a4d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color-v23_abc_tint_switch_track.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_background_cache_hint_selector_material_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_background_cache_hint_selector_material_dark.xml.flat new file mode 100644 index 000000000..a81297179 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_background_cache_hint_selector_material_dark.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_background_cache_hint_selector_material_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_background_cache_hint_selector_material_light.xml.flat new file mode 100644 index 000000000..357ec0d00 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_background_cache_hint_selector_material_light.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_btn_colored_text_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_btn_colored_text_material.xml.flat new file mode 100644 index 000000000..0126dd2ee Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_btn_colored_text_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_hint_foreground_material_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_hint_foreground_material_dark.xml.flat new file mode 100644 index 000000000..e5adca5f3 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_hint_foreground_material_dark.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_hint_foreground_material_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_hint_foreground_material_light.xml.flat new file mode 100644 index 000000000..204eb6c8d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_hint_foreground_material_light.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_dark.xml.flat new file mode 100644 index 000000000..ee46ebb36 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_dark.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_light.xml.flat new file mode 100644 index 000000000..3062a7b48 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_disable_only_material_light.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_material_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_material_dark.xml.flat new file mode 100644 index 000000000..6147a4e93 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_material_dark.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_material_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_material_light.xml.flat new file mode 100644 index 000000000..dfdd0162a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_primary_text_material_light.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_search_url_text.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_search_url_text.xml.flat new file mode 100644 index 000000000..b2933ff11 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_search_url_text.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_secondary_text_material_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_secondary_text_material_dark.xml.flat new file mode 100644 index 000000000..98f19786f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_secondary_text_material_dark.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_secondary_text_material_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_secondary_text_material_light.xml.flat new file mode 100644 index 000000000..1cb8818c9 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_secondary_text_material_light.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_btn_checkable.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_btn_checkable.xml.flat new file mode 100644 index 000000000..8097b30d7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_btn_checkable.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_default.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_default.xml.flat new file mode 100644 index 000000000..bb6fcba52 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_default.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_edittext.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_edittext.xml.flat new file mode 100644 index 000000000..2fc5743bd Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_edittext.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_seek_thumb.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_seek_thumb.xml.flat new file mode 100644 index 000000000..78a8f9387 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_seek_thumb.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_spinner.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_spinner.xml.flat new file mode 100644 index 000000000..711c04d0c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_spinner.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_switch_track.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_switch_track.xml.flat new file mode 100644 index 000000000..065e502c9 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_abc_tint_switch_track.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_dark.xml.flat new file mode 100644 index 000000000..5776e1f5e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_dark.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_light.xml.flat new file mode 100644 index 000000000..d5abad155 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/color_switch_thumb_material_light.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..3f785bb36 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat new file mode 100644 index 000000000..245caef76 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat new file mode 100644 index 000000000..c67f23a6b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat new file mode 100644 index 000000000..9b75f7999 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat new file mode 100644 index 000000000..495e69a0c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat new file mode 100644 index 000000000..614567be4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat new file mode 100644 index 000000000..df316779c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..142aa1f48 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat new file mode 100644 index 000000000..02af65c6d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..7ea227459 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 000000000..472334070 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..c30f8f920 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat new file mode 100644 index 000000000..43df7d421 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat new file mode 100644 index 000000000..2bd07ad4b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_16dp.png.flat new file mode 100644 index 000000000..0872d5564 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_16dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_36dp.png.flat new file mode 100644 index 000000000..077e8ad13 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_36dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_48dp.png.flat new file mode 100644 index 000000000..bbabfb2b7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_black_48dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_16dp.png.flat new file mode 100644 index 000000000..a57171ffc Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_16dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_36dp.png.flat new file mode 100644 index 000000000..a8fc855ee Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_36dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_48dp.png.flat new file mode 100644 index 000000000..bd21ae163 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_ic_star_half_black_48dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..0d4a81568 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_focused_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_focused_holo.9.png.flat new file mode 100644 index 000000000..c921247ae Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_focused_holo.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_longpressed_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_longpressed_holo.9.png.flat new file mode 100644 index 000000000..a9eab750a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_longpressed_holo.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_pressed_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_pressed_holo_dark.9.png.flat new file mode 100644 index 000000000..c762c72ee Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_pressed_holo_dark.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_pressed_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_pressed_holo_light.9.png.flat new file mode 100644 index 000000000..b457cc32d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_pressed_holo_light.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat new file mode 100644 index 000000000..92a8da541 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat new file mode 100644 index 000000000..bd736d3c9 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat new file mode 100644 index 000000000..b0a9d890e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_popup_background_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_popup_background_mtrl_mult.9.png.flat new file mode 100644 index 000000000..895c94177 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_popup_background_mtrl_mult.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat new file mode 100644 index 000000000..bd9c9c283 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat new file mode 100644 index 000000000..edd1e3f11 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat new file mode 100644 index 000000000..7452621dc Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..998c855d5 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..c6b66212e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 000000000..e961f4001 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..7824331f7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..2d81dd23a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat new file mode 100644 index 000000000..0d3e4a99d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat new file mode 100644 index 000000000..bd43d74e4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat new file mode 100644 index 000000000..d90f3c39f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat new file mode 100644 index 000000000..588ec4a54 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat new file mode 100644 index 000000000..c08c2fe23 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat new file mode 100644 index 000000000..788575fda Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..bddd6de82 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..fe8402e9e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..0d6150c7f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..9f0552ed1 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_low_normal.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_low_normal.9.png.flat new file mode 100644 index 000000000..b4aebebae Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_low_normal.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_low_pressed.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_low_pressed.9.png.flat new file mode 100644 index 000000000..bb601a9d4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_low_pressed.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_normal.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_normal.9.png.flat new file mode 100644 index 000000000..dc5b3ad5b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_normal.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_normal_pressed.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_normal_pressed.9.png.flat new file mode 100644 index 000000000..7bcbcd127 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notification_bg_normal_pressed.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notify_panel_notification_icon_bg.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notify_panel_notification_icon_bg.png.flat new file mode 100644 index 000000000..d73926bc0 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-hdpi-v4_notify_panel_notification_icon_bg.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..d5f640632 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 000000000..b93cfbb34 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 000000000..324347f0d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-hdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..14bbe9e7f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 000000000..bfe888836 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 000000000..61a16042b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-mdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..e6dcb791c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 000000000..95496994e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 000000000..b1bcf6b92 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..a3187600f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 000000000..4305af195 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 000000000..1393d57c8 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..9bfa8b9a6 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_copy_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 000000000..6dad7549b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 000000000..14c6f4b1a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-ldrtl-xxxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..25beb6a57 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat new file mode 100644 index 000000000..7f8dc3e2a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat new file mode 100644 index 000000000..28904afb0 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat new file mode 100644 index 000000000..9ed50529f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat new file mode 100644 index 000000000..a92c10e9b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat new file mode 100644 index 000000000..a9e01ecd2 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat new file mode 100644 index 000000000..fd7732f17 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..5d7ea4306 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat new file mode 100644 index 000000000..5544e13bc Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..a603b43d0 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 000000000..47c19b0c5 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..34cf5ae5d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat new file mode 100644 index 000000000..a2cb3b62a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat new file mode 100644 index 000000000..d0cd0ad04 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_16dp.png.flat new file mode 100644 index 000000000..5009d670b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_16dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_36dp.png.flat new file mode 100644 index 000000000..03ac72ae3 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_36dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_48dp.png.flat new file mode 100644 index 000000000..cb84acf5c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_black_48dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_16dp.png.flat new file mode 100644 index 000000000..52486263f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_16dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_36dp.png.flat new file mode 100644 index 000000000..0ed310937 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_36dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_48dp.png.flat new file mode 100644 index 000000000..7136cb31a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_ic_star_half_black_48dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..2d06ff519 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_focused_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_focused_holo.9.png.flat new file mode 100644 index 000000000..a4fb86b88 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_focused_holo.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_longpressed_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_longpressed_holo.9.png.flat new file mode 100644 index 000000000..81cf6ed8e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_longpressed_holo.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_pressed_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_pressed_holo_dark.9.png.flat new file mode 100644 index 000000000..bfe97fdde Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_pressed_holo_dark.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_pressed_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_pressed_holo_light.9.png.flat new file mode 100644 index 000000000..37928766f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_pressed_holo_light.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat new file mode 100644 index 000000000..e22782cab Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat new file mode 100644 index 000000000..f321eb5ef Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat new file mode 100644 index 000000000..59f63d1b9 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_popup_background_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_popup_background_mtrl_mult.9.png.flat new file mode 100644 index 000000000..d1c4452bc Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_popup_background_mtrl_mult.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat new file mode 100644 index 000000000..c2744c18f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat new file mode 100644 index 000000000..ac4aa7ff1 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat new file mode 100644 index 000000000..dcd3ab721 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..d5722f918 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..a899186f1 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 000000000..00fb7488e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..cd512ad26 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..a9d22e998 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat new file mode 100644 index 000000000..b64bed758 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat new file mode 100644 index 000000000..ae16d56ac Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat new file mode 100644 index 000000000..27cecb9b4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat new file mode 100644 index 000000000..f09921067 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat new file mode 100644 index 000000000..8ff3e23b1 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat new file mode 100644 index 000000000..39b662e46 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..da1d133d6 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..c3e85546c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..4a30b56a2 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..eab639304 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_low_normal.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_low_normal.9.png.flat new file mode 100644 index 000000000..495ad44a6 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_low_normal.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_low_pressed.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_low_pressed.9.png.flat new file mode 100644 index 000000000..b39e1c6e9 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_low_pressed.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_normal.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_normal.9.png.flat new file mode 100644 index 000000000..a7e548e27 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_normal.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_normal_pressed.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_normal_pressed.9.png.flat new file mode 100644 index 000000000..78f8f2c72 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notification_bg_normal_pressed.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notify_panel_notification_icon_bg.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notify_panel_notification_icon_bg.png.flat new file mode 100644 index 000000000..6bd8eca80 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-mdpi-v4_notify_panel_notification_icon_bg.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_action_bar_item_background_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_action_bar_item_background_material.xml.flat new file mode 100644 index 000000000..e88a92ecd Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_action_bar_item_background_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_btn_colored_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_btn_colored_material.xml.flat new file mode 100644 index 000000000..329899f0b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_btn_colored_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_dialog_material_background.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_dialog_material_background.xml.flat new file mode 100644 index 000000000..935295e1d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_dialog_material_background.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_edit_text_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_edit_text_material.xml.flat new file mode 100644 index 000000000..0ad200e68 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_edit_text_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_list_divider_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_list_divider_material.xml.flat new file mode 100644 index 000000000..681ef7574 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_abc_list_divider_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_notification_action_background.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_notification_action_background.xml.flat new file mode 100644 index 000000000..25350498c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v21_notification_action_background.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v23_abc_control_background_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v23_abc_control_background_material.xml.flat new file mode 100644 index 000000000..a8dc59317 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v23_abc_control_background_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v24_ic_launcher_foreground.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v24_ic_launcher_foreground.xml.flat new file mode 100644 index 000000000..1a4a32a66 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-v24_ic_launcher_foreground.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-watch-v20_abc_dialog_material_background.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-watch-v20_abc_dialog_material_background.xml.flat new file mode 100644 index 000000000..f75e204bc Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-watch-v20_abc_dialog_material_background.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..54430f881 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat new file mode 100644 index 000000000..3ce0b2a72 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat new file mode 100644 index 000000000..57866356b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat new file mode 100644 index 000000000..e7630c007 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat new file mode 100644 index 000000000..003f7bf92 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat new file mode 100644 index 000000000..7b6f4069b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat new file mode 100644 index 000000000..16a14792b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..60828eb2f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat new file mode 100644 index 000000000..9a58acbd6 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..2c7ae1944 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 000000000..bd444e0f7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..dea2364d5 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat new file mode 100644 index 000000000..7a6965375 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat new file mode 100644 index 000000000..17d8e6f96 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_16dp.png.flat new file mode 100644 index 000000000..3b2c0f7d8 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_16dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_36dp.png.flat new file mode 100644 index 000000000..60047e1f0 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_36dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_48dp.png.flat new file mode 100644 index 000000000..9ab8758dc Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_black_48dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_16dp.png.flat new file mode 100644 index 000000000..8e967fc50 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_16dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_36dp.png.flat new file mode 100644 index 000000000..6e6b4bdd0 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_36dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_48dp.png.flat new file mode 100644 index 000000000..152adc366 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_ic_star_half_black_48dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..bae4a7062 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_focused_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_focused_holo.9.png.flat new file mode 100644 index 000000000..4f98601d3 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_focused_holo.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_longpressed_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_longpressed_holo.9.png.flat new file mode 100644 index 000000000..a388d1b0e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_longpressed_holo.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_pressed_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_pressed_holo_dark.9.png.flat new file mode 100644 index 000000000..e8b475804 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_pressed_holo_dark.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_pressed_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_pressed_holo_light.9.png.flat new file mode 100644 index 000000000..33b5e6143 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_pressed_holo_light.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat new file mode 100644 index 000000000..c37118ca4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat new file mode 100644 index 000000000..0a89ea6e4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat new file mode 100644 index 000000000..3a5ad01c9 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat new file mode 100644 index 000000000..833e969ee Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat new file mode 100644 index 000000000..16abc2439 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat new file mode 100644 index 000000000..f24fa3302 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat new file mode 100644 index 000000000..290771292 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..a556f021c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..1c498225c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 000000000..f420ed73c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..468d4a75f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..429ba19a7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat new file mode 100644 index 000000000..7273110b1 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat new file mode 100644 index 000000000..eef4b51d8 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat new file mode 100644 index 000000000..302fcb3e2 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat new file mode 100644 index 000000000..516665ef4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat new file mode 100644 index 000000000..cd87923fb Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat new file mode 100644 index 000000000..956d4d38a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..333313b79 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..79bcb07d9 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..c11ed258e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..2abd4f34e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_low_normal.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_low_normal.9.png.flat new file mode 100644 index 000000000..6a79701d8 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_low_normal.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_low_pressed.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_low_pressed.9.png.flat new file mode 100644 index 000000000..82c23182a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_low_pressed.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_normal.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_normal.9.png.flat new file mode 100644 index 000000000..1c15fdd61 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_normal.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_normal_pressed.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_normal_pressed.9.png.flat new file mode 100644 index 000000000..1f46b299b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notification_bg_normal_pressed.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notify_panel_notification_icon_bg.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notify_panel_notification_icon_bg.png.flat new file mode 100644 index 000000000..8d3ed9489 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xhdpi-v4_notify_panel_notification_icon_bg.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..ebe04ac7b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ab_share_pack_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat new file mode 100644 index 000000000..5af3dccf4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat new file mode 100644 index 000000000..665021bbc Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat new file mode 100644 index 000000000..5c6bcc719 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat new file mode 100644 index 000000000..712c33a3f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat new file mode 100644 index 000000000..e855fe70b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat new file mode 100644 index 000000000..3e1b17701 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..483b000cc Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat new file mode 100644 index 000000000..b5f686e41 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..de7027708 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 000000000..ec7736595 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..c969f4628 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat new file mode 100644 index 000000000..e533ed05d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat new file mode 100644 index 000000000..43b520ce3 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_16dp.png.flat new file mode 100644 index 000000000..8f131aff2 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_16dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_36dp.png.flat new file mode 100644 index 000000000..121a25c84 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_36dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_48dp.png.flat new file mode 100644 index 000000000..580860ef7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_black_48dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_16dp.png.flat new file mode 100644 index 000000000..458f1283c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_16dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_36dp.png.flat new file mode 100644 index 000000000..f984b1d23 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_36dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_48dp.png.flat new file mode 100644 index 000000000..4e732e870 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_ic_star_half_black_48dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..b2a06be34 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_divider_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_focused_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_focused_holo.9.png.flat new file mode 100644 index 000000000..fed63d418 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_focused_holo.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_longpressed_holo.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_longpressed_holo.9.png.flat new file mode 100644 index 000000000..20ff52960 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_longpressed_holo.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_pressed_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_pressed_holo_dark.9.png.flat new file mode 100644 index 000000000..ab904909e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_pressed_holo_dark.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_pressed_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_pressed_holo_light.9.png.flat new file mode 100644 index 000000000..496cd2c46 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_pressed_holo_light.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat new file mode 100644 index 000000000..21442f406 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_dark.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat new file mode 100644 index 000000000..299c42505 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat new file mode 100644 index 000000000..8cc243ee5 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_menu_hardkey_panel_mtrl_mult.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat new file mode 100644 index 000000000..3a0cc2eb4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat new file mode 100644 index 000000000..93a9911ba Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_off_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat new file mode 100644 index 000000000..4d3cc6474 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat new file mode 100644 index 000000000..348fcdee6 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..bd4408e53 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_primary_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..d3dbe6737 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_scrubber_track_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 000000000..a7906d556 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..de861fa8b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..7b7d73f03 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat new file mode 100644 index 000000000..9d4e512d5 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat new file mode 100644 index 000000000..80545941e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat new file mode 100644 index 000000000..acd64ae79 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_middle_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat new file mode 100644 index 000000000..ac4073212 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_middle_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat new file mode 100644 index 000000000..e69e3f06e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat new file mode 100644 index 000000000..377383f36 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..66470360e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_activated_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..a1a580f55 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_default_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..c2ba6b896 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_activated_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..573dd4e3f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxhdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat new file mode 100644 index 000000000..5c5228454 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat new file mode 100644 index 000000000..fecf19ea4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_check_to_on_mtrl_015.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat new file mode 100644 index 000000000..4d1508243 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_radio_to_on_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat new file mode 100644 index 000000000..42c48ea8f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_radio_to_on_mtrl_015.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat new file mode 100644 index 000000000..786da771d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat new file mode 100644 index 000000000..c71f60cc4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..bacdfae95 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_copy_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat new file mode 100644 index 000000000..d34e6d672 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat new file mode 100644 index 000000000..330318ebe Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_paste_mtrl_am_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat new file mode 100644 index 000000000..e39cbd6ea Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat new file mode 100644 index 000000000..0f54bb144 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_16dp.png.flat new file mode 100644 index 000000000..c9c033fe7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_16dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_36dp.png.flat new file mode 100644 index 000000000..455ebb374 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_36dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_48dp.png.flat new file mode 100644 index 000000000..baa2d09a8 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_black_48dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_16dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_16dp.png.flat new file mode 100644 index 000000000..fd2b974f6 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_16dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_36dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_36dp.png.flat new file mode 100644 index 000000000..fbd6e891e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_36dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_48dp.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_48dp.png.flat new file mode 100644 index 000000000..3fbd35825 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_ic_star_half_black_48dp.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat new file mode 100644 index 000000000..99336da8b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_000.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat new file mode 100644 index 000000000..30bb8789a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_scrubber_control_to_pressed_mtrl_005.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat new file mode 100644 index 000000000..3ce53e97a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_spinner_mtrl_am_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..211dd1ae7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat new file mode 100644 index 000000000..ac92f1310 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_tab_indicator_mtrl_alpha.9.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat new file mode 100644 index 000000000..26c0e21c7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_left_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat new file mode 100644 index 000000000..83eec449c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_left_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat new file mode 100644 index 000000000..be314f50e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat new file mode 100644 index 000000000..0d3f05e19 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable-xxxhdpi-v4_abc_text_select_handle_right_mtrl_light.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_borderless_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_borderless_material.xml.flat new file mode 100644 index 000000000..54619602b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_borderless_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_check_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_check_material.xml.flat new file mode 100644 index 000000000..38d1ae50b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_check_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_default_mtrl_shape.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_default_mtrl_shape.xml.flat new file mode 100644 index 000000000..48fe61716 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_default_mtrl_shape.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_radio_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_radio_material.xml.flat new file mode 100644 index 000000000..9a9e2085a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_btn_radio_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_cab_background_internal_bg.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_cab_background_internal_bg.xml.flat new file mode 100644 index 000000000..6b6f9fefd Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_cab_background_internal_bg.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_cab_background_top_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_cab_background_top_material.xml.flat new file mode 100644 index 000000000..199ec458f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_cab_background_top_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_ab_back_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_ab_back_material.xml.flat new file mode 100644 index 000000000..6709fa0f7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_ab_back_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_arrow_drop_right_black_24dp.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_arrow_drop_right_black_24dp.xml.flat new file mode 100644 index 000000000..88d1db895 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_arrow_drop_right_black_24dp.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_clear_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_clear_material.xml.flat new file mode 100644 index 000000000..3c7e09541 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_clear_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_go_search_api_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_go_search_api_material.xml.flat new file mode 100644 index 000000000..ab3ec2820 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_go_search_api_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_menu_overflow_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_menu_overflow_material.xml.flat new file mode 100644 index 000000000..44059b89b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_menu_overflow_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_search_api_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_search_api_material.xml.flat new file mode 100644 index 000000000..fe99acffd Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_search_api_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_voice_search_api_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_voice_search_api_material.xml.flat new file mode 100644 index 000000000..ac20ca4a3 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ic_voice_search_api_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_item_background_holo_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_item_background_holo_dark.xml.flat new file mode 100644 index 000000000..e8aefe92e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_item_background_holo_dark.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_item_background_holo_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_item_background_holo_light.xml.flat new file mode 100644 index 000000000..ce2fd66b8 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_item_background_holo_light.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_background_transition_holo_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_background_transition_holo_dark.xml.flat new file mode 100644 index 000000000..7db535a74 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_background_transition_holo_dark.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_background_transition_holo_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_background_transition_holo_light.xml.flat new file mode 100644 index 000000000..b2e9438d5 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_background_transition_holo_light.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_holo_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_holo_dark.xml.flat new file mode 100644 index 000000000..925bf63f5 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_holo_dark.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_holo_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_holo_light.xml.flat new file mode 100644 index 000000000..3b9fb3530 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_list_selector_holo_light.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_indicator_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_indicator_material.xml.flat new file mode 100644 index 000000000..f6968a85c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_indicator_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_material.xml.flat new file mode 100644 index 000000000..31de0a335 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_small_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_small_material.xml.flat new file mode 100644 index 000000000..bdf9298ad Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_ratingbar_small_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_thumb_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_thumb_material.xml.flat new file mode 100644 index 000000000..8f06b7369 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_thumb_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_tick_mark_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_tick_mark_material.xml.flat new file mode 100644 index 000000000..b821b0e13 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_tick_mark_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_track_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_track_material.xml.flat new file mode 100644 index 000000000..4fa376ee4 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_seekbar_track_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_spinner_textfield_background_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_spinner_textfield_background_material.xml.flat new file mode 100644 index 000000000..89d5cbe97 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_spinner_textfield_background_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_switch_thumb_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_switch_thumb_material.xml.flat new file mode 100644 index 000000000..d8b562607 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_switch_thumb_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_tab_indicator_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_tab_indicator_material.xml.flat new file mode 100644 index 000000000..2d94d31c0 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_tab_indicator_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_text_cursor_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_text_cursor_material.xml.flat new file mode 100644 index 000000000..e6eebee37 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_text_cursor_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_textfield_search_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_textfield_search_material.xml.flat new file mode 100644 index 000000000..85c913f5e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_textfield_search_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_vector_test.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_vector_test.xml.flat new file mode 100644 index 000000000..62e942a93 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_abc_vector_test.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_ic_launcher_background.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_ic_launcher_background.xml.flat new file mode 100644 index 000000000..b5cbe5718 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_ic_launcher_background.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg.xml.flat new file mode 100644 index 000000000..b520789c8 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg_low.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg_low.xml.flat new file mode 100644 index 000000000..69085d083 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_bg_low.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_icon_background.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_icon_background.xml.flat new file mode 100644 index 000000000..97637c191 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_icon_background.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_tile_bg.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_tile_bg.xml.flat new file mode 100644 index 000000000..f53451e2f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_notification_tile_bg.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_dark.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_dark.xml.flat new file mode 100644 index 000000000..03fa7b62b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_dark.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_light.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_light.xml.flat new file mode 100644 index 000000000..0931351ce Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/drawable_tooltip_frame_light.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action.xml.flat new file mode 100644 index 000000000..222de5506 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action_tombstone.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action_tombstone.xml.flat new file mode 100644 index 000000000..02565e104 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_action_tombstone.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_template_custom_big.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_template_custom_big.xml.flat new file mode 100644 index 000000000..a4dd7edf3 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_template_custom_big.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_template_icon_group.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_template_icon_group.xml.flat new file mode 100644 index 000000000..7b38e3e43 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v21_notification_template_icon_group.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v26_abc_screen_toolbar.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v26_abc_screen_toolbar.xml.flat new file mode 100644 index 000000000..a07da4799 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-v26_abc_screen_toolbar.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-watch-v20_abc_alert_dialog_button_bar_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-watch-v20_abc_alert_dialog_button_bar_material.xml.flat new file mode 100644 index 000000000..9fed83413 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-watch-v20_abc_alert_dialog_button_bar_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-watch-v20_abc_alert_dialog_title_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-watch-v20_abc_alert_dialog_title_material.xml.flat new file mode 100644 index 000000000..fe4731803 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout-watch-v20_abc_alert_dialog_title_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_title_item.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_title_item.xml.flat new file mode 100644 index 000000000..cb26da7c7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_title_item.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_up_container.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_up_container.xml.flat new file mode 100644 index 000000000..1d605334f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_bar_up_container.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_item_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_item_layout.xml.flat new file mode 100644 index 000000000..aad1c5186 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_item_layout.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_layout.xml.flat new file mode 100644 index 000000000..969fb2f57 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_menu_layout.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_bar.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_bar.xml.flat new file mode 100644 index 000000000..5c00863b5 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_bar.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_close_item_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_close_item_material.xml.flat new file mode 100644 index 000000000..d8a87ccd2 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_action_mode_close_item_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_activity_chooser_view.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_activity_chooser_view.xml.flat new file mode 100644 index 000000000..c10b91cd2 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_activity_chooser_view.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_activity_chooser_view_list_item.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_activity_chooser_view_list_item.xml.flat new file mode 100644 index 000000000..71b9bdcb2 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_activity_chooser_view_list_item.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_button_bar_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_button_bar_material.xml.flat new file mode 100644 index 000000000..0437c355f Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_button_bar_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_material.xml.flat new file mode 100644 index 000000000..d51c47ce1 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_title_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_title_material.xml.flat new file mode 100644 index 000000000..438fd11ed Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_alert_dialog_title_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_cascading_menu_item_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_cascading_menu_item_layout.xml.flat new file mode 100644 index 000000000..90bd92cb3 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_cascading_menu_item_layout.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_dialog_title_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_dialog_title_material.xml.flat new file mode 100644 index 000000000..0c199f9bb Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_dialog_title_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_expanded_menu_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_expanded_menu_layout.xml.flat new file mode 100644 index 000000000..f1350f694 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_expanded_menu_layout.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_checkbox.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_checkbox.xml.flat new file mode 100644 index 000000000..6e52322d0 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_checkbox.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_icon.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_icon.xml.flat new file mode 100644 index 000000000..4ea332415 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_icon.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_layout.xml.flat new file mode 100644 index 000000000..8de8d5f57 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_layout.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_radio.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_radio.xml.flat new file mode 100644 index 000000000..ff12b6d47 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_list_menu_item_radio.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_popup_menu_header_item_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_popup_menu_header_item_layout.xml.flat new file mode 100644 index 000000000..4e6569d34 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_popup_menu_header_item_layout.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_popup_menu_item_layout.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_popup_menu_item_layout.xml.flat new file mode 100644 index 000000000..a773c24d7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_popup_menu_item_layout.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_content_include.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_content_include.xml.flat new file mode 100644 index 000000000..8988c6eea Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_content_include.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_simple.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_simple.xml.flat new file mode 100644 index 000000000..0234dc8da Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_simple.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_simple_overlay_action_mode.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_simple_overlay_action_mode.xml.flat new file mode 100644 index 000000000..160885cc1 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_simple_overlay_action_mode.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_toolbar.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_toolbar.xml.flat new file mode 100644 index 000000000..bb6b7c42e Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_screen_toolbar.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_search_dropdown_item_icons_2line.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_search_dropdown_item_icons_2line.xml.flat new file mode 100644 index 000000000..280a01937 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_search_dropdown_item_icons_2line.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_search_view.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_search_view.xml.flat new file mode 100644 index 000000000..62e25e398 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_search_view.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_select_dialog_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_select_dialog_material.xml.flat new file mode 100644 index 000000000..cc083973c Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_select_dialog_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_tooltip.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_tooltip.xml.flat new file mode 100644 index 000000000..71a786b4a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_abc_tooltip.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_notification_template_part_chronometer.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_notification_template_part_chronometer.xml.flat new file mode 100644 index 000000000..5bcb4ce4a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_notification_template_part_chronometer.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_notification_template_part_time.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_notification_template_part_time.xml.flat new file mode 100644 index 000000000..e3c02d97a Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_notification_template_part_time.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_item_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_item_material.xml.flat new file mode 100644 index 000000000..68623b873 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_item_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_multichoice_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_multichoice_material.xml.flat new file mode 100644 index 000000000..5af53e88d Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_multichoice_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_singlechoice_material.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_singlechoice_material.xml.flat new file mode 100644 index 000000000..9986e1dd1 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_select_dialog_singlechoice_material.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_support_simple_spinner_dropdown_item.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_support_simple_spinner_dropdown_item.xml.flat new file mode 100644 index 000000000..9893bd910 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/layout_support_simple_spinner_dropdown_item.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-anydpi-v26_ic_launcher.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-anydpi-v26_ic_launcher.xml.flat new file mode 100644 index 000000000..139c73328 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-anydpi-v26_ic_launcher.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-anydpi-v26_ic_launcher_round.xml.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-anydpi-v26_ic_launcher_round.xml.flat new file mode 100644 index 000000000..8170d0622 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-anydpi-v26_ic_launcher_round.xml.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-hdpi_ic_launcher.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-hdpi_ic_launcher.png.flat new file mode 100644 index 000000000..6a05c7a43 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-hdpi_ic_launcher.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-hdpi_ic_launcher_round.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-hdpi_ic_launcher_round.png.flat new file mode 100644 index 000000000..b923e7a5b Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-hdpi_ic_launcher_round.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-mdpi_ic_launcher.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-mdpi_ic_launcher.png.flat new file mode 100644 index 000000000..7aada1835 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-mdpi_ic_launcher.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-mdpi_ic_launcher_round.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-mdpi_ic_launcher_round.png.flat new file mode 100644 index 000000000..e2e8bf4d7 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-mdpi_ic_launcher_round.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xhdpi_ic_launcher.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xhdpi_ic_launcher.png.flat new file mode 100644 index 000000000..cd0968686 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xhdpi_ic_launcher.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xhdpi_ic_launcher_round.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xhdpi_ic_launcher_round.png.flat new file mode 100644 index 000000000..4771631a1 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xhdpi_ic_launcher_round.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher.png.flat new file mode 100644 index 000000000..23f13b261 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher_round.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher_round.png.flat new file mode 100644 index 000000000..25814fa86 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxhdpi_ic_launcher_round.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher.png.flat new file mode 100644 index 000000000..5ac3939d2 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher.png.flat differ diff --git a/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher_round.png.flat b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher_round.png.flat new file mode 100644 index 000000000..3152c5df6 Binary files /dev/null and b/booster-aapt2/src/test/resources/com/didiglobal/booster/aapt2/3.1.0/mipmap-xxxhdpi_ic_launcher_round.png.flat differ diff --git a/booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/util/FileSearch.kt b/booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/util/FileSearch.kt index 2329e9f12..c93b00a69 100644 --- a/booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/util/FileSearch.kt +++ b/booster-android-gradle-api/src/main/kotlin/com/didiglobal/booster/util/FileSearch.kt @@ -1,5 +1,6 @@ package com.didiglobal.booster.util +import com.didiglobal.booster.kotlinx.asIterable import com.didiglobal.booster.kotlinx.execute import java.io.File import java.util.concurrent.RecursiveTask @@ -9,7 +10,7 @@ import java.util.concurrent.RecursiveTask * * @author johnsonlee */ -class FileSearch internal constructor(private val roots: Collection, private val filter: (File) -> Boolean = { true }) : RecursiveTask>() { +class FileSearch internal constructor(private val roots: Iterable, private val filter: (File) -> Boolean = { true }) : RecursiveTask>() { internal constructor(roots: Array, filter: (File) -> Boolean = { true }) : this(roots.toList(), filter) @@ -40,6 +41,8 @@ class FileSearch internal constructor(private val roots: Collection, priva fun File.search(filter: (File) -> Boolean = { true }): Collection = FileSearch(this, filter).execute() -fun Collection.search(filter: (File) -> Boolean = { true }): Collection = FileSearch(this, filter).execute() +fun Iterable.search(filter: (File) -> Boolean = { true }): Collection = FileSearch(this, filter).execute() + +fun Iterator.search(filter: (File) -> Boolean = { true }): Collection = FileSearch(this.asIterable(), filter).execute() fun Array.search(filter: (File) -> Boolean = { true }): Collection = FileSearch(this, filter).execute() diff --git a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/CompressImages.kt b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/CompressImages.kt index 558b1e4b3..bf8032cfa 100644 --- a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/CompressImages.kt +++ b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/CompressImages.kt @@ -1,7 +1,7 @@ package com.didiglobal.booster.task.compression import com.android.build.gradle.api.BaseVariant -import com.didiglobal.booster.aapt2.ResourcesInternal +import com.didiglobal.booster.aapt2.Aapt2Container import org.gradle.api.DefaultTask import java.io.File @@ -24,4 +24,4 @@ abstract class CompressImages : DefaultTask() { internal data class ActionData(val input: File, val output: File, val cmdline: List) -internal data class Aapt2ActionData(val input: File, val metadata: ResourcesInternal.CompiledFile, val output: File, val cmdline: List, val aapt2: List) +internal data class Aapt2ActionData(val input: File, val metadata: Aapt2Container.Metadata, val output: File, val cmdline: List, val aapt2: List) diff --git a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/RemoveRedundantFlatImages.kt b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/RemoveRedundantFlatImages.kt index dc18c907b..510c911d0 100644 --- a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/RemoveRedundantFlatImages.kt +++ b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/RemoveRedundantFlatImages.kt @@ -1,9 +1,6 @@ package com.didiglobal.booster.task.compression import com.didiglobal.booster.aapt2.metadata -import com.didiglobal.booster.gradle.GTE_V3_2 -import com.didiglobal.booster.kotlinx.CSI_RESET -import com.didiglobal.booster.kotlinx.CSI_YELLOW import org.gradle.api.tasks.TaskAction import java.io.File import java.io.IOException @@ -18,14 +15,6 @@ internal open class RemoveRedundantFlatImages : RemoveRedundantImages() { @TaskAction override fun run() { - when { - GTE_V3_2 -> removeFlatImages() - else -> logger.warn("${CSI_YELLOW}Removing legacy flat images is not supported yet$CSI_RESET") - - } - } - - private fun removeFlatImages() { val resources = sources().parallelStream().map { it to it.metadata }.collect(Collectors.toSet()) @@ -41,7 +30,7 @@ internal open class RemoveRedundantFlatImages : RemoveRedundantImages() { it.first to it.second }).map { group -> group.value.sortedByDescending { - it.second.config.density + it.second.config.screenType.density }.takeLast(group.value.size - 1) }.flatten().parallelStream().forEach { try { diff --git a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/cwebp/CwebpCompressFlatImages.kt b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/cwebp/CwebpCompressFlatImages.kt index 0ef6cdefc..c4eb94d02 100644 --- a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/cwebp/CwebpCompressFlatImages.kt +++ b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/cwebp/CwebpCompressFlatImages.kt @@ -4,7 +4,8 @@ import com.android.SdkConstants import com.android.SdkConstants.FD_RES import com.android.builder.model.AndroidProject.FD_INTERMEDIATES import com.android.sdklib.BuildToolInfo -import com.didiglobal.booster.aapt2.ResourcesInternal +import com.didiglobal.booster.aapt2.Aapt2Container +import com.didiglobal.booster.aapt2.metadata import com.didiglobal.booster.gradle.buildTools import com.didiglobal.booster.gradle.mergedManifests import com.didiglobal.booster.gradle.project @@ -14,10 +15,6 @@ import com.didiglobal.booster.kotlinx.CSI_RESET import com.didiglobal.booster.kotlinx.file import com.didiglobal.booster.task.compression.Aapt2ActionData import com.didiglobal.booster.task.compression.CompressionResult -import com.didiglobal.booster.aapt2.metadata -import com.didiglobal.booster.aapt2.resourcePath -import com.didiglobal.booster.gradle.GTE_V3_2 -import com.didiglobal.booster.kotlinx.CSI_YELLOW import com.didiglobal.booster.util.search import org.gradle.api.tasks.TaskAction import java.io.File @@ -48,7 +45,7 @@ internal open class CwebpCompressFlatImages : CwebpCompressImages() { it.parallelStream() }.collect(Collectors.toSet()) - val isNotLauncherIcon: (File, ResourcesInternal.CompiledFile) -> Boolean = { input, metadata -> + val isNotLauncherIcon: (File, Aapt2Container.Metadata) -> Boolean = { input, metadata -> if (!icons.contains(metadata.resourceName)) true else false.also { val s0 = input.length() results.add(CompressionResult(input, s0, s0, File(metadata.sourcePath))) @@ -103,10 +100,7 @@ internal open class CwebpCompressFlatImages : CwebpCompressImages() { @TaskAction override fun run() { - when { - GTE_V3_2 -> compress { true } - else -> logger.warn("${CSI_YELLOW}Compressing legacy flat images by cwebp is not supported yet$CSI_RESET") - } + compress { true } } } diff --git a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/pngquant/PngquantCompressFlatImages.kt b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/pngquant/PngquantCompressFlatImages.kt index 5296fbf4b..3d19c1c3c 100644 --- a/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/pngquant/PngquantCompressFlatImages.kt +++ b/booster-task-compression/src/main/kotlin/com/didiglobal/booster/task/compression/pngquant/PngquantCompressFlatImages.kt @@ -7,14 +7,11 @@ import com.android.SdkConstants.FD_RES_MIPMAP import com.android.builder.model.AndroidProject.FD_INTERMEDIATES import com.android.sdklib.BuildToolInfo import com.didiglobal.booster.aapt2.metadata -import com.didiglobal.booster.aapt2.resourcePath -import com.didiglobal.booster.gradle.GTE_V3_2 import com.didiglobal.booster.gradle.buildTools import com.didiglobal.booster.gradle.project import com.didiglobal.booster.gradle.scope import com.didiglobal.booster.kotlinx.CSI_RED import com.didiglobal.booster.kotlinx.CSI_RESET -import com.didiglobal.booster.kotlinx.CSI_YELLOW import com.didiglobal.booster.kotlinx.file import com.didiglobal.booster.task.compression.Aapt2ActionData import com.didiglobal.booster.task.compression.CompressionResult @@ -30,13 +27,6 @@ internal open class PngquantCompressFlatImages : PngquantCompressImages() { @TaskAction override fun run() { - when { - GTE_V3_2 -> compress() - else -> logger.warn("${CSI_YELLOW}Compressing legacy images by pngquant is not supported yet$CSI_RESET") - } - } - - private fun compress() { val intermediates = variant.project.buildDir.file(FD_INTERMEDIATES) val compiledRes = intermediates.file("compiled_${FD_RES}_pngquant", variant.dirName, this.name) val compressedRes = intermediates.file("compressed_${FD_RES}_pngquant", variant.dirName, this.name) @@ -52,7 +42,7 @@ internal open class PngquantCompressFlatImages : PngquantCompressImages() { }.map { val output = compressedRes.file("${it.second.resourcePath.substringBeforeLast('.')}$DOT_PNG") Aapt2ActionData(it.first, it.second, output, - listOf(pngquant, "--strip", "--skip-if-larger", "-f", "-o", output.absolutePath, "-s", "1", it.second!!.sourcePath), + listOf(pngquant, "--strip", "--skip-if-larger", "-f", "-o", output.absolutePath, "-s", "1", it.second.sourcePath), listOf(aapt2, "compile", "-o", it.first.parent, output.absolutePath)) }.forEach { it.output.parentFile.mkdirs() diff --git a/booster-transform-shrink/src/main/kotlin/com/didiglobal/booster/transform/shrink/RetainedSymbolCollector.kt b/booster-transform-shrink/src/main/kotlin/com/didiglobal/booster/transform/shrink/RetainedSymbolCollector.kt index 1a569b824..52f8326bc 100644 --- a/booster-transform-shrink/src/main/kotlin/com/didiglobal/booster/transform/shrink/RetainedSymbolCollector.kt +++ b/booster-transform-shrink/src/main/kotlin/com/didiglobal/booster/transform/shrink/RetainedSymbolCollector.kt @@ -1,6 +1,10 @@ package com.didiglobal.booster.transform.shrink -import com.didiglobal.booster.aapt2.* +import com.didiglobal.booster.aapt2.BinaryParser +import com.didiglobal.booster.aapt2.MAGIC +import com.didiglobal.booster.aapt2.RES_FILE +import com.didiglobal.booster.aapt2.Resources +import com.didiglobal.booster.aapt2.ResourcesInternal import com.didiglobal.booster.kotlinx.stackTraceAsString import org.gradle.api.logging.Logging import java.io.File