Fix incorrect launcher loading.

Apps that were installed and downloading incrementally would be shown as fully downloaded on reboot. Updated LoaderTask and AppInfo.updateRuntimeFlagsForActivityTarget to account for this.

Fixes: 178528867

Test: manual with hardcoded values

Change-Id: I088e43ae886b4157bad9f4fa8d40373cf7f8235a
(cherry picked from commit 6d0fec8ac7)
This commit is contained in:
Schneider Victor-tulias
2021-01-27 16:54:45 -08:00
parent 6a53655df5
commit 78fb71458f
2 changed files with 9 additions and 10 deletions

View File

@@ -588,27 +588,26 @@ public class LoaderTask implements Runnable {
if (isSafeMode && !isSystemApp(context, intent)) {
info.runtimeStatusFlags |= FLAG_DISABLED_SAFEMODE;
}
LauncherActivityInfo activityInfo = c.getLauncherActivityInfo();
if (activityInfo != null) {
info.setProgressLevel(
PackageManagerHelper
.getLoadingProgress(activityInfo),
PackageInstallInfo.STATUS_INSTALLED_DOWNLOADING);
}
if (c.restoreFlag != 0 && !TextUtils.isEmpty(targetPkg)) {
tempPackageKey.update(targetPkg, c.user);
SessionInfo si = installingPkgs.get(tempPackageKey);
LauncherActivityInfo activityInfo =
c.getLauncherActivityInfo();
if (si == null) {
info.runtimeStatusFlags &=
~ItemInfoWithIcon.FLAG_INSTALL_SESSION_ACTIVE;
~ItemInfoWithIcon.FLAG_INSTALL_SESSION_ACTIVE;
} else if (activityInfo == null) {
int installProgress = (int) (si.getProgress() * 100);
info.setProgressLevel(
installProgress,
PackageInstallInfo.STATUS_INSTALLING);
} else {
info.setProgressLevel(
PackageManagerHelper
.getLoadingProgress(activityInfo),
PackageInstallInfo
.STATUS_INSTALLED_DOWNLOADING);
}
}