diff options
| author | 2019-05-02 15:46:03 +0100 | |
|---|---|---|
| committer | 2019-05-09 14:20:26 +0100 | |
| commit | f2449f7c5cf46ea6b19e90142ee215bb8d3c79ff (patch) | |
| tree | 876cab5d1a197342e1a8ff62e34b34aad8f17d57 | |
| parent | 60d2586b2caa32a712019f4d026b6183cf9203c2 (diff) | |
Always restore staged sessions on boot.
The current logic doesn't restore sessions unless they are "in flight".
We want staged session to stick around until they expire after
MAX_TIME_SINCE_UPDATE_MILLIS.
Bug: 131290871
Test: atest CtsStagedInstallHostTestCases (with modifications coming in
a separate CL)
Change-Id: Ifaccf50e744a97e30a4fda0e47b88d7dc71adcf8
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageInstallerService.java | 3 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageInstallerSession.java | 2 |
2 files changed, 2 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index 35f21496f2cc..44f76774fc8a 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -363,8 +363,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements System.currentTimeMillis() - session.getUpdatedMillis(); final boolean valid; if (session.isStaged()) { - if (timeSinceUpdate >= MAX_TIME_SINCE_UPDATE_MILLIS - && session.isStagedAndInTerminalState()) { + if (timeSinceUpdate >= MAX_TIME_SINCE_UPDATE_MILLIS) { valid = false; } else { valid = true; diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java index 5f6e7399f3a7..6f9a918d105c 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerSession.java +++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java @@ -1150,7 +1150,7 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { */ void sealAndValidateIfNecessary() { synchronized (mLock) { - if (!mShouldBeSealed) { + if (!mShouldBeSealed || isStagedAndInTerminalState()) { return; } } |