History log of /frameworks/base/tools/aapt2/ConfigDescription.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
93190b79d11d874199cfe7258526a48cfc8399fc 03-Nov-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Better debugging output

Test: make aapt2_tests
Change-Id: I7778b773201381538dc1f2e376abee4eb33e44c0
/frameworks/base/tools/aapt2/ConfigDescription.cpp
b58c3ef023acf3851e4a0557d04d65d52835d2df 13-Sep-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Convert binary ResTable_config to proto

Test: make aapt2_tests
Change-Id: I8641f13ce41cd58ac8bc3da31c4e15a7b3f06092
/frameworks/base/tools/aapt2/ConfigDescription.cpp
5d94fb7040c710af38119eebb60e0ecae122d650 31-Aug-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Fix issue with resource deduping

Resource deduping relies on the definitions of
ConfigDescription.ConflictsWith, ConfigDescription.IsCompatibleWith,
and ConfigDescription.Dominates.

ConflictsWith is supposed to ignore range-based qualifiers, like
version, density, smallest width, screen size, etc.

This was not the case for screen size, and was assumed that the
choice of screen size is mutually exclusive.

This CL fixes the assumption and includes screen size (small, normal, large, xlarge)
as a qualifier that does not conflict.

Bug: 64397629
Test: make aapt2_tests
Change-Id: I573a6735fedd7721a10ba32902bc5d27ef99b88e
/frameworks/base/tools/aapt2/ConfigDescription.cpp
13c0c748884d796e7d8e9c104033013e925966da 07-Aug-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Fix typo in Config parsing

The 'any' syntax of a configuration is rarely used so this has not been
an issue in the field.

Test: none
Change-Id: Icb9cb2d5ad061e3ea1c43dc1cd7ca2f222965cdc
/frameworks/base/tools/aapt2/ConfigDescription.cpp
bb94f32a0042c8e2ab3d6e0de1b693713d2a6eab 12-Jul-2017 Adam Lesinski <adamlesinski@google.com> Revert "AAPT2: Auto-version adaptive-icon XML"

This reverts commit 5b7337f77cf036dda2c7218ccf22dedc774dcf76.

Bug: 63579299
Test: none
Change-Id: Ib617c4edfc16eeae3507b59b2debeae4f8bbf9a5
/frameworks/base/tools/aapt2/ConfigDescription.cpp
5b7337f77cf036dda2c7218ccf22dedc774dcf76 26-Jun-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Auto-version adaptive-icon XML

Auto version adaptive-icon XML to v26.

This change makes the logic for generating versioned resources
simpler by changing the comparison function of ResTable_config
to evaluate the sdkVersion property last, making configurations
that differ only in sdkVersion next to each other in a sorted vector.

Bug: 62316340
Test: manual (verified output of tools/aapt2/integration-tests/AppOne)
Change-Id: I977d45821722a65d2135efb4693304eacc565c9a
/frameworks/base/tools/aapt2/ConfigDescription.cpp
e38567480be67ac83a8f8f090704bb0d49e2eed2 12-Jun-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Disable locale domination for deduping

Locale deduping isn't straightforward, as parenting rules
change between platform versions and the selection
preference of a specific locale variant over the default
configuration lead to incorrect results at runtime.

Bug: 62409213
Test: make aapt2_tests
Change-Id: Iec8f1cfba7ae43c847d163529891fdc15f3db826
/frameworks/base/tools/aapt2/ConfigDescription.cpp
4832745b84d6a358582f2264d22acacf25e01b07 24-Jan-2017 Romain Guy <romainguy@google.com> Add color mode to activity/window

The color mode lets an application request a wide color gamut for
a specific window. This will also be used in the future to request
HDR. The color mode is currently either default (sRGB) or an undefined
wide gamut color space chosen by the platform. These attributes could
later be used to choose a specific color space if we deem this important
or useful.

This change also renames the various "colorimetry" attributes and
constants to "color mode" for consistency. These symbols were
added in O and can be safely renamed.

Test: CtsColorModeTestCases
Bug: 32984164
Change-Id: I4d4691dd12dbe3f3aa6a5cf893cff39aa16c739e
/frameworks/base/tools/aapt2/ConfigDescription.cpp
c9ba55902123be5abcf2dcda5af9995be0b8d3d8 19-Jan-2017 Romain Guy <romainguy@google.com> Add wide color gamut and HDR resource qualifiers

Bug: 32984164
Test: Config_test, AaptConfig_test and aapt2_tests
Change-Id: Ie9c82bfe2d36b1d6180ee223250ab5bb2ce90dd4
/frameworks/base/tools/aapt2/ConfigDescription.cpp
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/ConfigDescription.cpp
1a6acdbb86c3e72bdb0a4dcab3bda58cbc4ea34c 13-Dec-2016 Zak Cohen <zakcohen@google.com> Introduce new UI_MODE_TYPE_VR_HEADSET and qualifier.

Bug: 30989383
Test: Unit test for aapt2
Change-Id: I66dc65af6327b94fed74538bee08cada0b8be4fa
/frameworks/base/tools/aapt2/ConfigDescription.cpp
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/ConfigDescription.cpp
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/ConfigDescription.cpp
77788eb4cf0c5dba0f7370192e40364fe853050a 07-Sep-2016 Alexandria Cornwall <acornwall@google.com> AAPT2: Add dominator tree analysis and resource removal

Added dominator tree analysis of resource configurations for each
resource entry to allow deduping of resource entries if:

1. The configuration for the resource entry's value is dominated by
a configuration with an equivalent entry value.

2. All compatible configurations for the entry (those not in conflict
and unrelated by domination with the configuration for the entry's
value) have an equivalent entry value.

Bug: 30051199
Test: make libaapt2_tests && libaapt2_tests
Change-Id: I66468d3014a2d6097a94b039ac1028f9f461c7d3
/frameworks/base/tools/aapt2/ConfigDescription.cpp
87675ada47fabd1d751dc35990a95d7682b19c5b 16-Jul-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Erase version qualifiers for resources <= minSdk

When resources share the same configuration, they are much more
clustered in the resulting resources.arsc, which makes for smaller
APKs. Strip version qualifiers for resources <= minSdk so that
they get clustered.

Bug:30050641
Change-Id: I80371b179761501fb7cc41f5f5ac67ffde2fc677
/frameworks/base/tools/aapt2/ConfigDescription.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/ConfigDescription.cpp
6425497f4129a40e75569328525c0dcbaa6e3f22 04-Nov-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Add round qualifer support

Change-Id: Id5a1331198e01be7ca4d87b8833900e51f82ece5
/frameworks/base/tools/aapt2/ConfigDescription.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/ConfigDescription.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/ConfigDescription.cpp