Search in sources :

Example 1 with Id

use of com.android.aapt.Resources.Id in project bundletool by google.

the class ResourceAnalyzerTest method attributeWithCompiledItem_nonRef_ignored.

@Test
public void attributeWithCompiledItem_nonRef_ignored() throws Exception {
    XmlNode manifest = AndroidManifest.create(xmlNode(xmlElement("manifest", xmlNode(xmlElement("application", // Attributes of all possible types, except for ref.
    ImmutableList.of(// str
    xmlCompiledItemAttribute(NO_NAMESPACE_URI, "str", Item.newBuilder().setStr(String.getDefaultInstance()).build()), // raw_str
    xmlCompiledItemAttribute(NO_NAMESPACE_URI, "raw_str", Item.newBuilder().setRawStr(RawString.getDefaultInstance()).build()), // styled_str
    xmlCompiledItemAttribute(NO_NAMESPACE_URI, "styled_str", Item.newBuilder().setStyledStr(StyledString.getDefaultInstance()).build()), // file
    xmlCompiledItemAttribute(NO_NAMESPACE_URI, "file", Item.newBuilder().setFile(FileReference.getDefaultInstance()).build()), // id
    xmlCompiledItemAttribute(NO_NAMESPACE_URI, "id", Item.newBuilder().setId(Id.getDefaultInstance()).build()), // prim
    xmlCompiledItemAttribute(NO_NAMESPACE_URI, "prim", Item.newBuilder().setPrim(Primitive.getDefaultInstance()).build()))))))).getManifestRoot().getProto();
    ResourceTable resourceTable = resourceTable(pkg(0x0f, "com.test.app", type(0x01, "string", entry(0x0099, "not_referenced", value("", DEFAULT_CONFIG)))));
    AppBundle appBundle = new AppBundleBuilder().addModule("base", builder -> builder.setManifest(manifest).setResourceTable(resourceTable)).build();
    ImmutableSet<ResourceId> resourceIds = new ResourceAnalyzer(appBundle).findAllAppResourcesReachableFromBaseManifest();
    assertThat(resourceIds).isEmpty();
}
Also used : RawString(com.android.aapt.Resources.RawString) Value(com.android.aapt.Resources.Value) String(com.android.aapt.Resources.String) ManifestProtoUtils.androidManifest(com.android.tools.build.bundletool.testing.ManifestProtoUtils.androidManifest) RunWith(org.junit.runner.RunWith) Primitive(com.android.aapt.Resources.Primitive) AndroidManifest(com.android.tools.build.bundletool.model.AndroidManifest) ResourcesTableFactory.resourceTable(com.android.tools.build.bundletool.testing.ResourcesTableFactory.resourceTable) Symbol(com.android.aapt.Resources.Attribute.Symbol) ANDROID_NAMESPACE_URI(com.android.tools.build.bundletool.model.AndroidManifest.ANDROID_NAMESPACE_URI) ManifestProtoUtils.xmlCompiledItemAttribute(com.android.tools.build.bundletool.testing.ManifestProtoUtils.xmlCompiledItemAttribute) Item(com.android.aapt.Resources.Item) ResourceId(com.android.tools.build.bundletool.model.ResourceId) ImmutableList(com.google.common.collect.ImmutableList) Theories(org.junit.experimental.theories.Theories) ResourcesTableFactory.reference(com.android.tools.build.bundletool.testing.ResourcesTableFactory.reference) ResourcesTableFactory.entry(com.android.tools.build.bundletool.testing.ResourcesTableFactory.entry) Attribute(com.android.aapt.Resources.Attribute) ResourcesTableFactory.pkg(com.android.tools.build.bundletool.testing.ResourcesTableFactory.pkg) ResourcesTableFactory.type(com.android.tools.build.bundletool.testing.ResourcesTableFactory.type) ResourceTable(com.android.aapt.Resources.ResourceTable) Nullable(javax.annotation.Nullable) StyledString(com.android.aapt.Resources.StyledString) ManifestProtoUtils.xmlNode(com.android.tools.build.bundletool.testing.ManifestProtoUtils.xmlNode) ImmutableSet(com.google.common.collect.ImmutableSet) Style(com.android.aapt.Resources.Style) ResourcesTableFactory.value(com.android.tools.build.bundletool.testing.ResourcesTableFactory.value) ConfigValue(com.android.aapt.Resources.ConfigValue) Reference(com.android.aapt.Resources.Reference) Test(org.junit.Test) NO_NAMESPACE_URI(com.android.tools.build.bundletool.model.AndroidManifest.NO_NAMESPACE_URI) ManifestProtoUtils.xmlElement(com.android.tools.build.bundletool.testing.ManifestProtoUtils.xmlElement) Truth.assertThat(com.google.common.truth.Truth.assertThat) ResourcesTableFactory.fileReference(com.android.tools.build.bundletool.testing.ResourcesTableFactory.fileReference) CompoundValue(com.android.aapt.Resources.CompoundValue) Id(com.android.aapt.Resources.Id) FileReference(com.android.aapt.Resources.FileReference) AppBundleBuilder(com.android.tools.build.bundletool.testing.AppBundleBuilder) ManifestProtoUtils.xmlResourceReferenceAttribute(com.android.tools.build.bundletool.testing.ManifestProtoUtils.xmlResourceReferenceAttribute) XmlNode(com.android.aapt.Resources.XmlNode) AppBundle(com.android.tools.build.bundletool.model.AppBundle) Configuration(com.android.aapt.ConfigurationOuterClass.Configuration) XmlNode(com.android.aapt.Resources.XmlNode) AppBundle(com.android.tools.build.bundletool.model.AppBundle) ResourceId(com.android.tools.build.bundletool.model.ResourceId) AppBundleBuilder(com.android.tools.build.bundletool.testing.AppBundleBuilder) ResourceTable(com.android.aapt.Resources.ResourceTable) Test(org.junit.Test)

Aggregations

Configuration (com.android.aapt.ConfigurationOuterClass.Configuration)1 Attribute (com.android.aapt.Resources.Attribute)1 Symbol (com.android.aapt.Resources.Attribute.Symbol)1 CompoundValue (com.android.aapt.Resources.CompoundValue)1 ConfigValue (com.android.aapt.Resources.ConfigValue)1 FileReference (com.android.aapt.Resources.FileReference)1 Id (com.android.aapt.Resources.Id)1 Item (com.android.aapt.Resources.Item)1 Primitive (com.android.aapt.Resources.Primitive)1 RawString (com.android.aapt.Resources.RawString)1 Reference (com.android.aapt.Resources.Reference)1 ResourceTable (com.android.aapt.Resources.ResourceTable)1 String (com.android.aapt.Resources.String)1 Style (com.android.aapt.Resources.Style)1 StyledString (com.android.aapt.Resources.StyledString)1 Value (com.android.aapt.Resources.Value)1 XmlNode (com.android.aapt.Resources.XmlNode)1 AndroidManifest (com.android.tools.build.bundletool.model.AndroidManifest)1 ANDROID_NAMESPACE_URI (com.android.tools.build.bundletool.model.AndroidManifest.ANDROID_NAMESPACE_URI)1 NO_NAMESPACE_URI (com.android.tools.build.bundletool.model.AndroidManifest.NO_NAMESPACE_URI)1