Sending the whole files list to DataLoader.

Test: atest PackageManagerShellCommandTest
Bug: b/136132412 b/133435829 b/148243920
Change-Id: I2d19be309c6a0366b225da2d26b0f4e15e6a60e2
This commit is contained in:
Alex Buynytskyy
2020-01-23 17:56:48 -08:00
parent b13ce8b684
commit eb5f7cd96d

View File

@@ -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");
}