History log of /frameworks/base/tools/aapt2/ResourceParser.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e4bb9eb5af5b0899dc0921d5580220b20e15bd5a 13-Feb-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Introduce notion of 'product' to ResourceTable

This allows us to preserve the various product definitions during the compile
phase, and allows us to select the product in the link phase.

This allows compiled files to remain product-independent, so that they do not need
to be recompiled when switching targets.

Bug:25958912
Change-Id: Iaa7eed25c834b67a39cdc9be43613e8b5ab6cdd7
/frameworks/base/tools/aapt2/ResourceParser.h
979ccb2e6f3f1f7f00a448eb440a85daf033dc9e 11-Jan-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Warn when positional arguments exist and --legacy is on

This is normally an error, but old AAPT didn't check for it correctly,
so many projects violate this. With --legacy, this becomes a warning.

Change-Id: I23647e029930e11b719591cd38609e1b43247e20
/frameworks/base/tools/aapt2/ResourceParser.h
7751afc796842bbb24bfbb19bd0fee4a7b7c8a4e 07-Jan-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Fix product support

Previously the default product wasn't tried if 'default' wasn't specified on the command line.
Also adds support for multiple products.

Change-Id: I1e4872b34bb8d609b6444841a4e7e4dbb3bbb76b
/frameworks/base/tools/aapt2/ResourceParser.h
7ff3ee19f4b831a526baf4b928d1ac172d070d82 15-Dec-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Respect format attribute of <item> tag

An <item> is a general tag that can override certain behavior. For
instance, this is allowed:

<item name="foo" type="integer" format="float">0.4</item>

Even though without the format attribute, this would be illegal.

Change-Id: I8133ce59e14719a70d7476a1464c3f564c435289
/frameworks/base/tools/aapt2/ResourceParser.h
a6fe345be955368a13aea76aefb4db821aad11df 10-Dec-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Fix overlay support

Supports the <add-resource> tag and mimics old AAPT behavior of
not allowing new resources defined unless <add-resource> was used
or --auto-add-overlay was specified.

Change-Id: I9b461137357617ade37fd7045b418b8e6450b9c4
/frameworks/base/tools/aapt2/ResourceParser.h
467f171315f9c2037fcd3eb5edcfabc40671bf7b 17-Nov-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Fail compiling when private symbols are referenced

Also moved some XML specific stuff into its own directory,
and refactored ReferenceLinker a bit.

Change-Id: I912247a82023c1bbf72dc191fbdaf62858cbec0c
/frameworks/base/tools/aapt2/ResourceParser.h
27afb9e8894b512b21fcca6ce142f40f1ee16cbb 07-Nov-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Add support for clearer in-progress public attributes

Before, the ID assigned to a public resource without an explicitly set id
was more difficult to figure out. It would be the next available ID.

AAPT2 introduces a new way to specify public attributes in progress.

<public-group type="attr" first-id="0x0101047f">
<public name="foo" />
<public name="bar" />
...
</public-group>

The IDs assigned to each resource is auto-incremented starting from `first-id`.
This also keeps resource's with the same type grouped together so that
the auto-incrementing nature is evident.

Also, due to how AAPT2 was implemented, this is required :P

Change-Id: I95ea92ad0405e87ed0b1766879bb2f1d9d0b636e
/frameworks/base/tools/aapt2/ResourceParser.h
9f22204c3a9ddac4f92573c9ab098e6cf3ed1cb4 04-Nov-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Fix small issue with detecting translatable resources

Change-Id: Idd21b5de4d20be06c6f8c8eb5a22ccd68afc4927
/frameworks/base/tools/aapt2/ResourceParser.h
e78fd617ec60139a973a01925fa7adad31febb39 22-Oct-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Move comments and source into Value

Values are closely related to where they were defined, so
this information should live inside the Value.

This also enables comments to be attached to nested Values.

Change-Id: Ic7481b5a5f26d0ef248d638e2e29252f88154581
/frameworks/base/tools/aapt2/ResourceParser.h
9e10ac70155c993e7053323ad36beaea7bf7d54f 16-Oct-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Process <java-symbols> and private symbol package

Need to introduce the idea of multiple levels of visibility to support <java-symbol>.

Public, Private, Undefined.

Public means it is accessible from outside and requires an ID assigned.
Private means that we explicitly want this to be a symbol (show up in R.java), but not visible
to other packages. No ID required.

Undefined is any normal resource. When --private-symbols is specified in the link phase,
these resources will not show up in R.java.

Change-Id: Icba89221e08e685dee7683786aa7112baf28c856
/frameworks/base/tools/aapt2/ResourceParser.h
9ba47d813075fcb05c5e1532c137c93b394631cb 13-Oct-2015 Adam Lesinski <adamlesinski@google.com> Filter products during compile phase

Unfortunately there is no good way to deal with products in the link phase.
Products are like preprocessor defines in that they are processed early
and change the composition of the compiled unit.

Change-Id: I6d5e15ef60d29df8e83e059ba857c09333993779
/frameworks/base/tools/aapt2/ResourceParser.h
1ab598f46c3ff520a67f9d80194847741f3467ab 14-Aug-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Separate out the various steps

An early refactor. Some ideas became clearer as
development continued. Now the various phases are much
clearer and more easily reusable.

Also added a ton of tests!

Change-Id: Ic8f0a70c8222370352e63533b329c40457c0903e
/frameworks/base/tools/aapt2/ResourceParser.h
24aad163bc88cb10d2275385e9afc3de7f342d65 25-Apr-2015 Adam Lesinski <adamlesinski@google.com> Add namespace handling in attribute values

Previously, you could only reference namespace prefixes in attribute names:

<View xmlns:appcompat="http://schemas.android.com/apk/res/android.support.v7.appcompat"
appcompat:name="hey"
...

Now you can also reference them in resource names within an attribute value:

...
android:text="@appcompat:string/confirm"
...

Which will be treated as "@android.support.v7.appcompat:string/confirm".

Change-Id: Ib076e867a990c80cf877a704eb77cd1ef0b23b52
/frameworks/base/tools/aapt2/ResourceParser.h
769de98f2dd41bfe39a1c9f76aefd1ad58942733 11-Apr-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Add library support

Change-Id: I307f56d9631784ab29ee4156d94886f9b2f25b30
/frameworks/base/tools/aapt2/ResourceParser.h
6f6ceb7e1456698b1f33e04536bfb3227f9fcfcb 14-Nov-2014 Adam Lesinski <adamlesinski@google.com> AAPT2

First checking of AAPT2. The individual phases of AAPT2 work, but there
are some missing pieces.

For early testing we are missing:
- Need to properly mark file references and include them in package
- Need to package into zip

Final AAPT for apps we are missing:
- Need to crush PNGs
- Need to parse 9-patches
- Need to validate all of AndroidManifest.xml
- Need to write align method to align resource tables for splits.

Final AAPT for apps + system we are missing:
- Need to handle overlays
- Need to store comments for R file
- Need to handle --shared-lib (dynamic references too).

New AAPT features coming:
- Need to import compiled libraries
- Name mangling
- R file generation for library code

Change-Id: I95f8a63581b81a1f424ae6fb2c373c883b72c18d
/frameworks/base/tools/aapt2/ResourceParser.h