From 5bf077de264faa4a61d70dd57a043e3a978a1b45 Mon Sep 17 00:00:00 2001 From: Mohammad Samiul Islam Date: Mon, 4 May 2020 16:36:01 +0100 Subject: [PATCH] Avoid reverting apex on devices that do not support updating apex Bug: 151402767 Test: built with OVERRIDE_TARGET_FLATTEN_APEX=true and then ran atest StagedInstallTest#testInstallMultipleStagedSession_PartialFail_ApkOnly Change-Id: Ice0cf48cbea87b3aec1906cb42e1739487fcc19f --- .../java/com/android/server/pm/StagingManager.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/pm/StagingManager.java b/services/core/java/com/android/server/pm/StagingManager.java index 9a297d601a6b9..671fb3e6bc2d7 100644 --- a/services/core/java/com/android/server/pm/StagingManager.java +++ b/services/core/java/com/android/server/pm/StagingManager.java @@ -350,13 +350,19 @@ public class StagingManager { Slog.e(TAG, "Aborting checkpoint: " + errorMsg); try { if (supportsCheckpoint() && needsCheckpoint()) { - mApexManager.revertActiveSessions(); + // Only revert apex sessions if device supports updating apex + if (mApexManager.isApexSupported()) { + mApexManager.revertActiveSessions(); + } PackageHelper.getStorageManager().abortChanges( "StagingManager initiated", false /*retry*/); } } catch (Exception e) { Slog.wtf(TAG, "Failed to abort checkpoint", e); - mApexManager.revertActiveSessions(); + // Only revert apex sessions if device supports updating apex + if (mApexManager.isApexSupported()) { + mApexManager.revertActiveSessions(); + } mPowerManager.reboot(null); } }