Keep strings sorted by configuration so that strings likely
to be selected (all match the same locale, for instance) are
close together.
Bug: 67958501
Test: make aapt2_tests
Change-Id: Id17d93bf2e03ce408a6f619d3ea6dc313e393b76
1. Add logging for proto can't be parsed by incident_report
2. Close opened file descriptor of incident report request!
3. Fix invalid syntax of auto-gen section_list.cpp
Bug: 67849582
Test: manually run incident and checks /proc/<its pid>/fd
Change-Id: I38e6ac28de09aca6243ad536ed41d8059e08ba24
This will use ckati instead of make for dumping variables, for
consistent makefile parsing. It may also sandbox executions, etc.
Also skip the legacy make wrapper to build, and use soong_ui instead.
The command line arguments are equivalent, but -j is no longer
necessary, we'll default to a sane value.
Test: bit -b framework
Change-Id: Idc2c9d1abe84b6b783b8702925de5493d47a4509
A few OEM devices have introduced a memory corruption bug
that is only triggered when an application's AndroidManifest.xml
uses UTF8 string pools. Workaround this by only encoding
AndroidManifest.xml with UTF16 strings.
Bug: 64434571
Test: manual
Change-Id: I2ee50d1b2b5942d971ef2a544c878de63f67c652
The native frameworks code now knows about Belarusian and Latin
patterns.
Also, the fontchain_lint tool needed to know the script for any
hyphenation patterns added, and now it does.
Bug: 65626527
Test: make -j fontchain_lint
Change-Id: I747cbb5ea3d36ca63335bfe6b337fad1e75ee79b
Both native and java bindings.
TODOs:
- Finish WorkSources.
- Clean up the package names for the protos.
- Put the protos in a more suitable location.
Test: stats-log-api-gen-test
Change-Id: Idf4022225e2be05106dbcf7de8e97a3337fc63e2
A few OEM devices have introduced a memory corruption bug
that is only triggered when an application's AndroidManifest.xml
uses UTF8 string pools. Workaround this by only encoding
AndroidManifest.xml with UTF16 strings.
Bug: 64434571
Test: manual
Change-Id: I2ee50d1b2b5942d971ef2a544c878de63f67c652
This is the desired behavior if resource IDs may overlap, and also happens to
improve the behavior of:
aapt dump -I base.apk badging feature.apk
when both APKs use the same package name with different package IDs
(base=0x7F, feature=0x80). Previously, the final call to
DynamicRefTable::addMapping was for base.apk, and all references to 0x80 were
rewritten in DynamicRefTable::lookupResourceId to 0x7F. After this
change resources defined in both APKs are resolved correctly.
Note that this is a bit of kludge, and APKs should use different names
to avoid conflating the package IDs.
Fixes: 67070085
Bug: 64058531
Test: manual with sample in b/67070085#comment2
Change-Id: I285adb6f44a297440b08fc7a1f9ad73c700eb9bc
ASM 6 is required to read version 53 (OpenJDK 9) class files.
Test: make EXPERIMENTAL_USE_OPENJDK9=true services.core
(in the presence of other unsubmitted CLs that fix
other issues)
Test: Copied all required dependencies into a subdirectory lib/,
then ran the steps from TestMain.java, both for OpenJDK 8
and OpenJDK 9 toolchains.
Bug: 67676752
Change-Id: If324d8ea28450d9a8426a2279190b2f4d9213ed5
Bug: 66729158
Test: Manually build and flash the system.img and test "activity --proto
broadcasts"
Change-Id: I3cb7474c4a3ab092f38ed6a121b4d034cadfc402
It is very similiar to protoc-gen-javastream, which generates field Ids used
by ProtoOutputStream.cpp to dump protobuf data.
Bug: 65641021
Test: compile the streaming_proto:
$ mmm -j frameworks/base/tools/streaming_proto/
and run:
$ PATH=$PATH:out/host/linux-x86/bin/protoc-gen-cppstream aprotoc
--cppstream_out=tmp/
frameworks/base/core/proto/android/service/procstats.proto
frameworks/base/core/proto/android/util/common.proto
Change-Id: I68becc80b5166455455c5df28cd698601b4a1c1d
Also add check for when enum value can't be found and fixing output
formatting for some int types.
BUG: 65633831
Test: check incident_report output of repeated enums.
Change-Id: I329eef9b3bb0026259ea465ab67e71952df1a4e4
Bug: 34740546
Test: build with WITH_TIDY=1 and
WITH_TIDY_CHECKS="*,-readability-*,-google-readability-*,-google-runtime-references"
Change-Id: If99c75cab6a2bec0c6b38aa17189668b4943478d
If an artifact in a multi-apk set is for a scpecific set of screen
densities then update the manifest to set the compatible-screens element
to match.
Test: ran unit tests
Test: manually ran optimize command
Change-Id: I07e90850ab2f4647a8623acbeaccbebbe81c3a6a