Add API to obtain DeviceConfig allowlisted namespaces

Android 16 introduces restrictions on the DeviceConfig flags that
can be modified by the shell user by removing the WRITE_DEVICE_CONFIG
permission from this user and replacing it with the
WRITE_ALLOWLISTED_DEVICE_CONFIG permission; with this permission,
only the flags and namespaces that have been allowlisted can be
modified by the shell user. Currently the platform maintains the list
of DeviceConfig namespaces in which all flags can be written by
adb shell, but this requires an OTA for new namespaces to be added.
Since mainline modules can add new namespaces that can be modified
by users, the set of allowlisted namespaces should also be contained
in an updatable module. This commit adds an API to the
ConfigInfrastructure module to obtain the allowlist of namespaces;
the platform will use this API so that it always has the latest
list of allowlisted namespaces from within this module.

Bug: 364083026
Flag: android.provider.flags.device_config_writable_namespaces_api
Test: atest DeviceConfigApiTests
Change-Id: If5a9d1747440f63cf812d950854c9ff9914a003b
4 files changed
tree: ee2e3280d210de47bcc6c205e93a4e644d2eedf5
  1. aconfigd/
  2. apex/
  3. framework/
  4. service/
  5. OWNERS
  6. TEST_MAPPING