platform_build/tools/aconfig
Dennis Shen e5dd91bca7 aconfig: create first implementation of aconfig storage java read api
1, See AconfigStorageReadAPI.java to see java APIs to map storage files
and read flag values. It is using fast native annotation, in theory it
should be faster than regular JNI without much of the overhead.

2, The java api calls into Rust wrapper in srcs/lib.rs, note that
MappedByteBuffer is not copied during JNI. In the rust side
implementation we get the underlying raw pointer and buffer size and
reconstruct a rust slice. However, at current implmentation, the string
input such as package name and flag name are most likely copied. They
are converted from JStirng to JavaStr first without copy, then the
into() call to convert it to Rust string. We could potentially optimize
it to without copy.

3, Add an android_test target to lock down the API behaviors.

Bug: b/321077378
Test: atest -c
Change-Id: I8915fe70e8eb341be563c70f85e19e644e8aa6be
2024-05-30 00:32:42 +00:00
..
aconfig aconfig: remove read api lib's dependency on libbase and liblog 2024-05-23 12:30:31 +00:00
aconfig_device_paths Fix bug in device path proto reading 2024-05-14 15:49:14 -04:00
aconfig_protos Add a nano proto version of aconfig protos 2024-05-15 06:18:23 +00:00
aconfig_storage_file aconfig: simply proto 2024-05-11 15:51:14 +00:00
aconfig_storage_read_api aconfig: create first implementation of aconfig storage java read api 2024-05-30 00:32:42 +00:00
aconfig_storage_write_api aconfig: remove read api lib's dependency on libbase and liblog 2024-05-23 12:30:31 +00:00
aflags Add filter by container to aflags 2024-05-15 10:06:25 -04:00
fake_device_config Modify dependencies of fake_device_config 2024-02-13 06:54:49 +00:00
overrideflags overrideflags: change local override list name 2023-10-23 18:19:29 +00:00
printflags printflags: print flags declared in mainline module 2024-03-04 22:03:05 +00:00
.editorconfig aconfig: create first implementation of aconfig storage java read api 2024-05-30 00:32:42 +00:00
.gitignore aconfig: add support for cargo 2023-05-03 09:41:11 +02:00
Cargo.toml aflags: read protos from all containers 2024-04-18 14:38:41 +00:00
MODULE_LICENSE_APACHE2
OWNERS aconfig: update aconfig owners 2023-12-08 19:14:17 +00:00
PREUPLOAD.cfg
rustfmt.toml
TEST_MAPPING aconfig: create first implementation of aconfig storage java read api 2024-05-30 00:32:42 +00:00