summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TYM Tsai <tymtsai@google.com> 2025-01-15 16:21:37 +0800
committer TYM Tsai <tymtsai@google.com> 2025-01-16 17:10:45 +0800
commit0c6506a4e97cbd17da3ad3ac3e23e87fb79e9eeb (patch)
tree82996a5344fe9710a18d29a4716e3edd1e986c7d
parent73a93318fd138f29c26274eef7811a76a90599fb (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.java8
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);