Loading services/core/java/com/android/server/pm/PackageFreezer.java +7 −1 Original line number Original line Diff line number Diff line Loading @@ -62,6 +62,12 @@ final class PackageFreezer implements AutoCloseable { PackageFreezer(String packageName, int userId, String killReason, PackageFreezer(String packageName, int userId, String killReason, PackageManagerService pm, int exitInfoReason, @Nullable InstallRequest request) { PackageManagerService pm, int exitInfoReason, @Nullable InstallRequest request) { this(packageName, userId, killReason, pm, exitInfoReason, request, false); } PackageFreezer(String packageName, int userId, String killReason, PackageManagerService pm, int exitInfoReason, @Nullable InstallRequest request, boolean waitAppKilled) { mPm = pm; mPm = pm; mPackageName = packageName; mPackageName = packageName; mInstallRequest = request; mInstallRequest = request; Loading @@ -77,7 +83,7 @@ final class PackageFreezer implements AutoCloseable { ps = mPm.mSettings.getPackageLPr(mPackageName); ps = mPm.mSettings.getPackageLPr(mPackageName); } } if (ps != null) { if (ps != null) { if (Flags.waitApplicationKilled()) { if (waitAppKilled && Flags.waitApplicationKilled()) { mPm.killApplicationSync(ps.getPackageName(), ps.getAppId(), userId, killReason, mPm.killApplicationSync(ps.getPackageName(), ps.getAppId(), userId, killReason, exitInfoReason); exitInfoReason); } else { } else { Loading services/core/java/com/android/server/pm/PackageManagerService.java +10 −2 Original line number Original line Diff line number Diff line Loading @@ -4347,7 +4347,14 @@ public class PackageManagerService implements PackageSender, TestUtilityService public PackageFreezer freezePackage(String packageName, int userId, String killReason, public PackageFreezer freezePackage(String packageName, int userId, String killReason, int exitInfoReason, InstallRequest request) { int exitInfoReason, InstallRequest request) { return new PackageFreezer(packageName, userId, killReason, this, exitInfoReason, request); return freezePackage(packageName, userId, killReason, exitInfoReason, request, /* waitAppKilled= */ false); } private PackageFreezer freezePackage(String packageName, int userId, String killReason, int exitInfoReason, InstallRequest request, boolean waitAppKilled) { return new PackageFreezer(packageName, userId, killReason, this, exitInfoReason, request, waitAppKilled); } } public PackageFreezer freezePackageForDelete(String packageName, int userId, int deleteFlags, public PackageFreezer freezePackageForDelete(String packageName, int userId, int deleteFlags, Loading Loading @@ -4772,7 +4779,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService final boolean succeeded; final boolean succeeded; try (PackageFreezer freezer = freezePackage(packageName, UserHandle.USER_ALL, try (PackageFreezer freezer = freezePackage(packageName, UserHandle.USER_ALL, "clearApplicationUserData", "clearApplicationUserData", ApplicationExitInfo.REASON_USER_REQUESTED, null /* request */)) { ApplicationExitInfo.REASON_USER_REQUESTED, null /* request */, /* waitAppKilled= */ true)) { try (PackageManagerTracedLock installLock = mInstallLock.acquireLock()) { try (PackageManagerTracedLock installLock = mInstallLock.acquireLock()) { succeeded = clearApplicationUserDataLIF(snapshotComputer(), packageName, succeeded = clearApplicationUserDataLIF(snapshotComputer(), packageName, userId); userId); Loading Loading
services/core/java/com/android/server/pm/PackageFreezer.java +7 −1 Original line number Original line Diff line number Diff line Loading @@ -62,6 +62,12 @@ final class PackageFreezer implements AutoCloseable { PackageFreezer(String packageName, int userId, String killReason, PackageFreezer(String packageName, int userId, String killReason, PackageManagerService pm, int exitInfoReason, @Nullable InstallRequest request) { PackageManagerService pm, int exitInfoReason, @Nullable InstallRequest request) { this(packageName, userId, killReason, pm, exitInfoReason, request, false); } PackageFreezer(String packageName, int userId, String killReason, PackageManagerService pm, int exitInfoReason, @Nullable InstallRequest request, boolean waitAppKilled) { mPm = pm; mPm = pm; mPackageName = packageName; mPackageName = packageName; mInstallRequest = request; mInstallRequest = request; Loading @@ -77,7 +83,7 @@ final class PackageFreezer implements AutoCloseable { ps = mPm.mSettings.getPackageLPr(mPackageName); ps = mPm.mSettings.getPackageLPr(mPackageName); } } if (ps != null) { if (ps != null) { if (Flags.waitApplicationKilled()) { if (waitAppKilled && Flags.waitApplicationKilled()) { mPm.killApplicationSync(ps.getPackageName(), ps.getAppId(), userId, killReason, mPm.killApplicationSync(ps.getPackageName(), ps.getAppId(), userId, killReason, exitInfoReason); exitInfoReason); } else { } else { Loading
services/core/java/com/android/server/pm/PackageManagerService.java +10 −2 Original line number Original line Diff line number Diff line Loading @@ -4347,7 +4347,14 @@ public class PackageManagerService implements PackageSender, TestUtilityService public PackageFreezer freezePackage(String packageName, int userId, String killReason, public PackageFreezer freezePackage(String packageName, int userId, String killReason, int exitInfoReason, InstallRequest request) { int exitInfoReason, InstallRequest request) { return new PackageFreezer(packageName, userId, killReason, this, exitInfoReason, request); return freezePackage(packageName, userId, killReason, exitInfoReason, request, /* waitAppKilled= */ false); } private PackageFreezer freezePackage(String packageName, int userId, String killReason, int exitInfoReason, InstallRequest request, boolean waitAppKilled) { return new PackageFreezer(packageName, userId, killReason, this, exitInfoReason, request, waitAppKilled); } } public PackageFreezer freezePackageForDelete(String packageName, int userId, int deleteFlags, public PackageFreezer freezePackageForDelete(String packageName, int userId, int deleteFlags, Loading Loading @@ -4772,7 +4779,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService final boolean succeeded; final boolean succeeded; try (PackageFreezer freezer = freezePackage(packageName, UserHandle.USER_ALL, try (PackageFreezer freezer = freezePackage(packageName, UserHandle.USER_ALL, "clearApplicationUserData", "clearApplicationUserData", ApplicationExitInfo.REASON_USER_REQUESTED, null /* request */)) { ApplicationExitInfo.REASON_USER_REQUESTED, null /* request */, /* waitAppKilled= */ true)) { try (PackageManagerTracedLock installLock = mInstallLock.acquireLock()) { try (PackageManagerTracedLock installLock = mInstallLock.acquireLock()) { succeeded = clearApplicationUserDataLIF(snapshotComputer(), packageName, succeeded = clearApplicationUserDataLIF(snapshotComputer(), packageName, userId); userId); Loading