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

Commit 359ce109 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Offer to "fixup" GIDs used for app data." into oc-dev

parents 2b285566 1566233b
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ public class Installer extends SystemService {
    public static final int FLAG_FREE_CACHE_V2 = 1 << 13;
    public static final int FLAG_FREE_CACHE_V2_DEFY_QUOTA = 1 << 14;
    public static final int FLAG_FREE_CACHE_NOOP = 1 << 15;
    public static final int FLAG_FORCE = 1 << 16;

    private final boolean mIsolated;

@@ -202,6 +203,15 @@ public class Installer extends SystemService {
        }
    }

    public void fixupAppData(String uuid, int flags) throws InstallerException {
        if (!checkBeforeRemote()) return;
        try {
            mInstalld.fixupAppData(uuid, flags);
        } catch (Exception e) {
            throw InstallerException.from(e);
        }
    }

    public void moveCompleteApp(String fromUuid, String toUuid, String packageName,
            String dataAppName, int appId, String seInfo, int targetSdkVersion)
            throws InstallerException {
+9 −0
Original line number Diff line number Diff line
@@ -2717,6 +2717,15 @@ public class PackageManagerService extends IPackageManager.Stub {
                    UserHandle.USER_SYSTEM, storageFlags, true /* migrateAppData */,
                    true /* onlyCoreApps */);
            mPrepareAppDataFuture = SystemServerInitThreadPool.get().submit(() -> {
                Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "fixup");
                try {
                    mInstaller.fixupAppData(StorageManager.UUID_PRIVATE_INTERNAL,
                            StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE);
                } catch (InstallerException e) {
                    Slog.w(TAG, "Trouble fixing GIDs", e);
                }
                Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
                if (deferPackages == null || deferPackages.isEmpty()) {
                    return;
                }