diff options
| author | 2025-01-15 16:21:37 +0800 | |
|---|---|---|
| committer | 2025-01-16 17:10:45 +0800 | |
| commit | 0c6506a4e97cbd17da3ad3ac3e23e87fb79e9eeb (patch) | |
| tree | 82996a5344fe9710a18d29a4716e3edd1e986c7d | |
| parent | 73a93318fd138f29c26274eef7811a76a90599fb (diff) | |
Close freezer early before posted to handler
1. Close freezer early before posted to handler.
2. Backup/restore should be workling during freezing, remove
the freezer-closer
Bug: 388132224
FLAG: EXEMPT bugfix
Test: atest CtsPackageInstallTestCases
Test: atest CtsInstallHostTestCases
Change-Id: I542dd1f17d4963231f10744fcb6bed4aa086b824
| -rw-r--r-- | services/core/java/com/android/server/pm/InstallPackageHelper.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java index 4cca85590967..a35b57d9f0d5 100644 --- a/services/core/java/com/android/server/pm/InstallPackageHelper.java +++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java @@ -861,7 +861,6 @@ final class InstallPackageHelper { // restore if appropriate, then pass responsibility back to the // Package Manager to run the post-install observer callbacks // and broadcasts. - request.closeFreezer(); doRestore = performBackupManagerRestore(userId, token, request); } @@ -898,8 +897,11 @@ final class InstallPackageHelper { } } } else { - // No restore possible, or the Backup Manager was mysteriously not - // available -- just fire the post-install work request directly. + // No restore possible, or the Backup Manager was mysteriously not available. + // we don't need to wait for restore to complete before closing the freezer, + // so we can close the freezer right away. + // Also just fire the post-install work request directly. + request.closeFreezer(); if (DEBUG_INSTALL) Log.v(TAG, "No restore - queue post-install for " + token); Trace.asyncTraceBegin(TRACE_TAG_PACKAGE_MANAGER, "postInstall", token); |