Merge "aconfigd: migrate to full rust aconfigd" into main am: 910e04d7c0
Original change: https://android-review.googlesource.com/c/platform/system/server_configurable_flags/+/3370012
Change-Id: I32d8beb9e5f9afa9c96e7f8121afa9091bf18914
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/aconfigd/Android.bp b/aconfigd/Android.bp
index 340daa4..443e1ff 100644
--- a/aconfigd/Android.bp
+++ b/aconfigd/Android.bp
@@ -181,6 +181,7 @@
"libcrypto",
"libprotobuf-cpp-lite",
"server_configurable_flags",
+ "libaconfig_flags_cc",
],
data: [
"tests/data/v1/package.map",
diff --git a/aconfigd/aconfigd.cpp b/aconfigd/aconfigd.cpp
index 9aa6259..bea7488 100644
--- a/aconfigd/aconfigd.cpp
+++ b/aconfigd/aconfigd.cpp
@@ -146,7 +146,6 @@
result_msg->set_has_server_override(snapshot->has_server_override);
result_msg->set_is_readwrite(snapshot->is_readwrite);
result_msg->set_has_local_override(snapshot->has_local_override);
- result_msg->set_container(snapshot->container);
return {};
}
@@ -214,7 +213,6 @@
flag_msg->set_is_readwrite(flag.is_readwrite);
flag_msg->set_has_server_override(flag.has_server_override);
flag_msg->set_has_local_override(flag.has_local_override);
- flag_msg->set_container(flag.container);
}
return {};
}
@@ -297,6 +295,34 @@
+ container);
}
+ // TODO remove this logic once new storage launch complete
+ // if flag enable_only_new_storage is true, writes a marker file
+ {
+ auto flags = storage_files_manager_->ListFlagsInPackage("com.android.aconfig.flags");
+ RETURN_IF_ERROR(flags, "Failed to list flags");
+ bool enable_only_new_storage = false;
+ for (const auto& flag : *flags) {
+ if (flag.flag_name == "enable_only_new_storage") {
+ enable_only_new_storage = (flag.boot_flag_value == "true");
+ break;
+ }
+ }
+ auto marker_file = std::string("/metadata/aconfig/boot/enable_only_new_storage");
+ if (enable_only_new_storage) {
+ if (!FileExists(marker_file)) {
+ int fd = open(marker_file.c_str(), O_CREAT, 0644);
+ if (fd == -1) {
+ return ErrnoError() << "failed to create marker file";
+ }
+ close(fd);
+ }
+ } else {
+ if (FileExists(marker_file)) {
+ unlink(marker_file.c_str());
+ }
+ }
+ }
+
return {};
}
diff --git a/aconfigd/storage_files.cpp b/aconfigd/storage_files.cpp
index 4ec9060..2596aed 100644
--- a/aconfigd/storage_files.cpp
+++ b/aconfigd/storage_files.cpp
@@ -1007,7 +1007,6 @@
snapshots[idx].is_readwrite = flag.is_readwrite;
snapshots[idx].has_server_override = flag.has_server_override;
snapshots[idx].has_local_override = flag.has_local_override;
- snapshots[idx].container = storage_record_.container;
}
// fill local value
diff --git a/aconfigd/storage_files.h b/aconfigd/storage_files.h
index 7f6f440..5d57c49 100644
--- a/aconfigd/storage_files.h
+++ b/aconfigd/storage_files.h
@@ -177,7 +177,6 @@
std::string local_flag_value;
std::string boot_flag_value;
std::string default_flag_value;
- std::string container;
bool is_readwrite;
bool has_server_override;
bool has_local_override;
diff --git a/libflags/Android.bp b/libflags/Android.bp
index 9908fd8..1cdb7f2 100644
--- a/libflags/Android.bp
+++ b/libflags/Android.bp
@@ -24,6 +24,11 @@
],
min_sdk_version: "29",
afdo: true,
+ target: {
+ windows: {
+ enabled: true,
+ },
+ },
}
// Tests