Feature splits depend on their base. The dump badging command
does resource resolution, and needs to be able to find resources
located in the base APK of a feature split.
Bug: 38038608
Test: manual
Change-Id: I8c22f0083c46a853a3a56a4049715409ac2723fe
Adaptive icons were versioned correctly, but skipped the compilation
/ resource ID assignment phase. This CL fixes the glitch.
Bug: 34829129
Test: manual
Change-Id: I93739a8b10fac53a048d95b330edf381684a807c
When a developer specifies an adaptive application icon,
and a non-adaptive round application icon, create an alias
from the round icon to the regular icon for v26 APIs and up.
We do this because certain devices prefer android:roundIcon over
android:icon regardless of the API levels of the drawables set for
either.
This auto-aliasing behaviour allows an app to prefer the
android:roundIcon on API 25 devices, and prefer the adaptive icon on
API 26 devices.
An app developer can override this behaviour by explicitly setting the
android:roundIcon to a drawable that has a v26 qualifier.
Bug: 34829129
Test: manual
Change-Id: Iaaaa5d8367e4f3f9e9f2e3b51c782d3be6a3bb71
bug:33527757
Test: replace the AAPT in local SDK, and make sure the propertyX/YName
still works within ObjectAnimator.
Change-Id: Ic9bb14cd228dcf7e4d250bd0f6cb5f0c31a14183
Mipmap directories should be treated like drawables.
They are just a convention that prevents them from
being split or stripped for multi-apk.
Bug: 36068314
Test: manual
Change-Id: I93ab3871c7d9d403b77989bcc88304e9939866c4
Two new attributes for <uses-permission>: android:requiredFeature and
android:requiredNotFeature.
Also update aapt to include this information in badging:
uses-permission: name='android.content.cts.REQUIRED_NOT_FEATURE_UNDEFINED' requiredNotFeature='android.software.cts.undefined'
uses-permission: name='android.content.cts.REQUIRED_MULTI_DENY' requiredFeature='android.software.cts.undefined' requiredNotFeature='android.software.cts'
Test: new PermissionFeatureTest suite.
Change-Id: Icc1f815a4675ae9dd2cb7f61730ab28b5c11228a
Apps that expect to use the current SDK don't specify anything in their
manifest and the build system rightfully injects the current SDK.
Any apps that specify their own <uses-sdk> or versionCode are telling
the build system that they are purposely using some other minSdkVersion,
etc (support library demos).
Test: None
Change-Id: I0aba3a71e15703c7bcafcf4d35608a1851dd8567
Fixes: 34901699
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
Add a new flag to disable versioning of Transition related XMLs.
Transition support library will use this to handle these XMLs on older
API levels.
Test: make libaapt_tests AaptTestAppOne
Bug: 34427868
Change-Id: I66e81cca049e71ef6704177b2ca21c9cdeaff78f
frameworks/base/tools/aapt/Images.cpp:845:17: warning: Assigned value is
garbage or undefined
row += bpp;
Bug: None.
Test: The warning is gone.
Change-Id: Idf4623d2510111a9188ed39922e109a8db225c76
A lot of the vendor/locale specific code existed pre-1.0
and was reworked into the current system.
Test: refactoring CL, all code except setLocale() was not being executed.
Test: setLocale() change tested manually
Change-Id: Ifb098f9808763a6cf5fb4336e089430adc09e198
StringPool:entry* are not trivially moveable, as they contain Vector<>
objects. The data in Vector<> is trivially moveable, but Vector<>
itself is a dynamic type with a vtable, which is not trivially
moveable.
Impact on aapt for frameworks-res is negligible, ~3%.
Bug: 31595853
Test: m -j framework-res
Change-Id: I562a46ef8934aed7aab5c5377db53d9cf64a08b9
Permissions such as android.permission.ACCESS_FINE_LOCATION
and android.permission.ACCESS_COARSE_LOCATION assumed the underlying feature
technology and aapt dump badging would emit an implied feature.
This is no longer accurate, so the only implied feature is on the general
android.hardware.location when the target SDK of the app is 21+.
Bug:25218770
Change-Id: Ica9ebf7d4f360b137af54a8c8fd6c0358cd9be6a
ZD and ZD_TYPE are set by utils/Compat.h, remove them from
StringPool.cpp and Resource.cpp.
Test: m -j native
Bug: 31492149
Change-Id: I6154e4598dd1f279e348ef6c0b32d756464bda8a
libziparchive-host is no longer necessary, and mixing libziparchive-host
and libziparchive can cause ODR violations.
Change-Id: I623c0c5579e28f26a6e1db7bd953f33ed1ca68cd
Due to public ID assignment, gaps in resource type and entry
IDs can occur. This can lead to null pointer dereferencing
if not careful. This happened in ResourceTable::getDensityVaryingResources()
which is called when building Splits.
Bug:30879690
Change-Id: I588e4dcd2e042fccfcb2e87967b5cbd0d23b4497
(cherry picked from commit 081d1b4cf602fdd7302b597e6bf902cb415bc3a8)
Due to public ID assignment, gaps in resource type and entry
IDs can occur. This can lead to null pointer dereferencing
if not careful. This happened in ResourceTable::getDensityVaryingResources()
which is called when building Splits.
Bug:30879690
Change-Id: I588e4dcd2e042fccfcb2e87967b5cbd0d23b4497