framework-srcs are already coming from metalava-api-stubs-default (via
framework-minus-apex). We don't need to give framework-srcs again.
Test: choosecombo into sdk_phone_arm7
Test: m
out/soong/.intermediates/frameworks/base/hiddenapi-mappings/android_common/api-versions.xml
out/soong/.intermediates/frameworks/base/hiddenapi-mappings/android_common/dex-mapping.txt
out/soong/.intermediates/frameworks/base/hiddenapi-mappings/android_common/hiddenapi-mappings-stubs.srcjar
out/soong/.intermediates/frameworks/base/hiddenapi-mappings/android_common/hiddenapi-mappings_annotations.zip
is successful
Change-Id: I9ea6e06e8bd388f3a495acb6ff5555c0ce2f75b2
The AIDL files under frameworks/native/aidl have been referenced via
their absolute paths. This required any module that has an AIDL file
depending on the AIDL types in the frameworks directory to explicitly
set the include path.
Fixing the problem by abstracting the AIDL files using filegroup where
the path property is set to the base directory for the files. The base
directory is used as include paths when the filegroup is added to srcs.
Bug: 135922046
Test: m
Test: m on sdk_phone_arm7
Change-Id: I8acb39522541f1e06d1a4b69b7a53b328c202eff
Java and AIDL source files under frameworks/base are now modularized
using filegroup. Each filegroup has 'path' property set to the base
directory of the ssource files. This allows us to not rely on
aidl.[local_]include_dirs and srcs_lib_whitelist_dirs to get the base
directories.
Bug: 70046217
Test: m
Change-Id: I0705ddf76b3c628127f65d75e0a8b06c6c250fe2
This CL topic moves the default MimeMap implementation to frameworks.
Libcore starts with a minimal implementation sufficient to pass
CtsLibcoreTestCases, but frameworks can inject the real implementation.
Before this CL topic, the data files and logic (MimeMapImpl) were part of
core-*.jar on device; after this CL, they instead live in framework.jar.
Tests from MimeMapTest that check behavior of that default
implementation also move to a non-libcore CTS test.
Specifically, the logic and android.mime.types now live in
frameworks/base/mime. The default implementation is injected
into libcore from RuntimeInit. I chose to use a separate directory
(frameworks/base/mime/) and build java_library target ("mimemap")
in order to keep this as separate as possible from the rest of
frameworks code, to make it as easy as possible to factor this
out into a separate APEX module if we ever choose to do so.
Planned work for follow-up CL:
1. Make CTS more opinionated, with a plan to assert that all of
the default mappings are present. How exactly the expectated
mapping will be bundled in CTS is still TBD.
2. Add a vendor.mime.types file (defaults to empty) where vendors
can add additional mappings; I plan to make it such that mappings
in that file are parsed last but never override any earlier
mappings, as if each mime type / file extension was prefixed
with '?'.
3. Perhaps enforce that public APIs android.webkit.MimeTypeMap
and java.net.URLConnection.getFileNameMap() behave consistently
with MimeMap.getDefault().
Test: atest CtsLibcoreTestCases
Test: atest CtsMimeMapTestCases
Bug: 136256059
Change-Id: Ib955699694d24a25c33ef2445443afb7c35ed9e7
sysprop_library now checks the API stability itself, cutting dependency
on java_sdk_library. Under the directory {module_dir}/api,
{module_name}-current.txt and {module_name}-latest.txt hold API
signatures.
When sysprop_library is built, or a user run "m {module_name}-check-api"
command, API check is performed. First, current.txt must have exactly
same signature with built sysprop_library module. Second, current.txt
must be compatible with latest.txt.
Build system emits a handy error message to generate/update those API
files, in case of missing or mismatching. Also, a script file for
freezing API files is introduced.
Bug: 131637873
Test: 1) m && boot blueline
Test: 2) m {sysprop_library} performs API check
Test: 3) manual test for check-api, freezing api
Change-Id: I6d69fb418bac675bbb9e4ac25c3269dfa3029219
Merged-In: I6d69fb418bac675bbb9e4ac25c3269dfa3029219
(cherry picked from commit 4fe9f0f8fd)
This change removes the manullay curated list of AIDL files and replace
them with globs.
In addition, framework-aidl-mappings no longer sets frameworks-defaults
to its src property, but instead uses the several variables like
framework_srcs, framework_aidl_local_include_dirs, etc. to get the
same files/dirs list as the framework.
The variables will eventually be replaced with filegroups when aidl
include paths are better handled (i.e. 'path' property of all filegroups
for a module contributes to the AIDL include paths for all AIDL files in
the module).
Bug: 70046217
Test: m
Merged-In: I59728ed06d66d44bc19bcd8530042c01add5fc2b
(cherry picked from commit 1cc9566ee2)
Change-Id: I59728ed06d66d44bc19bcd8530042c01add5fc2b
This change removes the manullay curated list of AIDL files and replace
them with globs.
In addition, framework-aidl-mappings no longer sets frameworks-defaults
to its src property, but instead uses the several variables like
framework_srcs, framework_aidl_local_include_dirs, etc. to get the
same files/dirs list as the framework.
The variables will eventually be replaced with filegroups when aidl
include paths are better handled (i.e. 'path' property of all filegroups
for a module contributes to the AIDL include paths for all AIDL files in
the module).
Bug: 70046217
Test: m
Merged-In: I59728ed06d66d44bc19bcd8530042c01add5fc2b
(cherry picked from commit 1cc9566ee2)
Change-Id: I59728ed06d66d44bc19bcd8530042c01add5fc2b
Being attached to framework-minus-aosp the config files don't get
uploaded to device, and this fixes it.
Bug: 138222363
Test: m + flashed device, configs are now present.
Change-Id: Id15f1b3dceace0dafd438bd92ad165932a597318
It was missing most of the source code outside of core/...
Test: m, m hiddenapi-mappings
Change-Id: I9559346d306499c2f9659b73a68962d640fe644d
Merged-In: I9559346d306499c2f9659b73a68962d640fe644d
There are non-app process usecases in framework code that need to have
access to this API.
Created a new package android.compat in frameworks/base/core following
previous definition of android.compat.Compatibility for app processes
(http://cs/android/libcore/luni/src/main/java/android/compat/Compatibility.java).
Bug: 137769727
Test: m
Change-Id: Ifc1b97ad40c2baf65a86169e101acfa72e3aae5f
Merged-In: Ifc1b97ad40c2baf65a86169e101acfa72e3aae5f
There are non-app process usecases in framework code that need to have
access to this API.
Created a new package android.compat in frameworks/base/core following
previous definition of android.compat.Compatibility for app processes
(http://cs/android/libcore/luni/src/main/java/android/compat/Compatibility.java).
Bug: 137769727
Test: m
Change-Id: Ifc1b97ad40c2baf65a86169e101acfa72e3aae5f
Merged-In: Ifc1b97ad40c2baf65a86169e101acfa72e3aae5f
This change removes the manullay curated list of AIDL files and replace
them with globs.
In addition, framework-aidl-mappings no longer sets frameworks-defaults
to its src property, but instead uses the several variables like
framework_srcs, framework_aidl_local_include_dirs, etc. to get the
same files/dirs list as the framework.
The variables will eventually be replaced with filegroups when aidl
include paths are better handled (i.e. 'path' property of all filegroups
for a module contributes to the AIDL include paths for all AIDL files in
the module).
Bug: 70046217
Test: m
Change-Id: I59728ed06d66d44bc19bcd8530042c01add5fc2b
Add compat-changeid-annotation-processor and upload the generated compat
config using the platform_compat_config rule.
Make both libcore and framework compat configs required for framework to
make sure they get onto the device. Libcore will be removed once the
config is uploaded to APEX.
Test: flashed device locally, config files found and read by
com.android.server.compat.CompatConfig.
Bug: 138222363
Change-Id: Ie04fde8b4b18e7e34d95257f5ef8ca78d5076b4f
sysprop_library now checks the API stability itself, cutting dependency
on java_sdk_library. Under the directory {module_dir}/api,
{module_name}-current.txt and {module_name}-latest.txt hold API
signatures.
When sysprop_library is built, or a user run "m {module_name}-check-api"
command, API check is performed. First, current.txt must have exactly
same signature with built sysprop_library module. Second, current.txt
must be compatible with latest.txt.
Build system emits a handy error message to generate/update those API
files, in case of missing or mismatching. Also, a script file for
freezing API files is introduced.
Bug: 131637873
Test: 1) m && boot blueline
Test: 2) m {sysprop_library} performs API check
Test: 3) manual test for check-api, freezing api
Change-Id: I6d69fb418bac675bbb9e4ac25c3269dfa3029219
The two dependencies are not needed. This will cut the circular
dependency that might happen when we separate some framework classes
into a separate jar.
Bug: 135922046
Test: m api-stubs-docs system-api-stubs-docs
Change-Id: I63fc1bce5f2a51366580b5ed3b53c03377a797b2
All classes for voip-common are provided opt-net-voip-srcs filegroup.
Bug: 135922046
Test: m api-stubs-docs system-api-stubs-docs
Change-Id: Iffee73ef6316803066521731901824d50c95838f