Merge "[incfs] Skip empty folders for app updates" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
26f65631b0
@@ -150,7 +150,6 @@ import java.io.FileOutputStream;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -2099,11 +2098,13 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
mResolvedInstructionSets.add(archSubDir.getName());
|
File[] files = archSubDir.listFiles();
|
||||||
List<File> oatFiles = Arrays.asList(archSubDir.listFiles());
|
if (files == null || files.length == 0) {
|
||||||
if (!oatFiles.isEmpty()) {
|
continue;
|
||||||
mResolvedInheritedFiles.addAll(oatFiles);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mResolvedInstructionSets.add(archSubDir.getName());
|
||||||
|
mResolvedInheritedFiles.addAll(Arrays.asList(files));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2117,7 +2118,8 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
|||||||
if (!libDir.exists() || !libDir.isDirectory()) {
|
if (!libDir.exists() || !libDir.isDirectory()) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
final List<File> libDirsToInherit = new LinkedList<>();
|
final List<String> libDirsToInherit = new ArrayList<>();
|
||||||
|
final List<File> libFilesToInherit = new ArrayList<>();
|
||||||
for (File archSubDir : libDir.listFiles()) {
|
for (File archSubDir : libDir.listFiles()) {
|
||||||
if (!archSubDir.isDirectory()) {
|
if (!archSubDir.isDirectory()) {
|
||||||
continue;
|
continue;
|
||||||
@@ -2129,14 +2131,24 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
|
|||||||
Slog.e(TAG, "Skipping linking of native library directory!", e);
|
Slog.e(TAG, "Skipping linking of native library directory!", e);
|
||||||
// shouldn't be possible, but let's avoid inheriting these to be safe
|
// shouldn't be possible, but let's avoid inheriting these to be safe
|
||||||
libDirsToInherit.clear();
|
libDirsToInherit.clear();
|
||||||
|
libFilesToInherit.clear();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!mResolvedNativeLibPaths.contains(relLibPath)) {
|
|
||||||
mResolvedNativeLibPaths.add(relLibPath);
|
File[] files = archSubDir.listFiles();
|
||||||
|
if (files == null || files.length == 0) {
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
libDirsToInherit.addAll(Arrays.asList(archSubDir.listFiles()));
|
|
||||||
|
libDirsToInherit.add(relLibPath);
|
||||||
|
libFilesToInherit.addAll(Arrays.asList(files));
|
||||||
}
|
}
|
||||||
mResolvedInheritedFiles.addAll(libDirsToInherit);
|
for (String subDir : libDirsToInherit) {
|
||||||
|
if (!mResolvedNativeLibPaths.contains(subDir)) {
|
||||||
|
mResolvedNativeLibPaths.add(subDir);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mResolvedInheritedFiles.addAll(libFilesToInherit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user