From 0e1b17f8c49c8bb149b3779e30b3cca17e2b8659 Mon Sep 17 00:00:00 2001 From: Jon Miranda Date: Thu, 19 Sep 2019 09:25:17 -0700 Subject: [PATCH] [DO NOT MERGE] Fixed a bug where restored promise icons stay promise icons. Test: 1 Turn off WiFi 2 Install app. (Promise icon gets added to home screen). 3 Backup launcher. 4 Restore launcher. 5 Turn on WiFi 6 Note promise icon gets updated with as installation progresses. Will submit to future/master later. Bug: 140212732 Change-Id: I63cedc6c16f5028297fb1a0852ffbd4473319ae9 --- src/com/android/launcher3/WorkspaceItemInfo.java | 2 +- src/com/android/launcher3/model/PackageUpdatedTask.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/WorkspaceItemInfo.java b/src/com/android/launcher3/WorkspaceItemInfo.java index 050a8bef75..9451aae98a 100644 --- a/src/com/android/launcher3/WorkspaceItemInfo.java +++ b/src/com/android/launcher3/WorkspaceItemInfo.java @@ -212,7 +212,7 @@ public class WorkspaceItemInfo extends ItemInfoWithIcon { public ComponentName getTargetComponent() { ComponentName cn = super.getTargetComponent(); if (cn == null && (itemType == Favorites.ITEM_TYPE_SHORTCUT - || hasStatusFlag(FLAG_SUPPORTS_WEB_UI | FLAG_AUTOINSTALL_ICON))) { + || hasStatusFlag(FLAG_SUPPORTS_WEB_UI|FLAG_AUTOINSTALL_ICON|FLAG_RESTORED_ICON))) { // Legacy shortcuts and promise icons with web UI may not have a componentName but just // a packageName. In that case create a dummy componentName instead of adding additional // check everywhere. diff --git a/src/com/android/launcher3/model/PackageUpdatedTask.java b/src/com/android/launcher3/model/PackageUpdatedTask.java index 4428c8e6df..2d1e94ff87 100644 --- a/src/com/android/launcher3/model/PackageUpdatedTask.java +++ b/src/com/android/launcher3/model/PackageUpdatedTask.java @@ -57,6 +57,7 @@ import java.util.HashSet; import java.util.List; import static com.android.launcher3.WorkspaceItemInfo.FLAG_AUTOINSTALL_ICON; +import static com.android.launcher3.WorkspaceItemInfo.FLAG_RESTORED_ICON; /** * Handles updates due to changes in package manager (app installed/updated/removed) @@ -234,7 +235,7 @@ public class PackageUpdatedTask extends BaseModelUpdateTask { isTargetValid = LauncherAppsCompat.getInstance(context) .isActivityEnabledForProfile(cn, mUser); } - if (si.hasStatusFlag(FLAG_AUTOINSTALL_ICON)) { + if (si.hasStatusFlag(FLAG_RESTORED_ICON | FLAG_AUTOINSTALL_ICON)) { if (updateWorkspaceItemIntent(context, si, packageName)) { infoUpdated = true; } else if (si.hasPromiseIconUi()) {