diff --git a/tools/aconfig/aconfig_storage_file/protos/aconfig_storage_metadata.proto b/tools/aconfig/aconfig_storage_file/protos/aconfig_storage_metadata.proto index 7de43ca918..f6bf1a43c4 100644 --- a/tools/aconfig/aconfig_storage_file/protos/aconfig_storage_metadata.proto +++ b/tools/aconfig/aconfig_storage_file/protos/aconfig_storage_metadata.proto @@ -28,7 +28,8 @@ message storage_file_info { optional string flag_val = 5; optional string flag_info = 6; optional string local_overrides = 7; - optional int64 timestamp = 8; + optional string default_flag_val = 8; + optional int64 timestamp = 9; } message storage_files { diff --git a/tools/aconfig/aconfig_storage_read_api/include/aconfig_storage/aconfig_storage_read_api.hpp b/tools/aconfig/aconfig_storage_read_api/include/aconfig_storage/aconfig_storage_read_api.hpp index b8ee06a590..e6d75373a9 100644 --- a/tools/aconfig/aconfig_storage_read_api/include/aconfig_storage/aconfig_storage_read_api.hpp +++ b/tools/aconfig/aconfig_storage_read_api/include/aconfig_storage/aconfig_storage_read_api.hpp @@ -41,7 +41,7 @@ enum FlagInfoBit { struct MappedStorageFile { void* file_ptr; size_t file_size; - ~MappedStorageFile(); + virtual ~MappedStorageFile(); }; /// Package read context query result diff --git a/tools/aconfig/aconfig_storage_write_api/aconfig_storage_write_api.cpp b/tools/aconfig/aconfig_storage_write_api/aconfig_storage_write_api.cpp index 197486d246..f529f7954c 100644 --- a/tools/aconfig/aconfig_storage_write_api/aconfig_storage_write_api.cpp +++ b/tools/aconfig/aconfig_storage_write_api/aconfig_storage_write_api.cpp @@ -17,11 +17,6 @@ using namespace android::base; namespace aconfig_storage { -/// destructor -MutableMappedStorageFile::~MutableMappedStorageFile() { - munmap(file_ptr, file_size); -} - /// Map a storage file Result map_mutable_storage_file(std::string const& file) { struct stat file_stat; diff --git a/tools/aconfig/aconfig_storage_write_api/include/aconfig_storage/aconfig_storage_write_api.hpp b/tools/aconfig/aconfig_storage_write_api/include/aconfig_storage/aconfig_storage_write_api.hpp index 1eca1e0cda..ff06cbc6de 100644 --- a/tools/aconfig/aconfig_storage_write_api/include/aconfig_storage/aconfig_storage_write_api.hpp +++ b/tools/aconfig/aconfig_storage_write_api/include/aconfig_storage/aconfig_storage_write_api.hpp @@ -11,11 +11,7 @@ using namespace android::base; namespace aconfig_storage { /// Mapped flag value file -struct MutableMappedStorageFile{ - void* file_ptr; - size_t file_size; - ~MutableMappedStorageFile(); -}; +struct MutableMappedStorageFile : MappedStorageFile {}; /// Map a storage file Result map_mutable_storage_file( diff --git a/tools/aconfig/aconfig_storage_write_api/tests/storage_write_api_test.cpp b/tools/aconfig/aconfig_storage_write_api/tests/storage_write_api_test.cpp index aeede49306..54373798c9 100644 --- a/tools/aconfig/aconfig_storage_write_api/tests/storage_write_api_test.cpp +++ b/tools/aconfig/aconfig_storage_write_api/tests/storage_write_api_test.cpp @@ -80,13 +80,10 @@ TEST_F(AconfigStorageTest, test_boolean_flag_value_update) { ASSERT_TRUE(mapped_file_result.ok()); auto mapped_file = std::unique_ptr(*mapped_file_result); - auto ro_mapped_file = api::MappedStorageFile(); - ro_mapped_file.file_ptr = mapped_file->file_ptr; - ro_mapped_file.file_size = mapped_file->file_size; for (int offset = 0; offset < 8; ++offset) { auto update_result = api::set_boolean_flag_value(*mapped_file, offset, true); ASSERT_TRUE(update_result.ok()); - auto value = api::get_boolean_flag_value(ro_mapped_file, offset); + auto value = api::get_boolean_flag_value(*mapped_file, offset); ASSERT_TRUE(value.ok()); ASSERT_TRUE(*value); } @@ -97,7 +94,6 @@ TEST_F(AconfigStorageTest, test_invalid_boolean_flag_value_update) { auto mapped_file_result = api::map_mutable_storage_file(flag_val); ASSERT_TRUE(mapped_file_result.ok()); auto mapped_file = std::unique_ptr(*mapped_file_result); - auto update_result = api::set_boolean_flag_value(*mapped_file, 8, true); ASSERT_FALSE(update_result.ok()); ASSERT_EQ(update_result.error().message(), @@ -110,16 +106,12 @@ TEST_F(AconfigStorageTest, test_flag_has_server_override_update) { ASSERT_TRUE(mapped_file_result.ok()); auto mapped_file = std::unique_ptr(*mapped_file_result); - auto ro_mapped_file = api::MappedStorageFile(); - ro_mapped_file.file_ptr = mapped_file->file_ptr; - ro_mapped_file.file_size = mapped_file->file_size; - for (int offset = 0; offset < 8; ++offset) { auto update_result = api::set_flag_has_server_override( *mapped_file, api::FlagValueType::Boolean, offset, true); ASSERT_TRUE(update_result.ok()) << update_result.error(); auto attribute = api::get_flag_attribute( - ro_mapped_file, api::FlagValueType::Boolean, offset); + *mapped_file, api::FlagValueType::Boolean, offset); ASSERT_TRUE(attribute.ok()); ASSERT_TRUE(*attribute & api::FlagInfoBit::HasServerOverride); @@ -127,7 +119,7 @@ TEST_F(AconfigStorageTest, test_flag_has_server_override_update) { *mapped_file, api::FlagValueType::Boolean, offset, false); ASSERT_TRUE(update_result.ok()); attribute = api::get_flag_attribute( - ro_mapped_file, api::FlagValueType::Boolean, offset); + *mapped_file, api::FlagValueType::Boolean, offset); ASSERT_TRUE(attribute.ok()); ASSERT_FALSE(*attribute & api::FlagInfoBit::HasServerOverride); } @@ -139,16 +131,12 @@ TEST_F(AconfigStorageTest, test_flag_has_local_override_update) { ASSERT_TRUE(mapped_file_result.ok()); auto mapped_file = std::unique_ptr(*mapped_file_result); - auto ro_mapped_file = api::MappedStorageFile(); - ro_mapped_file.file_ptr = mapped_file->file_ptr; - ro_mapped_file.file_size = mapped_file->file_size; - for (int offset = 0; offset < 8; ++offset) { auto update_result = api::set_flag_has_local_override( *mapped_file, api::FlagValueType::Boolean, offset, true); ASSERT_TRUE(update_result.ok()); auto attribute = api::get_flag_attribute( - ro_mapped_file, api::FlagValueType::Boolean, offset); + *mapped_file, api::FlagValueType::Boolean, offset); ASSERT_TRUE(attribute.ok()); ASSERT_TRUE(*attribute & api::FlagInfoBit::HasLocalOverride); @@ -156,7 +144,7 @@ TEST_F(AconfigStorageTest, test_flag_has_local_override_update) { *mapped_file, api::FlagValueType::Boolean, offset, false); ASSERT_TRUE(update_result.ok()); attribute = api::get_flag_attribute( - ro_mapped_file, api::FlagValueType::Boolean, offset); + *mapped_file, api::FlagValueType::Boolean, offset); ASSERT_TRUE(attribute.ok()); ASSERT_FALSE(*attribute & api::FlagInfoBit::HasLocalOverride); }