By caching flag values directly in member variables instead of caching
a HashMap and accessing that, flag reads avoid `hashCode()`, map
lookup, and Boolean.parse runtime costs. Flag reads are turning out
to have performance problems in hot paths, so this should help to
alleviate that.
Bug: 309625014
Test: m
Change-Id: I923bf6af2ae3fcbbf2fee7126b492a47cd6049ad
BOARD_API_LEVEL and BOARD_API_LEVEL_FROZEN are set by the release
flags.
BOARD_API_LEVEL sets ro.board.api_level that shows the API level of
the vendor API surface.
BOARD_API_LEVEL_FROZEN sets ro.board.api_frozen that shows if the
ro.board.api_level is finalized.
Bug: 295269182
Test: getprop ro.board.api_level
Change-Id: Ie57c57b6c9f1fc0c98968195843059a48da8e512
Symlinks are frequently confusing / a source of bugs. They also don't
provide much utility over just loading the other file and re-exporting
its symbols, so recommend doing that instead.
Test: Presubmits
Change-Id: Ie3052ebc0add77f1746d6321fbdf7bc15df9819b
This reverts commit 782b752889.
bug: 308932171
tested: locally generated and applied ota on nonab device
Change-Id: I67b26be01d6240b2cb332e13bc7c7959de128755
.scl files are starlark configuraiont language files, which is starlark
without any of the bazel buildin symbols.
This is to match bazel's behavior, and it doesn't make sense for
scl files to load bzl files.
We should change all the release config bzl files to scl, and then
also make it so that when using executionModeScl you can only load
scl files.
Test: go test
Change-Id: I196bcf3a4548118791ed1d47c2d37e46a1ef86c4
Previously, the 16K/4K boot options OTAs are full OTAs, resulting in
file size of ~20MB each, and ~40M for both OTAs. To reduce the space
usage, use incremental OTAs instead.
Test: th
Bug: 302759296
Bug: 293313353
Change-Id: I61cc84c6c13f151dd6bc5ff37dd31daa5fb31abd
Break when we find a working salt, certain devices have boot image
containing both the kernel and ramdisk, resulting in the ramdisk being
used as salt. Since core/Makefile uses kernel as salt, update python
code to match.
Bug: 293313353
Test: th
Change-Id: I68b5a8c2f0747ddf68f775bc2a6c5db46eb7eb64
This reverts commit 257f64347d.
Reason for revert: fix in Roboletric will subimt together with this change
Change-Id: I03c9ed627e6a4153db9c9074daf821ea6d19bc33
Instrumentation test config created by autogen is still using python script
auto_gen_test_config.py, which doesn't support extra_runner_options yet.
Bug: 308627607
Test: m FrameworksCorePackageInstallerSessionsTests
Change-Id: Ib3bef791a9d1b3e0b68f5845dc20d2c5ec5791ec
non-AB has different lifetime and development cycles from AB. To avoid
accidentally breaking each other when making changes, put non-AB code in
its own files.
Test: local non-AB OTA generation
Bug: 296485685
Merged-In: I0736ecef343834c746464666a454a8bfcd4a20ea
Change-Id: I0736ecef343834c746464666a454a8bfcd4a20ea
This change add cache in generated jave code to improve the performance.
The cache is a DeviceConfig.Properties. One Properties contains all
flag values from the given namesapce.
The Properties for a given namespace is initialized as null, and the
first call for any flags in that Properties will trigger the call to
fetch all the values. After the first call, the flag values are stored
in the Properties, so the following calls will directly get the value
from the Properties instead from the backup storage.
Test: atest aconfig.test.java
Bug: 307511846
Change-Id: Ic43626101c28099199b6faa419cf1945bd53b15d
When target specified a prebuilt boot.img, current build system will add
avb hash footer to it with a random salt. Use a deterministic salt
instead for more reproducible builds. To stay consistent with
non-prebuilt boot.img code path, we extract the kernel image from
prebuilt boot.img and uses sha256sum of kernel image as the salt.
Test: th
Bug: 293313353
Change-Id: I988999ddc4f18e0b8677b05a3165c847b6a11b52
Setting logging level to 'NOTSET' would tell logging module to inherit
logging level from handlers. Since the verbosity of handlers is
controlled by -v option, this allows sign_apex.py to give verbose output
if -v is specified.
Test: th
Bug: 307191956
Change-Id: I9c1db107cf4eae80ab570d892b0465b3902298fd
Change local override list name to "ACONFIG_VALUES_LIST_LOCAL".
Bug: 298692416
Test: source build/envsetup.sh && overrideflags, and then check the
output
Change-Id: I6c2b8dcf6291a1fd7012e714fa91ca6bf0b47cf2
Add a script to help to create flag value building rules.
The script will only extract necessary information from the value file
but it will not validate the file. The validation will defer to building
system.
For input
```
flag_value {
package: "com.android.aconfig.test"
name: "disabled_ro"
state: DISABLED
permission: READ_ONLY
}
flag_value {
package: "com.android.demoapp.test"
name: "enabled_ro"
state: DISABLED
permission: READ_WRITE
}
flag_value {
package: "com.android.aconfig.test"
name: "enabled_rw"
state: ENABLED
permission: READ_WRITE
}
```
The output Android.bp file will be like
```
VALUE_LIST_LIST = [
aconfig-local-com.android.demoapp.test,
aconfig-local-com.android.aconfig.test
]
aconfig_values {
name: "aconfig-local-com.android.demoapp.test",
package: "com.android.demoapp.test",
srcs: [
"override_values.textproto",
]
}
aconfig_values {
name: "aconfig-local-com.android.aconfig.test",
package: "com.android.aconfig.test",
srcs: [
"override_values.textproto",
]
}
```
Bug: 298692416
Test: source build/envsetup.sh && overrideflags, and then check the
output
Change-Id: Ife4063e079811e0b29046be7a6bc127cad668ed0
The page agnostic targets have to support 4k/16k page sizes. For
these targets, the APKs have to be aligned at 16k boundaries.
Bug: 302343940
Test: source build/envsetup.sh
lunch aosp_cf_arm64_phone_pgagnostic
m
launch_cvd -userdata_format=ext4
Change-Id: Ia0e39a90c0d6a3e62d450157fdfd5e3ee36d346e