Merge "Packages on IncrementalFS can't have oat dir." into rvc-dev

This commit is contained in:
Alex Buynytskyy
2020-04-22 17:01:00 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 5 deletions

View File

@@ -6873,9 +6873,9 @@ public class PackageParser {
/** @hide */
public boolean canHaveOatDir() {
// The following app types CANNOT have oat directory
// - non-updated system apps
return !isSystem() || isUpdatedSystemApp();
// Nobody should be calling this method ever, but we can't rely on this.
// Thus no logic here and a reasonable return value.
return true;
}
public boolean isMatch(int flags) {

View File

@@ -31,6 +31,7 @@ import android.content.pm.parsing.component.ParsedActivity;
import android.content.pm.parsing.component.ParsedInstrumentation;
import android.content.pm.parsing.component.ParsedProvider;
import android.content.pm.parsing.component.ParsedService;
import android.os.incremental.IncrementalManager;
import android.text.TextUtils;
import com.android.internal.content.NativeLibraryHelper;
@@ -141,8 +142,15 @@ public class AndroidPackageUtils {
public static boolean canHaveOatDir(AndroidPackage pkg, boolean isUpdatedSystemApp) {
// The following app types CANNOT have oat directory
// - non-updated system apps
return !pkg.isSystem() || isUpdatedSystemApp;
// - non-updated system apps,
// - incrementally installed apps.
if (pkg.isSystem() && !isUpdatedSystemApp) {
return false;
}
if (IncrementalManager.isIncrementalPath(pkg.getCodePath())) {
return false;
}
return true;
}
public static boolean hasComponentClassName(AndroidPackage pkg, String className) {