Merge "Skip item infos that fail session info verification." into sc-dev
diff --git a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java
index 3be2c3a..365cab1 100644
--- a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java
+++ b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java
@@ -130,8 +130,9 @@
                             packageName);
 
                     if (!packageInstaller.verifySessionInfo(sessionInfo)) {
-                        FileLog.d(LOG, "Item info failed session info verification: "
-                                + workspaceInfo);
+                        FileLog.d(LOG, "Item info failed session info verification. "
+                                + "Skipping : " + workspaceInfo);
+                        continue;
                     }
 
                     List<LauncherActivityInfo> activities = launcherApps
diff --git a/src/com/android/launcher3/pm/InstallSessionHelper.java b/src/com/android/launcher3/pm/InstallSessionHelper.java
index 5255490..2bd9ba0 100644
--- a/src/com/android/launcher3/pm/InstallSessionHelper.java
+++ b/src/com/android/launcher3/pm/InstallSessionHelper.java
@@ -217,7 +217,8 @@
     void tryQueuePromiseAppIcon(PackageInstaller.SessionInfo sessionInfo) {
         if (FeatureFlags.PROMISE_APPS_NEW_INSTALLS.get()
                 && SessionCommitReceiver.isEnabled(mAppContext)
-                && verifySessionInfo(sessionInfo)) {
+                && verifySessionInfo(sessionInfo)
+                && !promiseIconAddedForId(sessionInfo.getSessionId())) {
             FileLog.d(LOG, "Adding package name to install queue: "
                     + sessionInfo.getAppPackageName());
 
@@ -234,25 +235,28 @@
                 && sessionInfo.getInstallReason() == PackageManager.INSTALL_REASON_USER
                 && sessionInfo.getAppIcon() != null
                 && !TextUtils.isEmpty(sessionInfo.getAppLabel())
-                && !promiseIconAddedForId(sessionInfo.getSessionId())
                 && !new PackageManagerHelper(mAppContext).isAppInstalled(
                         sessionInfo.getAppPackageName(), getUserHandle(sessionInfo));
 
         if (sessionInfo != null) {
             Bitmap appIcon = sessionInfo.getAppIcon();
 
-            FileLog.d(LOG, String.format(
-                    "Verifying session info. Valid: %b, Session verified: %b, Install reason valid:"
-                            + " %b, App icon: %s, App label: %s, Promise icon added: %b, "
-                            + "App installed: %b.",
-                    validSessionInfo,
-                    verify(sessionInfo) != null,
-                    sessionInfo.getInstallReason() == PackageManager.INSTALL_REASON_USER,
-                    appIcon == null ? "null" : IOUtils.toBase64String(appIcon),
-                    sessionInfo.getAppLabel(),
-                    promiseIconAddedForId(sessionInfo.getSessionId()),
-                    new PackageManagerHelper(mAppContext).isAppInstalled(
-                            sessionInfo.getAppPackageName(), getUserHandle(sessionInfo))));
+            if (Utilities.IS_DEBUG_DEVICE) {
+                FileLog.d(LOG, String.format(
+                        "Verifying session info. Valid: %b,"
+                                + " Session verified: %b,"
+                                + " Install reason valid: %b,"
+                                + " App icon: %s,"
+                                + " App label: %s,"
+                                + " App installed: %b.",
+                        validSessionInfo,
+                        verify(sessionInfo) != null,
+                        sessionInfo.getInstallReason() == PackageManager.INSTALL_REASON_USER,
+                        appIcon == null ? "null" : IOUtils.toBase64String(appIcon),
+                        sessionInfo.getAppLabel(),
+                        new PackageManagerHelper(mAppContext).isAppInstalled(
+                                sessionInfo.getAppPackageName(), getUserHandle(sessionInfo))));
+            }
         } else {
             FileLog.d(LOG, "Verifying session info failed: session info null.");
         }