458b877488c12ea4336d8fc00a95d9c0298bd6d0 |
|
25-Apr-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Add diff command Adds the diff command and various small fixes to issues discovered when diffing old AAPT built APKs with new AAPT2 built APKS. Bug:22775504 Change-Id: I682a7fe1cf4b3efa7cbd5d18b333cf2d1046fe1b
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
7656554f91b40bc93bf94c89afcad4a9a8ced884 |
|
11-Mar-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Add descriptions of Attributes in Styleables for R.java Change-Id: I69e7b73cbdfe4baf502348397435c501ae29ff5e
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
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.cpp
|
52364f7ae31716d7827ea8f8566f4a28bd30a921 |
|
11-Jan-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Variety of small fixes to get the build working - Add option to rename package in AndroidManifest.xml - Support default versionName and versionCode - Accept True and False as valid booleans Change-Id: I400e350b9dcd0fd1c197d1929144299c7823617d
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
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.cpp
|
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.cpp
|
393b5f0d6130d3848dd82075986a5cf40c09ce44 |
|
17-Dec-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Port AAPT pseudolocalization to AAPT2 Pseudolocalization happens at the compile phase. Pseudolocalized values are weak, such that manually specified values will take precedence. Change-Id: I5e064ce0d270c9f4f9022f75aecedab9d45bc980
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
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.cpp
|
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.cpp
|
28cacf091ad2b1c2749e77f590e9523e58735252 |
|
23-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Record source/comments for compound values' children Values like styles or arrays have children which need to have their source and comments preserved. Change-Id: I6fc713ba36627e6d66c7930b4080cc1403bac207
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
a587065721053ad54e34f484868142407d59512d |
|
21-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Verify min/max attr fields Integers are now checked to see if they fall in the range of min/max for the attribute they are assigned. Change-Id: I42c435b15fd3f0bd23691c83efccce4ad5973276
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
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.cpp
|
abf83cbe4f63cd76043aab89cd0e08525560fea2 |
|
17-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Prevent duplicate enums/flags Change-Id: I998cba12ac194000e9c778cb620ed7ab33003e7d
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
fa10505ceaf9d4c41b76bb1b32f257926e96e441 |
|
07-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Accept aliases defined for external resource types Resource types that are typically stored outside of the resource table (like layout, xml, drawable) can only have aliases (reference to another resource). Change-Id: Idb768801f02bb142e5be5e438904f221499bd756
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
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.cpp
|
b274e35abfbbd09e0fce983a215c11522c56cce2 |
|
07-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fix inclusion of comments in R.java javadoc Comments weren't being copied when merged from the various resource tables. Also refactored the JavaClassGenerator to omit a class if no entries exist for it. Change-Id: I6eaa89b7b3715bc05403635a2baf0d1db3efd142
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
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.cpp
|
b23f1e077b02a1d62bcf5e34655e8dc979e124fa |
|
03-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Verify positional Java String format arguments in strings Change-Id: Id415969035a0d5712857c0e11e140155566a960c
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
ca5638fd85098c3d0a699492751043545f75553a |
|
21-Oct-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Support generating Manifest.java This includes comments from AndroidManifest.xml. Change-Id: I412d9ecb12bad20a49a683d6b3bea4a0be1235ae
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
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.cpp
|
dfa5e0705ff82f15e228ba076bc192893bcbe118 |
|
13-May-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fix issue where @null was wrongly encoded @null must be encoded as TYPE_REFERENCE with a value of 0. TYPE_NULL is used by the runtime as a placeholder when resolving style attributes. If we set a style attribute to TYPE_NULL, the runtime will throw. The runtime will convert a TYPE_REFERENCE with value 0 to a proper null value. Change-Id: Id983ca7e1fbee3124dddafe32f1b5741b824225b
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
bdaa092a193d8ddccbd9ad8434be97878e6ded59 |
|
09-May-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: inferred style parent processing Change-Id: I8fbc4feef16b6039cf4c526fcfb767dc75a9c131
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
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.cpp
|
769de98f2dd41bfe39a1c9f76aefd1ad58942733 |
|
11-Apr-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Add library support Change-Id: I307f56d9631784ab29ee4156d94886f9b2f25b30
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
ca2fc353c2b07e24e297fdc8426c7abd601d908b |
|
03-Apr-2015 |
Adam Lesinski <adamlesinski@google.com> |
Fix windows build of AAPT2 Change-Id: Ib8e1a4322510b582e9600a08d3118842c9abc73c
/frameworks/base/tools/aapt2/ResourceParser.cpp
|
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.cpp
|