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

Commit eb5f7cd9 authored by Alex Buynytskyy's avatar Alex Buynytskyy
Browse files

Sending the whole files list to DataLoader.

Test: atest PackageManagerShellCommandTest
Bug: b/136132412 b/133435829 b/148243920
Change-Id: I2d19be309c6a0366b225da2d26b0f4e15e6a60e2
parent b13ce8b6
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -374,7 +374,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {

    private static final String[] EMPTY_STRING_ARRAY = new String[]{};

    private static final FileFilter sAddedFilter = new FileFilter() {
    private static final FileFilter sAddedApkFilter = new FileFilter() {
        @Override
        public boolean accept(File file) {
            // Installers can't stage directories, so it's fine to ignore
@@ -386,6 +386,16 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
            return true;
        }
    };
    private static final FileFilter sAddedFilter = new FileFilter() {
        @Override
        public boolean accept(File file) {
            // Installers can't stage directories, so it's fine to ignore
            // entries like "lost+found".
            if (file.isDirectory()) return false;
            if (file.getName().endsWith(REMOVE_MARKER_EXTENSION)) return false;
            return true;
        }
    };
    private static final FileFilter sRemovedFilter = new FileFilter() {
        @Override
        public boolean accept(File file) {
@@ -730,9 +740,9 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
    }

    @GuardedBy("mLock")
    private File[] getAddedFilesLocked() {
    private File[] getAddedApksLocked() {
        String[] names = getNamesLocked();
        return filterFiles(stageDir, names, sAddedFilter);
        return filterFiles(stageDir, names, sAddedApkFilter);
    }

    @GuardedBy("mLock")
@@ -1709,7 +1719,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
    @GuardedBy("mLock")
    private void validateApexInstallLocked()
            throws PackageManagerException {
        final File[] addedFiles = getAddedFilesLocked();
        final File[] addedFiles = getAddedApksLocked();
        if (ArrayUtils.isEmpty(addedFiles)) {
            throw new PackageManagerException(INSTALL_FAILED_INVALID_APK, "No packages staged");
        }
@@ -1797,7 +1807,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
            }
        }

        final File[] addedFiles = getAddedFilesLocked();
        final File[] addedFiles = getAddedApksLocked();
        if (ArrayUtils.isEmpty(addedFiles) && removeSplitList.size() == 0) {
            throw new PackageManagerException(INSTALL_FAILED_INVALID_APK, "No packages staged");
        }