Merge "Return new storage value when flag enabled" into main
This commit is contained in:
@@ -287,6 +287,11 @@ lazy_static::lazy_static! {
|
||||
"com.android.aconfig.test.disabled_rw",
|
||||
"false") == "true";
|
||||
|
||||
let use_new_storage_value = flags_rust::GetServerConfigurableFlag(
|
||||
"aconfig_flags.core_experiments_team_internal",
|
||||
"com.android.providers.settings.use_new_storage_value",
|
||||
"false") == "true";
|
||||
|
||||
if Path::new(STORAGE_MIGRATION_MARKER_FILE).exists() {
|
||||
// This will be called multiple times. Subsequent calls after the first are noops.
|
||||
logger::init(
|
||||
@@ -315,14 +320,23 @@ lazy_static::lazy_static! {
|
||||
match aconfig_storage_result {
|
||||
Ok(storage_result) if storage_result == result => {
|
||||
log!(Level::Info, "AconfigTestMission1: success! flag 'disabled_rw' contained correct value. Legacy storage was {result}, new storage was {storage_result}");
|
||||
return storage_result;
|
||||
if use_new_storage_value {
|
||||
return storage_result;
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
},
|
||||
Ok(storage_result) => {
|
||||
log!(Level::Error, "AconfigTestMission1: error: mismatch for flag 'disabled_rw'. Legacy storage was {result}, new storage was {storage_result}");
|
||||
return storage_result;
|
||||
if use_new_storage_value {
|
||||
return storage_result;
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
},
|
||||
Err(err) => {
|
||||
log!(Level::Error, "AconfigTestMission1: error: {err}")
|
||||
log!(Level::Error, "AconfigTestMission1: error: {err}");
|
||||
panic!("failed to read flag value: {err}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -338,6 +352,11 @@ lazy_static::lazy_static! {
|
||||
"com.android.aconfig.test.disabled_rw_exported",
|
||||
"false") == "true";
|
||||
|
||||
let use_new_storage_value = flags_rust::GetServerConfigurableFlag(
|
||||
"aconfig_flags.core_experiments_team_internal",
|
||||
"com.android.providers.settings.use_new_storage_value",
|
||||
"false") == "true";
|
||||
|
||||
if Path::new(STORAGE_MIGRATION_MARKER_FILE).exists() {
|
||||
// This will be called multiple times. Subsequent calls after the first are noops.
|
||||
logger::init(
|
||||
@@ -366,14 +385,23 @@ lazy_static::lazy_static! {
|
||||
match aconfig_storage_result {
|
||||
Ok(storage_result) if storage_result == result => {
|
||||
log!(Level::Info, "AconfigTestMission1: success! flag 'disabled_rw_exported' contained correct value. Legacy storage was {result}, new storage was {storage_result}");
|
||||
return storage_result;
|
||||
if use_new_storage_value {
|
||||
return storage_result;
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
},
|
||||
Ok(storage_result) => {
|
||||
log!(Level::Error, "AconfigTestMission1: error: mismatch for flag 'disabled_rw_exported'. Legacy storage was {result}, new storage was {storage_result}");
|
||||
return storage_result;
|
||||
if use_new_storage_value {
|
||||
return storage_result;
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
},
|
||||
Err(err) => {
|
||||
log!(Level::Error, "AconfigTestMission1: error: {err}")
|
||||
log!(Level::Error, "AconfigTestMission1: error: {err}");
|
||||
panic!("failed to read flag value: {err}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -389,6 +417,11 @@ lazy_static::lazy_static! {
|
||||
"com.android.aconfig.test.disabled_rw_in_other_namespace",
|
||||
"false") == "true";
|
||||
|
||||
let use_new_storage_value = flags_rust::GetServerConfigurableFlag(
|
||||
"aconfig_flags.core_experiments_team_internal",
|
||||
"com.android.providers.settings.use_new_storage_value",
|
||||
"false") == "true";
|
||||
|
||||
if Path::new(STORAGE_MIGRATION_MARKER_FILE).exists() {
|
||||
// This will be called multiple times. Subsequent calls after the first are noops.
|
||||
logger::init(
|
||||
@@ -417,14 +450,23 @@ lazy_static::lazy_static! {
|
||||
match aconfig_storage_result {
|
||||
Ok(storage_result) if storage_result == result => {
|
||||
log!(Level::Info, "AconfigTestMission1: success! flag 'disabled_rw_in_other_namespace' contained correct value. Legacy storage was {result}, new storage was {storage_result}");
|
||||
return storage_result;
|
||||
if use_new_storage_value {
|
||||
return storage_result;
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
},
|
||||
Ok(storage_result) => {
|
||||
log!(Level::Error, "AconfigTestMission1: error: mismatch for flag 'disabled_rw_in_other_namespace'. Legacy storage was {result}, new storage was {storage_result}");
|
||||
return storage_result;
|
||||
if use_new_storage_value {
|
||||
return storage_result;
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
},
|
||||
Err(err) => {
|
||||
log!(Level::Error, "AconfigTestMission1: error: {err}")
|
||||
log!(Level::Error, "AconfigTestMission1: error: {err}");
|
||||
panic!("failed to read flag value: {err}");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -440,6 +482,11 @@ lazy_static::lazy_static! {
|
||||
"com.android.aconfig.test.enabled_rw",
|
||||
"true") == "true";
|
||||
|
||||
let use_new_storage_value = flags_rust::GetServerConfigurableFlag(
|
||||
"aconfig_flags.core_experiments_team_internal",
|
||||
"com.android.providers.settings.use_new_storage_value",
|
||||
"false") == "true";
|
||||
|
||||
if Path::new(STORAGE_MIGRATION_MARKER_FILE).exists() {
|
||||
// This will be called multiple times. Subsequent calls after the first are noops.
|
||||
logger::init(
|
||||
@@ -468,14 +515,23 @@ lazy_static::lazy_static! {
|
||||
match aconfig_storage_result {
|
||||
Ok(storage_result) if storage_result == result => {
|
||||
log!(Level::Info, "AconfigTestMission1: success! flag 'enabled_rw' contained correct value. Legacy storage was {result}, new storage was {storage_result}");
|
||||
return storage_result;
|
||||
if use_new_storage_value {
|
||||
return storage_result;
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
},
|
||||
Ok(storage_result) => {
|
||||
log!(Level::Error, "AconfigTestMission1: error: mismatch for flag 'enabled_rw'. Legacy storage was {result}, new storage was {storage_result}");
|
||||
return storage_result;
|
||||
if use_new_storage_value {
|
||||
return storage_result;
|
||||
} else {
|
||||
return result;
|
||||
}
|
||||
},
|
||||
Err(err) => {
|
||||
log!(Level::Error, "AconfigTestMission1: error: {err}")
|
||||
log!(Level::Error, "AconfigTestMission1: error: {err}");
|
||||
panic!("failed to read flag value: {err}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -76,7 +76,8 @@ namespace {cpp_namespace} \{
|
||||
: boolean_start_index_()
|
||||
{{ -endif }}
|
||||
, flag_value_file_(nullptr)
|
||||
, read_from_new_storage_(false) \{
|
||||
, read_from_new_storage_(false)
|
||||
, use_new_storage_value(false) \{
|
||||
|
||||
struct stat buffer;
|
||||
if (stat("/metadata/aconfig_test_missions/mission_1", &buffer) == 0) \{
|
||||
@@ -117,6 +118,11 @@ namespace {cpp_namespace} \{
|
||||
// cache flag value file
|
||||
flag_value_file_ = std::unique_ptr<aconfig_storage::MappedStorageFile>(
|
||||
*flag_value_file);
|
||||
|
||||
use_new_storage_value = server_configurable_flags::GetServerConfigurableFlag(
|
||||
"aconfig_flags.core_experiments_team_internal",
|
||||
"com.android.providers.settings.use_new_storage_value",
|
||||
"false") == "true";
|
||||
}
|
||||
{{ -endif }}
|
||||
{{ -endif }}
|
||||
@@ -156,7 +162,11 @@ namespace {cpp_namespace} \{
|
||||
ALOGI("success: {item.flag_name} value matches");
|
||||
}
|
||||
|
||||
return *value;
|
||||
if (use_new_storage_value) \{
|
||||
return *value;
|
||||
} else \{
|
||||
return expected_value;
|
||||
}
|
||||
}
|
||||
{{ -endif }}
|
||||
|
||||
@@ -181,6 +191,7 @@ namespace {cpp_namespace} \{
|
||||
std::unique_ptr<aconfig_storage::MappedStorageFile> flag_value_file_;
|
||||
|
||||
bool read_from_new_storage_;
|
||||
bool use_new_storage_value;
|
||||
{{ -endif }}
|
||||
{{ -endif }}
|
||||
|
||||
|
@@ -35,6 +35,11 @@ lazy_static::lazy_static! \{
|
||||
"{flag.device_config_flag}",
|
||||
"{flag.default_value}") == "true";
|
||||
|
||||
let use_new_storage_value = flags_rust::GetServerConfigurableFlag(
|
||||
"aconfig_flags.core_experiments_team_internal",
|
||||
"com.android.providers.settings.use_new_storage_value",
|
||||
"false") == "true";
|
||||
|
||||
if Path::new(STORAGE_MIGRATION_MARKER_FILE).exists() \{
|
||||
// This will be called multiple times. Subsequent calls after the first are noops.
|
||||
logger::init(
|
||||
@@ -63,14 +68,23 @@ lazy_static::lazy_static! \{
|
||||
match aconfig_storage_result \{
|
||||
Ok(storage_result) if storage_result == result => \{
|
||||
log!(Level::Info, "AconfigTestMission1: success! flag '{flag.name}' contained correct value. Legacy storage was \{result}, new storage was \{storage_result}");
|
||||
return storage_result;
|
||||
if use_new_storage_value \{
|
||||
return storage_result;
|
||||
} else \{
|
||||
return result;
|
||||
}
|
||||
},
|
||||
Ok(storage_result) => \{
|
||||
log!(Level::Error, "AconfigTestMission1: error: mismatch for flag '{flag.name}'. Legacy storage was \{result}, new storage was \{storage_result}");
|
||||
return storage_result;
|
||||
if use_new_storage_value \{
|
||||
return storage_result;
|
||||
} else \{
|
||||
return result;
|
||||
}
|
||||
},
|
||||
Err(err) => \{
|
||||
log!(Level::Error, "AconfigTestMission1: error: \{err}")
|
||||
log!(Level::Error, "AconfigTestMission1: error: \{err}");
|
||||
panic!("failed to read flag value: \{err}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user