Loading services/core/java/com/android/server/pm/InitAppsHelper.java +4 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import static com.android.server.pm.PackageManagerService.SCAN_AS_FACTORY; import static com.android.server.pm.PackageManagerService.SCAN_AS_PRIVILEGED; import static com.android.server.pm.PackageManagerService.SCAN_AS_SYSTEM; import static com.android.server.pm.PackageManagerService.SCAN_BOOTING; import static com.android.server.pm.PackageManagerService.SCAN_DROP_CACHE; import static com.android.server.pm.PackageManagerService.SCAN_FIRST_BOOT_OR_UPGRADE; import static com.android.server.pm.PackageManagerService.SCAN_INITIAL; import static com.android.server.pm.PackageManagerService.SCAN_NO_DEX; Loading Loading @@ -174,6 +175,9 @@ final class InitAppsHelper { if (apexInfo.isFactory) { additionalScanFlag |= SCAN_AS_FACTORY; } if (apexInfo.activeApexChanged) { additionalScanFlag |= SCAN_DROP_CACHE; } return new ScanPartition(apexInfo.apexDirectory, sp, additionalScanFlag); } } Loading services/core/java/com/android/server/pm/InstallPackageHelper.java +7 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,7 @@ import static com.android.server.pm.PackageManagerService.SCAN_AS_VENDOR; import static com.android.server.pm.PackageManagerService.SCAN_AS_VIRTUAL_PRELOAD; import static com.android.server.pm.PackageManagerService.SCAN_BOOTING; import static com.android.server.pm.PackageManagerService.SCAN_DONT_KILL_APP; import static com.android.server.pm.PackageManagerService.SCAN_DROP_CACHE; import static com.android.server.pm.PackageManagerService.SCAN_FIRST_BOOT_OR_UPGRADE; import static com.android.server.pm.PackageManagerService.SCAN_IGNORE_FROZEN; import static com.android.server.pm.PackageManagerService.SCAN_INITIAL; Loading Loading @@ -154,6 +155,7 @@ import com.android.server.pm.dex.ArtManagerService; import com.android.server.pm.dex.DexManager; import com.android.server.pm.dex.DexoptOptions; import com.android.server.pm.dex.ViewCompiler; import com.android.server.pm.parsing.PackageCacher; import com.android.server.pm.parsing.PackageParser2; import com.android.server.pm.parsing.pkg.AndroidPackage; import com.android.server.pm.parsing.pkg.AndroidPackageUtils; Loading Loading @@ -3455,6 +3457,11 @@ final class InstallPackageHelper { // Ignore entries which are not packages continue; } if ((scanFlags & SCAN_DROP_CACHE) != 0) { final PackageCacher cacher = new PackageCacher(mPm.getCacheDir()); Log.w(TAG, "Dropping cache of " + file.getAbsolutePath()); cacher.cleanCachedResult(file); } parallelPackageParser.submit(file, parseFlags); fileCount++; } Loading services/core/java/com/android/server/pm/PackageManagerService.java +3 −2 Original line number Diff line number Diff line Loading @@ -374,8 +374,9 @@ public class PackageManagerService implements PackageSender, TestUtilityService static final int SCAN_AS_SYSTEM_EXT = 1 << 21; static final int SCAN_AS_ODM = 1 << 22; static final int SCAN_AS_APK_IN_APEX = 1 << 23; static final int SCAN_AS_FACTORY = 1 << 24; static final int SCAN_AS_APEX = 1 << 25; static final int SCAN_DROP_CACHE = 1 << 24; static final int SCAN_AS_FACTORY = 1 << 25; static final int SCAN_AS_APEX = 1 << 26; @IntDef(flag = true, prefix = { "SCAN_" }, value = { SCAN_NO_DEX, Loading Loading
services/core/java/com/android/server/pm/InitAppsHelper.java +4 −0 Original line number Diff line number Diff line Loading @@ -25,6 +25,7 @@ import static com.android.server.pm.PackageManagerService.SCAN_AS_FACTORY; import static com.android.server.pm.PackageManagerService.SCAN_AS_PRIVILEGED; import static com.android.server.pm.PackageManagerService.SCAN_AS_SYSTEM; import static com.android.server.pm.PackageManagerService.SCAN_BOOTING; import static com.android.server.pm.PackageManagerService.SCAN_DROP_CACHE; import static com.android.server.pm.PackageManagerService.SCAN_FIRST_BOOT_OR_UPGRADE; import static com.android.server.pm.PackageManagerService.SCAN_INITIAL; import static com.android.server.pm.PackageManagerService.SCAN_NO_DEX; Loading Loading @@ -174,6 +175,9 @@ final class InitAppsHelper { if (apexInfo.isFactory) { additionalScanFlag |= SCAN_AS_FACTORY; } if (apexInfo.activeApexChanged) { additionalScanFlag |= SCAN_DROP_CACHE; } return new ScanPartition(apexInfo.apexDirectory, sp, additionalScanFlag); } } Loading
services/core/java/com/android/server/pm/InstallPackageHelper.java +7 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,7 @@ import static com.android.server.pm.PackageManagerService.SCAN_AS_VENDOR; import static com.android.server.pm.PackageManagerService.SCAN_AS_VIRTUAL_PRELOAD; import static com.android.server.pm.PackageManagerService.SCAN_BOOTING; import static com.android.server.pm.PackageManagerService.SCAN_DONT_KILL_APP; import static com.android.server.pm.PackageManagerService.SCAN_DROP_CACHE; import static com.android.server.pm.PackageManagerService.SCAN_FIRST_BOOT_OR_UPGRADE; import static com.android.server.pm.PackageManagerService.SCAN_IGNORE_FROZEN; import static com.android.server.pm.PackageManagerService.SCAN_INITIAL; Loading Loading @@ -154,6 +155,7 @@ import com.android.server.pm.dex.ArtManagerService; import com.android.server.pm.dex.DexManager; import com.android.server.pm.dex.DexoptOptions; import com.android.server.pm.dex.ViewCompiler; import com.android.server.pm.parsing.PackageCacher; import com.android.server.pm.parsing.PackageParser2; import com.android.server.pm.parsing.pkg.AndroidPackage; import com.android.server.pm.parsing.pkg.AndroidPackageUtils; Loading Loading @@ -3455,6 +3457,11 @@ final class InstallPackageHelper { // Ignore entries which are not packages continue; } if ((scanFlags & SCAN_DROP_CACHE) != 0) { final PackageCacher cacher = new PackageCacher(mPm.getCacheDir()); Log.w(TAG, "Dropping cache of " + file.getAbsolutePath()); cacher.cleanCachedResult(file); } parallelPackageParser.submit(file, parseFlags); fileCount++; } Loading
services/core/java/com/android/server/pm/PackageManagerService.java +3 −2 Original line number Diff line number Diff line Loading @@ -374,8 +374,9 @@ public class PackageManagerService implements PackageSender, TestUtilityService static final int SCAN_AS_SYSTEM_EXT = 1 << 21; static final int SCAN_AS_ODM = 1 << 22; static final int SCAN_AS_APK_IN_APEX = 1 << 23; static final int SCAN_AS_FACTORY = 1 << 24; static final int SCAN_AS_APEX = 1 << 25; static final int SCAN_DROP_CACHE = 1 << 24; static final int SCAN_AS_FACTORY = 1 << 25; static final int SCAN_AS_APEX = 1 << 26; @IntDef(flag = true, prefix = { "SCAN_" }, value = { SCAN_NO_DEX, Loading