From 78fb71458f1ff6ad3fcd3c65560aab83326fd516 Mon Sep 17 00:00:00 2001 From: Schneider Victor-tulias Date: Wed, 27 Jan 2021 16:54:45 -0800 Subject: [PATCH] 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 6d0fec8ac774679eeed95a623bfda863db66fd66) --- src/com/android/launcher3/model/LoaderTask.java | 17 ++++++++--------- .../android/launcher3/model/data/AppInfo.java | 2 +- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/com/android/launcher3/model/LoaderTask.java b/src/com/android/launcher3/model/LoaderTask.java index f74c8b5c1c..8438622dca 100644 --- a/src/com/android/launcher3/model/LoaderTask.java +++ b/src/com/android/launcher3/model/LoaderTask.java @@ -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); } } diff --git a/src/com/android/launcher3/model/data/AppInfo.java b/src/com/android/launcher3/model/data/AppInfo.java index dde0cf4674..7f70bade3c 100644 --- a/src/com/android/launcher3/model/data/AppInfo.java +++ b/src/com/android/launcher3/model/data/AppInfo.java @@ -179,7 +179,7 @@ public class AppInfo extends ItemInfoWithIcon { // Sets the progress level, installation and incremental download flags. info.setProgressLevel( PackageManagerHelper.getLoadingProgress(lai), - PackageInstallInfo.STATUS_INSTALLED); + PackageInstallInfo.STATUS_INSTALLED_DOWNLOADING); } @Override