Persist destroyed staged sessions until they are cleaned up
Currently, when we abandon a staged session we mark it as destroyed and then immediately clean it up. Cleaning up a staged session immediately causes racing condition with pre-reboot verification. In order to avoid the racing condition, we want to delay cleanup of staged session until it is safe to do so. This means, the system will be carrying around destroyed staged sessions internally. Since there is now a gap between when a session is destroyed and when it is cleaned up, the user can reboot in this window. As such, we need to persist the mDestroyed field of session so that we know session is destroyed after reboot and act accordingly. Also, once a session is destroyed, theoretically it doesn't exist. Carrying it around internally is an implementation details which shouldn't be exposed externally. As such, we filter out destroyed sessions before surfacing them to users. Bug: 145925842 Bug: 67862680 Test: atest PackageInstallerSessionTest Test: atest StagedInstallTest Change-Id: I4ede6b7a4b5d861e5c73f13884c7aa86cf7633a2 Merged-In: I4ede6b7a4b5d861e5c73f13884c7aa86cf7633a2 (cherry picked from commit 731bd965)
Loading
Please register or sign in to comment