summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-06-11 07:16:16 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-06-11 07:16:16 +0000
commitee2ad1dd4f5423f2d3704e0e00e091dc36bac1f4 (patch)
tree960e05fbed10ebbca6c308b403b0745a90549e7d
parent0b798062cc3d1006c40dd0746376a94e201bfed5 (diff)
parent0af496af01c0b7b9aa34a92ab61ba8fd829b9ea1 (diff)
downloadcore-ee2ad1dd4f5423f2d3704e0e00e091dc36bac1f4.tar.gz
release-request-276f9f52-87fd-4915-bd79-9a2f0ee77433-for-git_oc-release-4090213 snap-temp-L31600000073091223
Change-Id: If83017b48c4e832c9b67121b052ec422effaa8dd
-rw-r--r--init/property_service.cpp12
-rw-r--r--libcutils/fs_config.c3
2 files changed, 10 insertions, 5 deletions
diff --git a/init/property_service.cpp b/init/property_service.cpp
index 5884cb60c..60c1895f1 100644
--- a/init/property_service.cpp
+++ b/init/property_service.cpp
@@ -444,7 +444,7 @@ static void handle_property_set_fd() {
}
}
-static void load_properties_from_file(const char *, const char *);
+static bool load_properties_from_file(const char *, const char *);
/*
* Filter is used to decide which properties to load: NULL loads all keys,
@@ -508,16 +508,17 @@ static void load_properties(char *data, const char *filter)
// Filter is used to decide which properties to load: NULL loads all keys,
// "ro.foo.*" is a prefix match, and "ro.foo.bar" is an exact match.
-static void load_properties_from_file(const char* filename, const char* filter) {
+static bool load_properties_from_file(const char* filename, const char* filter) {
Timer t;
std::string data;
if (!read_file(filename, &data)) {
PLOG(WARNING) << "Couldn't load properties from " << filename;
- return;
+ return false;
}
data.push_back('\n');
load_properties(&data[0], filter);
LOG(VERBOSE) << "(Loading properties from " << filename << " took " << t << ".)";
+ return true;
}
static void load_persistent_properties() {
@@ -592,7 +593,10 @@ static void update_sys_usb_config() {
}
void property_load_boot_defaults() {
- load_properties_from_file("/default.prop", NULL);
+ if (!load_properties_from_file("/system/etc/prop.default", NULL)) {
+ // legacy path
+ load_properties_from_file("/default.prop", NULL);
+ }
load_properties_from_file("/odm/default.prop", NULL);
load_properties_from_file("/vendor/default.prop", NULL);
diff --git a/libcutils/fs_config.c b/libcutils/fs_config.c
index d98a923c9..5b9d17429 100644
--- a/libcutils/fs_config.c
+++ b/libcutils/fs_config.c
@@ -135,7 +135,8 @@ static const struct fs_path_config android_files[] = {
{ 00640, AID_ROOT, AID_SHELL, 0, "data/nativetest64/tests.txt" },
{ 00750, AID_ROOT, AID_SHELL, 0, "data/nativetest/*" },
{ 00750, AID_ROOT, AID_SHELL, 0, "data/nativetest64/*" },
- { 00600, AID_ROOT, AID_ROOT, 0, "default.prop" },
+ { 00600, AID_ROOT, AID_ROOT, 0, "default.prop" }, // legacy
+ { 00600, AID_ROOT, AID_ROOT, 0, "system/etc/prop.default" },
{ 00600, AID_ROOT, AID_ROOT, 0, "odm/build.prop" },
{ 00600, AID_ROOT, AID_ROOT, 0, "odm/default.prop" },
{ 00444, AID_ROOT, AID_ROOT, 0, odm_conf_dir + 1 },