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

Commit efe190e0 authored by Paul Lawrence's avatar Paul Lawrence
Browse files

Only run vold command when file encryption enabled

Avod slowing other boot times

Change-Id: I4862312ea90d8a1e67d9a755a75f708f5e82cbc5
parent 4bf1887c
Loading
Loading
Loading
Loading
+13 −4
Original line number Original line Diff line number Diff line
@@ -440,6 +440,7 @@ int do_mount_all(int nargs, char **args)
        property_set("vold.decrypt", "trigger_encryption");
        property_set("vold.decrypt", "trigger_encryption");
    } else if (ret == FS_MGR_MNTALL_DEV_MIGHT_BE_ENCRYPTED) {
    } else if (ret == FS_MGR_MNTALL_DEV_MIGHT_BE_ENCRYPTED) {
        property_set("ro.crypto.state", "encrypted");
        property_set("ro.crypto.state", "encrypted");
        property_set("ro.crypto.type", "block");
        property_set("vold.decrypt", "trigger_default_encryption");
        property_set("vold.decrypt", "trigger_default_encryption");
    } else if (ret == FS_MGR_MNTALL_DEV_NOT_ENCRYPTED) {
    } else if (ret == FS_MGR_MNTALL_DEV_NOT_ENCRYPTED) {
        property_set("ro.crypto.state", "unencrypted");
        property_set("ro.crypto.state", "unencrypted");
@@ -457,6 +458,7 @@ int do_mount_all(int nargs, char **args)
            return -1;
            return -1;
        }
        }
        property_set("ro.crypto.state", "encrypted");
        property_set("ro.crypto.state", "encrypted");
        property_set("ro.crypto.type", "file");


        // Although encrypted, we have device key, so we do not need to
        // Although encrypted, we have device key, so we do not need to
        // do anything different from the nonencrypted case.
        // do anything different from the nonencrypted case.
@@ -466,6 +468,7 @@ int do_mount_all(int nargs, char **args)
            return -1;
            return -1;
        }
        }
        property_set("ro.crypto.state", "encrypted");
        property_set("ro.crypto.state", "encrypted");
        property_set("ro.crypto.type", "file");
        property_set("vold.decrypt", "trigger_restart_min_framework");
        property_set("vold.decrypt", "trigger_restart_min_framework");
    } else if (ret > 0) {
    } else if (ret > 0) {
        ERROR("fs_mgr_mount_all returned unexpected error %d\n", ret);
        ERROR("fs_mgr_mount_all returned unexpected error %d\n", ret);
@@ -835,10 +838,16 @@ static int do_installkeys_ensure_dir_exists(const char* dir)


int do_installkey(int nargs, char **args)
int do_installkey(int nargs, char **args)
{
{
    if (nargs == 2) {
    if (nargs != 2) {
      return e4crypt_create_device_key(args[1],
        return -1;
                                       do_installkeys_ensure_dir_exists);
    }
    }


    return -1;
    char prop_value[PROP_VALUE_MAX] = {0};
    property_get("ro.crypto.type", prop_value);
    if (strcmp(prop_value, "file")) {
        return 0;
    }

    return e4crypt_create_device_key(args[1],
                                     do_installkeys_ensure_dir_exists);
}
}