check for __BIONIC__ before using libcutils
am: e6c4499d0e
Change-Id: I5e104120f63229411e78c9c37fdc54bbeee69993
diff --git a/disaster_recovery/Android.bp b/disaster_recovery/Android.bp
index 8522fa7..06d8a40 100644
--- a/disaster_recovery/Android.bp
+++ b/disaster_recovery/Android.bp
@@ -3,6 +3,7 @@
// ========================================================
cc_binary {
name: "flags_health_check",
+ host_supported: true,
srcs: ["disaster_recovery.cc"],
shared_libs: [
"libbase",
diff --git a/libflags/Android.bp b/libflags/Android.bp
index cf06f77..70ebcb3 100644
--- a/libflags/Android.bp
+++ b/libflags/Android.bp
@@ -1,6 +1,7 @@
cc_library {
name: "server_configurable_flags",
srcs: ["server_configurable_flags.cc"],
+ host_supported: true,
shared_libs: [
"libbase",
"libcutils",
diff --git a/libflags/server_configurable_flags.cc b/libflags/server_configurable_flags.cc
index 7540f18..c422621 100644
--- a/libflags/server_configurable_flags.cc
+++ b/libflags/server_configurable_flags.cc
@@ -17,7 +17,9 @@
#include "server_configurable_flags/disaster_recovery.h"
#include "server_configurable_flags/get_flags.h"
+#if defined(__BIONIC__)
#include <cutils/properties.h>
+#endif // __BIONIC__
#include <regex>
#include <string>
@@ -51,6 +53,7 @@
segment.find(".") != segment.size() - 1;
}
+#if defined(__BIONIC__)
static void ResetFlag(const char* key, const char* value, void* cookie) {
if (strcmp(ATTEMPTED_BOOT_COUNT_PROPERTY, key) &&
android::base::StartsWith(key, SYSTEM_PROPERTY_PREFIX) && strlen(value) > 0) {
@@ -63,8 +66,10 @@
android::base::SetProperty(RESET_PERFORMED_PROPERTY, "true");
}
}
+#endif // __BIONIC__
void ServerConfigurableFlagsReset() {
+#if defined(__BIONIC__)
int fail_count = android::base::GetIntProperty(ATTEMPTED_BOOT_COUNT_PROPERTY, 0);
if (fail_count < ATTEMPTED_BOOT_COUNT_THRESHOLD) {
LOG(INFO) << __FUNCTION__ << " attempted boot count is under threshold, skipping reset.";
@@ -76,6 +81,7 @@
LOG(INFO) << __FUNCTION__ << " attempted boot count reaches threshold, resetting flags.";
std::string reset_flags;
property_list(ResetFlag, &reset_flags);
+
if (reset_flags.length() > 0) {
android::base::unique_fd fd(
TEMP_FAILURE_RETRY(open(RESET_FLAGS_FILE_PATH, O_RDWR | O_CREAT | O_TRUNC, 0666)));
@@ -88,6 +94,9 @@
}
}
}
+#else
+ LOG(ERROR) << __FUNCTION__ << " ServerConfigurableFlagsReset is not available for this build.";
+#endif // __BIONIC__
}
std::string GetServerConfigurableFlags(const std::string& experiment_category_name,
diff --git a/libflags/server_configurable_flags_test.cc b/libflags/server_configurable_flags_test.cc
index 23c06f7..c3509cd 100644
--- a/libflags/server_configurable_flags_test.cc
+++ b/libflags/server_configurable_flags_test.cc
@@ -81,6 +81,7 @@
}
TEST(server_configurable_flags, flags_reset_performed_over_threshold) {
+#if defined(__BIONIC__)
android::base::SetProperty("persist.device_config.attempted_boot_count", "5");
android::base::SetProperty("persist.device_config.category1.prop1", "val1");
android::base::SetProperty("persist.device_config.category1.prop2", "val2");
@@ -106,4 +107,7 @@
ASSERT_EQ(true, contains(properties, prop1));
ASSERT_EQ(true, contains(properties, prop2));
ASSERT_EQ(true, contains(properties, prop3));
-}
\ No newline at end of file
+#else // __BIONIC__
+ GTEST_LOG_(INFO) << "This test does nothing.\n";
+#endif // __BIONIC__
+}