diff --git a/tools/aconfig/aconfig/src/codegen/rust.rs b/tools/aconfig/aconfig/src/codegen/rust.rs index 1292e0adb5..16f9f2c076 100644 --- a/tools/aconfig/aconfig/src/codegen/rust.rs +++ b/tools/aconfig/aconfig/src/codegen/rust.rs @@ -122,31 +122,36 @@ static MIGRATION_LOG_TAG: &str = "AconfigTestMission1"; /// flag provider pub struct FlagProvider; -lazy_static::lazy_static! { /// flag value cache for disabled_rw +lazy_static::lazy_static! { static ref CACHED_disabled_rw: bool = flags_rust::GetServerConfigurableFlag( "aconfig_flags.aconfig_test", "com.android.aconfig.test.disabled_rw", "false") == "true"; +} /// flag value cache for disabled_rw_exported +lazy_static::lazy_static! { static ref CACHED_disabled_rw_exported: bool = flags_rust::GetServerConfigurableFlag( "aconfig_flags.aconfig_test", "com.android.aconfig.test.disabled_rw_exported", "false") == "true"; +} /// flag value cache for disabled_rw_in_other_namespace +lazy_static::lazy_static! { static ref CACHED_disabled_rw_in_other_namespace: bool = flags_rust::GetServerConfigurableFlag( "aconfig_flags.other_namespace", "com.android.aconfig.test.disabled_rw_in_other_namespace", "false") == "true"; +} /// flag value cache for enabled_rw +lazy_static::lazy_static! { static ref CACHED_enabled_rw: bool = flags_rust::GetServerConfigurableFlag( "aconfig_flags.aconfig_test", "com.android.aconfig.test.enabled_rw", "true") == "true"; - } impl FlagProvider { @@ -269,7 +274,6 @@ static MIGRATION_LOG_TAG: &str = "AconfigTestMission1"; pub struct FlagProvider; lazy_static::lazy_static! { - static ref PACKAGE_OFFSET: Result, AconfigStorageError> = unsafe { get_mapped_storage_file("system", StorageFileType::PackageMap) .and_then(|package_map| get_package_read_context(&package_map, "com.android.aconfig.test")) @@ -279,8 +283,10 @@ lazy_static::lazy_static! { static ref FLAG_VAL_MAP: Result = unsafe { get_mapped_storage_file("system", StorageFileType::FlagVal) }; - /// flag value cache for disabled_rw +} + /// flag value cache for disabled_rw +lazy_static::lazy_static! { static ref CACHED_disabled_rw: bool = { let result = flags_rust::GetServerConfigurableFlag( "aconfig_flags.aconfig_test", @@ -344,9 +350,10 @@ lazy_static::lazy_static! { result }; +} /// flag value cache for disabled_rw_exported - +lazy_static::lazy_static! { static ref CACHED_disabled_rw_exported: bool = { let result = flags_rust::GetServerConfigurableFlag( "aconfig_flags.aconfig_test", @@ -410,9 +417,10 @@ lazy_static::lazy_static! { result }; +} /// flag value cache for disabled_rw_in_other_namespace - +lazy_static::lazy_static! { static ref CACHED_disabled_rw_in_other_namespace: bool = { let result = flags_rust::GetServerConfigurableFlag( "aconfig_flags.other_namespace", @@ -476,9 +484,10 @@ lazy_static::lazy_static! { result }; +} /// flag value cache for enabled_rw - +lazy_static::lazy_static! { static ref CACHED_enabled_rw: bool = { let result = flags_rust::GetServerConfigurableFlag( "aconfig_flags.aconfig_test", @@ -542,7 +551,6 @@ lazy_static::lazy_static! { result }; - } impl FlagProvider { @@ -1216,25 +1224,28 @@ static MIGRATION_LOG_TAG: &str = "AconfigTestMission1"; /// flag provider pub struct FlagProvider; -lazy_static::lazy_static! { /// flag value cache for disabled_rw_exported +lazy_static::lazy_static! { static ref CACHED_disabled_rw_exported: bool = flags_rust::GetServerConfigurableFlag( "aconfig_flags.aconfig_test", "com.android.aconfig.test.disabled_rw_exported", "false") == "true"; +} /// flag value cache for enabled_fixed_ro_exported +lazy_static::lazy_static! { static ref CACHED_enabled_fixed_ro_exported: bool = flags_rust::GetServerConfigurableFlag( "aconfig_flags.aconfig_test", "com.android.aconfig.test.enabled_fixed_ro_exported", "false") == "true"; +} /// flag value cache for enabled_ro_exported +lazy_static::lazy_static! { static ref CACHED_enabled_ro_exported: bool = flags_rust::GetServerConfigurableFlag( "aconfig_flags.aconfig_test", "com.android.aconfig.test.enabled_ro_exported", "false") == "true"; - } impl FlagProvider { diff --git a/tools/aconfig/aconfig/templates/rust.template b/tools/aconfig/aconfig/templates/rust.template index 77a9984baa..e7287d2121 100644 --- a/tools/aconfig/aconfig/templates/rust.template +++ b/tools/aconfig/aconfig/templates/rust.template @@ -12,8 +12,8 @@ static MIGRATION_LOG_TAG: &str = "AconfigTestMission1"; pub struct FlagProvider; {{ if has_readwrite- }} +{{ if allow_instrumentation }} lazy_static::lazy_static! \{ - {{ if allow_instrumentation }} static ref PACKAGE_OFFSET: Result, AconfigStorageError> = unsafe \{ get_mapped_storage_file("{container}", StorageFileType::PackageMap) .and_then(|package_map| get_package_read_context(&package_map, "{package}")) @@ -23,12 +23,14 @@ lazy_static::lazy_static! \{ static ref FLAG_VAL_MAP: Result = unsafe \{ get_mapped_storage_file("{container}", StorageFileType::FlagVal) }; - {{ -endif }} - +} +{{ -endif }} {{ -for flag in template_flags }} - {{ -if flag.readwrite }} - /// flag value cache for {flag.name} - {{ if allow_instrumentation }} + +{{ -if flag.readwrite }} +/// flag value cache for {flag.name} +{{ if allow_instrumentation }} +lazy_static::lazy_static! \{ static ref CACHED_{flag.name}: bool = \{ let result = flags_rust::GetServerConfigurableFlag( "aconfig_flags.{flag.device_config_namespace}", @@ -92,15 +94,17 @@ lazy_static::lazy_static! \{ result }; - {{ else }} +} +{{ else }} +lazy_static::lazy_static! \{ static ref CACHED_{flag.name}: bool = flags_rust::GetServerConfigurableFlag( "aconfig_flags.{flag.device_config_namespace}", "{flag.device_config_flag}", "{flag.default_value}") == "true"; - {{ endif }} - {{ -endif }} -{{ -endfor }} } +{{ endif }} +{{ -endif }} +{{ -endfor }} {{ -endif }} impl FlagProvider \{