Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b35f68a6 authored by Dima Zavin's avatar Dima Zavin Committed by Gerrit Code Review
Browse files

Merge "init: load factory properties"

parents a7f6e015 3899f522
Loading
Loading
Loading
Loading
+14 −7
Original line number Diff line number Diff line
@@ -403,10 +403,13 @@ void get_property_workspace(int *fd, int *sz)
    *sz = pa_workspace.size;
}

static void load_properties(char *data)
static void load_properties(char *data, char *prefix)
{
    char *key, *value, *eol, *sol, *tmp;
    size_t plen;

    if (prefix)
        plen = strlen(prefix);
    sol = data;
    while((eol = strchr(sol, '\n'))) {
        key = sol;
@@ -422,6 +425,9 @@ static void load_properties(char *data)
        tmp = value - 2;
        while((tmp > key) && isspace(*tmp)) *tmp-- = 0;

        if (prefix && strncmp(key, prefix, plen))
            continue;

        while(isspace(*value)) value++;
        tmp = eol - 2;
        while((tmp > value) && isspace(*tmp)) *tmp-- = 0;
@@ -430,7 +436,7 @@ static void load_properties(char *data)
    }
}

static void load_properties_from_file(const char *fn)
static void load_properties_from_file(const char *fn, char *prefix)
{
    char *data;
    unsigned sz;
@@ -438,7 +444,7 @@ static void load_properties_from_file(const char *fn)
    data = read_file(fn, &sz);

    if(data != 0) {
        load_properties(data);
        load_properties(data, prefix);
        free(data);
    }
}
@@ -511,7 +517,7 @@ void property_init(void)

void property_load_boot_defaults(void)
{
    load_properties_from_file(PROP_PATH_RAMDISK_DEFAULT);
    load_properties_from_file(PROP_PATH_RAMDISK_DEFAULT, NULL);
}

int properties_inited(void)
@@ -526,7 +532,7 @@ static void load_override_properties() {

    ret = property_get("ro.debuggable", debuggable);
    if (ret && (strcmp(debuggable, "1") == 0)) {
        load_properties_from_file(PROP_PATH_LOCAL_OVERRIDE);
        load_properties_from_file(PROP_PATH_LOCAL_OVERRIDE, NULL);
    }
#endif /* ALLOW_LOCAL_PROP_OVERRIDE */
}
@@ -548,8 +554,9 @@ void start_property_service(void)
{
    int fd;

    load_properties_from_file(PROP_PATH_SYSTEM_BUILD);
    load_properties_from_file(PROP_PATH_SYSTEM_DEFAULT);
    load_properties_from_file(PROP_PATH_SYSTEM_BUILD, NULL);
    load_properties_from_file(PROP_PATH_SYSTEM_DEFAULT, NULL);
    load_properties_from_file(PROP_PATH_FACTORY, "ro.");
    load_override_properties();
    /* Read persistent properties after all default values have been loaded. */
    load_persistent_properties();