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

Commit d7fb6111 authored by Adam Lesinski's avatar Adam Lesinski Committed by android-build-merger
Browse files

Merge "Revert "Newly create idmap only when it is outdated"" into oc-dev am: b57d3d22

am: 2f48fe9a

Change-Id: I3cac6098593b9fdf7db5ab6e9e8b776c9ab36d72
parents 44419fe7 2f48fe9a
Loading
Loading
Loading
Loading
+2 −23
Original line number Diff line number Diff line
@@ -2007,8 +2007,6 @@ binder::Status InstalldNativeService::idmap(const std::string& targetApkPath,

    int idmap_fd = -1;
    char idmap_path[PATH_MAX];
    struct stat target_apk_stat, overlay_apk_stat, idmap_stat;
    bool outdated = false;

    if (flatten_path(IDMAP_PREFIX, IDMAP_SUFFIX, overlay_apk,
                idmap_path, sizeof(idmap_path)) == -1) {
@@ -2016,22 +2014,8 @@ binder::Status InstalldNativeService::idmap(const std::string& targetApkPath,
        goto fail;
    }

    if (stat(idmap_path, &idmap_stat) < 0 ||
            stat(target_apk, &target_apk_stat) < 0 ||
            stat(overlay_apk, &overlay_apk_stat) < 0) {
        outdated = true;
    } else if (idmap_stat.st_mtime < target_apk_stat.st_mtime ||
            idmap_stat.st_mtime < overlay_apk_stat.st_mtime) {
        outdated = true;
    }

    if (outdated) {
    unlink(idmap_path);
    idmap_fd = open(idmap_path, O_RDWR | O_CREAT | O_EXCL, 0644);
    } else {
        idmap_fd = open(idmap_path, O_RDWR);
    }

    if (idmap_fd < 0) {
        ALOGE("idmap cannot open '%s' for output: %s\n", idmap_path, strerror(errno));
        goto fail;
@@ -2045,11 +2029,6 @@ binder::Status InstalldNativeService::idmap(const std::string& targetApkPath,
        goto fail;
    }

    if (!outdated) {
        close(idmap_fd);
        return ok();
    }

    pid_t pid;
    pid = fork();
    if (pid == 0) {