a693c4a32ebed4e96dcc1cf6a706e8ebbb004db2 |
|
09-Nov-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Move all file output to FileOutputStream FileOutputStream is safe to use on Windows, as it opens files using our compatibility API. Bug: 68262818 Test: make aapt2_tests Change-Id: Ib0b27e93edd609b49b1327db7d9867a002198ebb
/frameworks/base/tools/aapt2/Resource.h
|
93190b79d11d874199cfe7258526a48cfc8399fc |
|
03-Nov-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Better debugging output Test: make aapt2_tests Change-Id: I7778b773201381538dc1f2e376abee4eb33e44c0
/frameworks/base/tools/aapt2/Resource.h
|
004511660671511ae88e0e837a6f92db28eadaef |
|
03-Oct-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Define and Implement AAPT Container Format AAPT Container Format (.apc) is a simple container that enumerates the various intermediate files that AAPT2 generates during the compile phase. The format is defined in formats.md. For now, continue using the .flat extension for the container file, and keep making use of the .flata zip for storing multiple files. This will allow easier integration with existing build systems and allow the evolution of the APC format to better handle arbitrarily large files. Test: make aapt2_tests Change-Id: Id7216e5b76316bdd683f0fa4eaf2d2da273ba815
/frameworks/base/tools/aapt2/Resource.h
|
3b84124edcd05f8aa61357165cb4a7ffd0c2e9b9 |
|
26-Jul-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Add navigation type Test: build succeeds Change-Id: I7d49366c7cc4a93c29bad4cb9f13eec23ad05bd2
/frameworks/base/tools/aapt2/Resource.h
|
c744ae8aca97edfb2422598ea620e8219449fa9b |
|
18-May-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Implement attribute compat versioning This change defines some hardcoded rules to degrade attributes in newer SDKs to specific older attributes. An attribute with a degrade rule will generate a new XML for the API in which the attribute resulting from the degradation was introduced. Since API 22 (Lollipop MR1), attributes are correctly ignored and do not need to be versioned. In XML files defined for APIs 22+, the original and degraded attributes coexist in the same XML file. One such example is paddingHorizontal, introduced in API 26. paddingHorizontal degrades to paddingLeft and paddingRight, which were both introduced in API 1. Bug: 35763493 Test: make aapt2_tests Change-Id: I4aa8755a9ee2c0cc5afdc55c3d30093fd3a47f3d
/frameworks/base/tools/aapt2/Resource.h
|
b5dc4bd49a036e3403ca17e961d2c8e13e038295 |
|
23-Feb-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Few tweaks to get shared-libraries working Test: manual (building shared support library demo) Change-Id: I4730645aa92ba1893baf67ffe35fbd4aac0f8e46
/frameworks/base/tools/aapt2/Resource.h
|
ceb9b2f80f853059233cdd29057f39a5960a74ae |
|
16-Feb-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Shared library support Test: make aapt2_tests Change-Id: I98dddf1367e6c0ac425bb20be46e6ff05f4f2f45
/frameworks/base/tools/aapt2/Resource.h
|
86d67df8d57b9537666f9b54a9ca563779a2288b |
|
31-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Support CtsContentTestCases build - Add <feature-group> to ManifestFixer. - Support <meta-data> in <instrumentation> - Add support for <bag> and type="configVarying". Some CTS tests use this old notation, we need to support it (even though configVarying isn't anything supported by the framework convention). Change-Id: I6946fa633ce513ea8437c1496db883cf27dcf6de Test: make aapt2_tests
/frameworks/base/tools/aapt2/Resource.h
|
d5083f6f6b9bc76bbe64052bcec639eee752a321 |
|
17-Jan-2017 |
Adam Lesinski <adamlesinski@google.com> |
Move StringPiece to libandroidfw libandroidfw needs to make use of StringPiece, so move it to libandroidfw and update all code referencing StringPiece in aapt2. Test: make libandroidfw_tests libaapt2_tests Change-Id: I68d7f0fc7c651b048d9d1f5e7971f10ef5349fa1
/frameworks/base/tools/aapt2/Resource.h
|
c0c366394c658e3787b12e65833b520c9a9a34d9 |
|
20-Oct-2016 |
Adam Lesinski <adamlesinski@google.com> |
Add font type to AAPT2 Test: make libaapt2_tests AaptTestAppOne Change-Id: I8fbf01675a218cc3c0b59598b6b1ec173851e946
/frameworks/base/tools/aapt2/Resource.h
|
ce5e56e243d262a9b65459c3bd0bb9eaadd40628 |
|
22-Oct-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Rename to match new style Use Google3 naming style to match new projects' and open source google projects' style. Preferred to do this in a massive CL so as to avoid style inconsistencies that plague legacy code bases. This is a relatively NEW code base, may as well keep it up to date. Test: name/style refactor - existing tests pass Change-Id: Ie80ecb78d46ec53efdfca2336bb57d96cbb7fb87
/frameworks/base/tools/aapt2/Resource.h
|
cacb28f2d60858106e2819cc7d95a65e8bda890b |
|
19-Oct-2016 |
Adam Lesinski <adamlesinski@google.com> |
Use Google3 style guide with .clang-format Test: style change only, builds ok Change-Id: I885180e24cb2e7b58cfb4967c3bcb40058ce4078
/frameworks/base/tools/aapt2/Resource.h
|
8197cc460e02c6445434eace435e3d38ebe475c6 |
|
19-Aug-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Merge Styleables instead of overriding them Styleables merge in AAPT. Preserve this behavior. Bug:30970091 Change-Id: Ie68ca675aeecd873c0648682182e2fc574e329a0
/frameworks/base/tools/aapt2/Resource.h
|
9b8528fee4eed35b8e887ded0851d08eb2b10db6 |
|
10-Aug-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix clang-tidy warnings in aapt and aapt2. * Add explicit keyword to conversion constructors. * Add NOLINT(implicit) comments for implicit conversion constructors. Bug: 28341362 * Use const reference type for read-only parameters. Bug: 30407689 * Use const reference type to avoid unnecessary copy. Bug: 30413862 Test: build with WITH_TIDY=1 Change-Id: Id6d21961f313a1ad92b15a37fdaa5be9e8ab48e1
/frameworks/base/tools/aapt2/Resource.h
|
bf0bd0f9ac1ffa0231cff0f6591dede48b3c6d52 |
|
02-Jun-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Add support to specify stable IDs The --stable-ids flag allows the user to specify a file containing a list of resource name and resource ID pairs in the form of: package:type/name = 0xPPTTEEEE This assigns the given resource the specified ID. It helps ensure that when adding or removing resources, IDs are assigned in a stable fashion. If a package, type, or name is not found, no error or warning is raised. Change-Id: Ibc2f4e05cc924be255fedd862d835cb5b18d7584
/frameworks/base/tools/aapt2/Resource.h
|
d0f116b619feede0cfdb647157ce5ab4d50a1c46 |
|
09-Jul-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Remove usage of u16string For legacy reasons, we kept around the use of UTF-16 internally in AAPT2. We don't need this and this CL removes all instances of std::u16string and StringPiece16. The only places still needed are when interacting with the ResTable APIs that only operate in UTF16. Change-Id: I492475b84bb9014fa13bf992cff447ee7a5fe588
/frameworks/base/tools/aapt2/Resource.h
|
96917c25f09bb2f33e22f20cdfa4ece8f310b084 |
|
09-Mar-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fix file::mkdirs when given absolute paths file::mkdirs would try to extract the first part of the path '/path' which would be the empty string ''. Mkdir would fail creating the empty string directory. Change-Id: Ice8ba92135f145f52f3663499a2c49eebe797328
/frameworks/base/tools/aapt2/Resource.h
|
74605cd40256ca75b44cc3182eeeb886c92d737c |
|
04-Mar-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Emit proper doclava comments in R.java Bug:25958912 Change-Id: I663f2eb5bd54e3c3288ce9bc186c928f0a014f93
/frameworks/base/tools/aapt2/Resource.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/Resource.h
|
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/Resource.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/Resource.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/Resource.h
|
838a68705bc79527e592265371cbe4d8e888d9d9 |
|
01-May-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Include package name of attributes in styleable from another package Change-Id: I44f902e297238e7ee4ae27c02aaaf9e148652d2a
/frameworks/base/tools/aapt2/Resource.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/Resource.h
|
769de98f2dd41bfe39a1c9f76aefd1ad58942733 |
|
11-Apr-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Add library support Change-Id: I307f56d9631784ab29ee4156d94886f9b2f25b30
/frameworks/base/tools/aapt2/Resource.h
|
ca2fc353c2b07e24e297fdc8426c7abd601d908b |
|
03-Apr-2015 |
Adam Lesinski <adamlesinski@google.com> |
Fix windows build of AAPT2 Change-Id: Ib8e1a4322510b582e9600a08d3118842c9abc73c
/frameworks/base/tools/aapt2/Resource.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/Resource.h
|