diff options
| -rw-r--r-- | services/core/java/com/android/server/rollback/Rollback.java | 7 |
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(); |