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

Commit 6c7715de authored by Todd Kennedy's avatar Todd Kennedy Committed by Automerger Merge Worker
Browse files

Merge "Cherry pick: Add batched createAppData API to installd." into rvc-dev...

Merge "Cherry pick: Add batched createAppData API to installd." into rvc-dev am: 7fb1b5a4 am: 8c309abf am: 9b922e2f

Change-Id: I24a96aae1d0c8d6534b08c9b54ba000d9488e14b
parents 91560426 9b922e2f
Loading
Loading
Loading
Loading
+26 −0
Original line number Original line Diff line number Diff line
@@ -420,6 +420,32 @@ static bool prepare_app_profile_dir(const std::string& packageName, int32_t appI
    return true;
    return true;
}
}


binder::Status InstalldNativeService::createAppDataBatched(
        const std::unique_ptr<std::vector<std::unique_ptr<std::string>>>& uuids,
        const std::unique_ptr<std::vector<std::unique_ptr<std::string>>>& packageNames,
        int32_t userId, int32_t flags, const std::vector<int32_t>& appIds,
        const std::vector<std::string>& seInfos, const std::vector<int32_t>& targetSdkVersions,
        int64_t* _aidl_return) {
    ENFORCE_UID(AID_SYSTEM);
    std::lock_guard<std::recursive_mutex> lock(mLock);

    ATRACE_BEGIN("createAppDataBatched");
    binder::Status ret;
    for (size_t i = 0; i < uuids->size(); i++) {
        if (!packageNames->at(i)) {
            continue;
        }
        ret = createAppData(uuids->at(i), *packageNames->at(i), userId, flags, appIds[i],
                seInfos[i], targetSdkVersions[i], _aidl_return);
        if (!ret.isOk()) {
            ATRACE_END();
            return ret;
        }
    }
    ATRACE_END();
    return ok();
}

binder::Status InstalldNativeService::createAppData(const std::unique_ptr<std::string>& uuid,
binder::Status InstalldNativeService::createAppData(const std::unique_ptr<std::string>& uuid,
        const std::string& packageName, int32_t userId, int32_t flags, int32_t appId,
        const std::string& packageName, int32_t userId, int32_t flags, int32_t appId,
        const std::string& seInfo, int32_t targetSdkVersion, int64_t* _aidl_return) {
        const std::string& seInfo, int32_t targetSdkVersion, int64_t* _aidl_return) {
+6 −1
Original line number Original line Diff line number Diff line
@@ -44,7 +44,12 @@ public:
            int32_t userSerial, int32_t flags);
            int32_t userSerial, int32_t flags);
    binder::Status destroyUserData(const std::unique_ptr<std::string>& uuid, int32_t userId,
    binder::Status destroyUserData(const std::unique_ptr<std::string>& uuid, int32_t userId,
            int32_t flags);
            int32_t flags);

    binder::Status createAppDataBatched(
            const std::unique_ptr<std::vector<std::unique_ptr<std::string>>>& uuids,
            const std::unique_ptr<std::vector<std::unique_ptr<std::string>>>& packageNames,
            int32_t userId, int32_t flags, const std::vector<int32_t>& appIds,
            const std::vector<std::string>& seInfos, const std::vector<int32_t>& targetSdkVersions,
            int64_t* _aidl_return);
    binder::Status createAppData(const std::unique_ptr<std::string>& uuid,
    binder::Status createAppData(const std::unique_ptr<std::string>& uuid,
            const std::string& packageName, int32_t userId, int32_t flags, int32_t appId,
            const std::string& packageName, int32_t userId, int32_t flags, int32_t appId,
            const std::string& seInfo, int32_t targetSdkVersion, int64_t* _aidl_return);
            const std::string& seInfo, int32_t targetSdkVersion, int64_t* _aidl_return);
+3 −0
Original line number Original line Diff line number Diff line
@@ -23,6 +23,9 @@ interface IInstalld {


    long createAppData(@nullable @utf8InCpp String uuid, in @utf8InCpp String packageName,
    long createAppData(@nullable @utf8InCpp String uuid, in @utf8InCpp String packageName,
            int userId, int flags, int appId, in @utf8InCpp String seInfo, int targetSdkVersion);
            int userId, int flags, int appId, in @utf8InCpp String seInfo, int targetSdkVersion);
    long createAppDataBatched(in @nullable @utf8InCpp String[] uuids,
        in @nullable @utf8InCpp String[] packageNames, in int userId, int flags, in int[] appIds,
        in @utf8InCpp String[] seInfos, in int[] targetSdkVersions);
    void restoreconAppData(@nullable @utf8InCpp String uuid, @utf8InCpp String packageName,
    void restoreconAppData(@nullable @utf8InCpp String uuid, @utf8InCpp String packageName,
            int userId, int flags, int appId, @utf8InCpp String seInfo);
            int userId, int flags, int appId, @utf8InCpp String seInfo);
    void migrateAppData(@nullable @utf8InCpp String uuid, @utf8InCpp String packageName,
    void migrateAppData(@nullable @utf8InCpp String uuid, @utf8InCpp String packageName,