apply staged property value when loading persistent props
Bug: b/300111812
Change-Id: I81b6bd984aad8f7ddec93ce74f4543e4f71be508
Merged-In: I81b6bd984aad8f7ddec93ce74f4543e4f71be508
diff --git a/init/persistent_properties.cpp b/init/persistent_properties.cpp
index 8db7267..8efb72c 100644
--- a/init/persistent_properties.cpp
+++ b/init/persistent_properties.cpp
@@ -46,13 +46,6 @@
constexpr const char kLegacyPersistentPropertyDir[] = "/data/property";
-void AddPersistentProperty(const std::string& name, const std::string& value,
- PersistentProperties* persistent_properties) {
- auto persistent_property_record = persistent_properties->add_properties();
- persistent_property_record->set_name(name);
- persistent_property_record->set_value(value);
-}
-
Result<PersistentProperties> LoadLegacyPersistentProperties() {
std::unique_ptr<DIR, decltype(&closedir)> dir(opendir(kLegacyPersistentPropertyDir), closedir);
if (!dir) {
@@ -161,9 +154,9 @@
return Error() << "Unable to parse persistent property file: Could not parse protobuf";
}
for (auto& prop : persistent_properties.properties()) {
- if (!StartsWith(prop.name(), "persist.")) {
+ if (!StartsWith(prop.name(), "persist.") && !StartsWith(prop.name(), "next_boot.")) {
return Error() << "Unable to load persistent property file: property '" << prop.name()
- << "' doesn't start with 'persist.'";
+ << "' doesn't start with 'persist.' or 'next_boot.'";
}
}
return persistent_properties;
@@ -171,6 +164,13 @@
} // namespace
+void AddPersistentProperty(const std::string& name, const std::string& value,
+ PersistentProperties* persistent_properties) {
+ auto persistent_property_record = persistent_properties->add_properties();
+ persistent_property_record->set_name(name);
+ persistent_property_record->set_value(value);
+}
+
Result<PersistentProperties> LoadPersistentPropertyFile() {
auto file_contents = ReadPersistentPropertyFile();
if (!file_contents.ok()) return file_contents.error();