summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/rollback/Rollback.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/rollback/Rollback.java b/services/core/java/com/android/server/rollback/Rollback.java
index d9b67024018b..e12991a220c9 100644
--- a/services/core/java/com/android/server/rollback/Rollback.java
+++ b/services/core/java/com/android/server/rollback/Rollback.java
@@ -51,6 +51,7 @@ import com.android.internal.util.ArrayUtils;
import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.Preconditions;
import com.android.server.LocalServices;
+import com.android.server.RescueParty;
import com.android.server.pm.parsing.pkg.AndroidPackage;
import java.io.File;
@@ -540,7 +541,10 @@ class Rollback {
PackageInstaller.Session parentSession = packageInstaller.openSession(
parentSessionId);
+ List<String> packageNames = new ArrayList<>(info.getPackages().size());
for (PackageRollbackInfo pkgRollbackInfo : info.getPackages()) {
+ packageNames.add(pkgRollbackInfo.getPackageName());
+
if (pkgRollbackInfo.isApkInApex()) {
// No need to issue a downgrade install request for apk-in-apex. It will
// be rolled back when its parent apex is downgraded.
@@ -601,6 +605,9 @@ class Rollback {
parentSession.addChildSessionId(sessionId);
}
+ // Clear flags.
+ RescueParty.resetDeviceConfigForPackages(packageNames);
+
Consumer<Intent> onResult = result -> {
mHandler.post(() -> {
assertInWorkerThread();