Loading init/property_service.cpp +11 −23 Original line number Diff line number Diff line Loading @@ -443,7 +443,7 @@ static void handle_property_set_fd() { } } static bool load_properties_from_file(const char *, const char *); static void load_properties_from_file(const char *, const char *); /* * Filter is used to decide which properties to load: NULL loads all keys, Loading Loading @@ -507,18 +507,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 bool load_properties_from_file(const char* filename, const char* filter) { static void load_properties_from_file(const char* filename, const char* filter) { Timer t; std::string data; std::string err; if (!ReadFile(filename, &data, &err)) { PLOG(WARNING) << "Couldn't load property file: " << filename << ": " << err; return false; PLOG(WARNING) << "Couldn't load property file: " << err; return; } data.push_back('\n'); load_properties(&data[0], filter); LOG(VERBOSE) << "(Loading properties from " << filename << " took " << t << ".)"; return true; } static void load_persistent_properties() { Loading Loading @@ -593,21 +592,16 @@ static void update_sys_usb_config() { } void property_load_boot_defaults() { if (!load_properties_from_file("/system/etc/prop.default", nullptr)) { // for legacy devices if (!load_properties_from_file("/default.prop", nullptr)) { PLOG(ERROR) << "Failed to load default prop"; } } load_properties_from_file("/odm/etc/prop.default", nullptr); load_properties_from_file("/vendor/etc/prop.default", nullptr); load_properties_from_file("/default.prop", NULL); load_properties_from_file("/odm/default.prop", NULL); load_properties_from_file("/vendor/default.prop", NULL); update_sys_usb_config(); } static void load_override_properties() { if (ALLOW_LOCAL_PROP_OVERRIDE) { load_properties_from_file("/data/local.prop", nullptr); load_properties_from_file("/data/local.prop", NULL); } } Loading Loading @@ -655,15 +649,9 @@ void load_recovery_id_prop() { } void load_system_props() { if (!load_properties_from_file("/system/etc/prop.build", nullptr)) { // for legacy devices load_properties_from_file("/system/build.prop", nullptr); } load_properties_from_file("/odm/etc/prop.build", nullptr); if (!load_properties_from_file("/vendor/etc/prop.build", nullptr)) { // for legacy devices load_properties_from_file("/vendor/build.prop", nullptr); } load_properties_from_file("/system/build.prop", NULL); load_properties_from_file("/odm/build.prop", NULL); load_properties_from_file("/vendor/build.prop", NULL); load_properties_from_file("/factory/factory.prop", "ro.*"); load_recovery_id_prop(); } Loading libcutils/fs_config.cpp +6 −9 Original line number Diff line number Diff line Loading @@ -134,10 +134,9 @@ 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" }, // legacy { 00600, AID_ROOT, AID_ROOT, 0, "system/etc/prop.default" }, { 00600, AID_ROOT, AID_ROOT, 0, "odm/etc/prop.build" }, { 00600, AID_ROOT, AID_ROOT, 0, "odm/etc/prop.default" }, { 00600, AID_ROOT, AID_ROOT, 0, "default.prop" }, { 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 }, { 00444, AID_ROOT, AID_ROOT, 0, odm_conf_file + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, oem_conf_dir + 1 }, Loading @@ -149,8 +148,7 @@ static const struct fs_path_config android_files[] = { { 00750, AID_ROOT, AID_ROOT, 0, "system/bin/install-recovery.sh" }, { 00700, AID_ROOT, AID_ROOT, 0, "system/bin/secilc" }, { 00750, AID_ROOT, AID_ROOT, 0, "system/bin/uncrypt" }, { 00600, AID_ROOT, AID_ROOT, 0, "system/build.prop" }, // legacy { 00600, AID_ROOT, AID_ROOT, 0, "system/etc/prop.build" }, { 00600, AID_ROOT, AID_ROOT, 0, "system/build.prop" }, { 00444, AID_ROOT, AID_ROOT, 0, sys_conf_dir + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, sys_conf_file + 1 }, { 00440, AID_ROOT, AID_SHELL, 0, "system/etc/init.goldfish.rc" }, Loading @@ -159,9 +157,8 @@ static const struct fs_path_config android_files[] = { { 00555, AID_ROOT, AID_ROOT, 0, "system/etc/ppp/*" }, { 00555, AID_ROOT, AID_ROOT, 0, "system/etc/rc.*" }, { 00440, AID_ROOT, AID_ROOT, 0, "system/etc/recovery.img" }, { 00600, AID_ROOT, AID_ROOT, 0, "vendor/build.prop" }, // legacy { 00600, AID_ROOT, AID_ROOT, 0, "vendor/etc/prop.build" }, { 00600, AID_ROOT, AID_ROOT, 0, "vendor/etc/prop.default" }, { 00600, AID_ROOT, AID_ROOT, 0, "vendor/build.prop" }, { 00600, AID_ROOT, AID_ROOT, 0, "vendor/default.prop" }, { 00444, AID_ROOT, AID_ROOT, 0, ven_conf_dir + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, ven_conf_file + 1 }, Loading Loading
init/property_service.cpp +11 −23 Original line number Diff line number Diff line Loading @@ -443,7 +443,7 @@ static void handle_property_set_fd() { } } static bool load_properties_from_file(const char *, const char *); static void load_properties_from_file(const char *, const char *); /* * Filter is used to decide which properties to load: NULL loads all keys, Loading Loading @@ -507,18 +507,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 bool load_properties_from_file(const char* filename, const char* filter) { static void load_properties_from_file(const char* filename, const char* filter) { Timer t; std::string data; std::string err; if (!ReadFile(filename, &data, &err)) { PLOG(WARNING) << "Couldn't load property file: " << filename << ": " << err; return false; PLOG(WARNING) << "Couldn't load property file: " << err; return; } data.push_back('\n'); load_properties(&data[0], filter); LOG(VERBOSE) << "(Loading properties from " << filename << " took " << t << ".)"; return true; } static void load_persistent_properties() { Loading Loading @@ -593,21 +592,16 @@ static void update_sys_usb_config() { } void property_load_boot_defaults() { if (!load_properties_from_file("/system/etc/prop.default", nullptr)) { // for legacy devices if (!load_properties_from_file("/default.prop", nullptr)) { PLOG(ERROR) << "Failed to load default prop"; } } load_properties_from_file("/odm/etc/prop.default", nullptr); load_properties_from_file("/vendor/etc/prop.default", nullptr); load_properties_from_file("/default.prop", NULL); load_properties_from_file("/odm/default.prop", NULL); load_properties_from_file("/vendor/default.prop", NULL); update_sys_usb_config(); } static void load_override_properties() { if (ALLOW_LOCAL_PROP_OVERRIDE) { load_properties_from_file("/data/local.prop", nullptr); load_properties_from_file("/data/local.prop", NULL); } } Loading Loading @@ -655,15 +649,9 @@ void load_recovery_id_prop() { } void load_system_props() { if (!load_properties_from_file("/system/etc/prop.build", nullptr)) { // for legacy devices load_properties_from_file("/system/build.prop", nullptr); } load_properties_from_file("/odm/etc/prop.build", nullptr); if (!load_properties_from_file("/vendor/etc/prop.build", nullptr)) { // for legacy devices load_properties_from_file("/vendor/build.prop", nullptr); } load_properties_from_file("/system/build.prop", NULL); load_properties_from_file("/odm/build.prop", NULL); load_properties_from_file("/vendor/build.prop", NULL); load_properties_from_file("/factory/factory.prop", "ro.*"); load_recovery_id_prop(); } Loading
libcutils/fs_config.cpp +6 −9 Original line number Diff line number Diff line Loading @@ -134,10 +134,9 @@ 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" }, // legacy { 00600, AID_ROOT, AID_ROOT, 0, "system/etc/prop.default" }, { 00600, AID_ROOT, AID_ROOT, 0, "odm/etc/prop.build" }, { 00600, AID_ROOT, AID_ROOT, 0, "odm/etc/prop.default" }, { 00600, AID_ROOT, AID_ROOT, 0, "default.prop" }, { 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 }, { 00444, AID_ROOT, AID_ROOT, 0, odm_conf_file + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, oem_conf_dir + 1 }, Loading @@ -149,8 +148,7 @@ static const struct fs_path_config android_files[] = { { 00750, AID_ROOT, AID_ROOT, 0, "system/bin/install-recovery.sh" }, { 00700, AID_ROOT, AID_ROOT, 0, "system/bin/secilc" }, { 00750, AID_ROOT, AID_ROOT, 0, "system/bin/uncrypt" }, { 00600, AID_ROOT, AID_ROOT, 0, "system/build.prop" }, // legacy { 00600, AID_ROOT, AID_ROOT, 0, "system/etc/prop.build" }, { 00600, AID_ROOT, AID_ROOT, 0, "system/build.prop" }, { 00444, AID_ROOT, AID_ROOT, 0, sys_conf_dir + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, sys_conf_file + 1 }, { 00440, AID_ROOT, AID_SHELL, 0, "system/etc/init.goldfish.rc" }, Loading @@ -159,9 +157,8 @@ static const struct fs_path_config android_files[] = { { 00555, AID_ROOT, AID_ROOT, 0, "system/etc/ppp/*" }, { 00555, AID_ROOT, AID_ROOT, 0, "system/etc/rc.*" }, { 00440, AID_ROOT, AID_ROOT, 0, "system/etc/recovery.img" }, { 00600, AID_ROOT, AID_ROOT, 0, "vendor/build.prop" }, // legacy { 00600, AID_ROOT, AID_ROOT, 0, "vendor/etc/prop.build" }, { 00600, AID_ROOT, AID_ROOT, 0, "vendor/etc/prop.default" }, { 00600, AID_ROOT, AID_ROOT, 0, "vendor/build.prop" }, { 00600, AID_ROOT, AID_ROOT, 0, "vendor/default.prop" }, { 00444, AID_ROOT, AID_ROOT, 0, ven_conf_dir + 1 }, { 00444, AID_ROOT, AID_ROOT, 0, ven_conf_file + 1 }, Loading