From 74635f9ab258d2af979dee158c0c9aec52c00349 Mon Sep 17 00:00:00 2001 From: Gavin Corkery Date: Tue, 17 Sep 2019 18:41:54 +0100 Subject: [PATCH] Don't send SESSION_COMMITTED broadcast for staged installs Staged sessions currently send a SESSION_COMMITTED broadcast when they are created, but not upon activation. Since there is nobody active at activation to listen to the broadcast, it should not be sent. This also prevents app shortcuts being added to the launcher before a new version has been activated. Bug: 139663018 Test: atest StagedInstallTest Change-Id: Icf51b5611a1903eee58c3310bfb875eaf737c26f --- .../core/java/com/android/server/pm/PackageManagerService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index aa4a87e9801b3..354ba313d8176 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -20881,7 +20881,7 @@ public class PackageManagerService extends IPackageManager.Stub public void sendSessionCommitBroadcast(PackageInstaller.SessionInfo sessionInfo, int userId) { UserManagerService ums = UserManagerService.getInstance(); - if (ums != null) { + if (ums != null && !sessionInfo.isStaged()) { final UserInfo parent = ums.getProfileParent(userId); final int launcherUid = (parent != null) ? parent.id : userId; final ComponentName launcherComponent = getDefaultHomeActivity(launcherUid);