Reset the static preloaded icon result once launcher is hidden

- In the case where the system does not play the requested animation
  we can still ensure that this doesn't result in a leak of the
  activity by resetting the result when launcher is hidden (which
  happens after the launch transition)

Bug: 285995223
Test: Presubmit
Test: Take heapdump after repro steps in b/285995223#comment6 and verify
      there are no lingering static icon load results

Change-Id: I1d169df158cfaab64fbe1f4ce597d8f73d86a1c1
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 37a20bf..25eb160 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -1074,6 +1074,7 @@
         logStopAndResume(false /* isResume */);
         mAppWidgetHolder.setActivityStarted(false);
         NotificationListener.removeNotificationsChangedListener(getPopupDataProvider());
+        FloatingIconView.resetIconLoadResult();
     }
 
     @Override
diff --git a/src/com/android/launcher3/views/FloatingIconView.java b/src/com/android/launcher3/views/FloatingIconView.java
index 4d0e2af..6b5c8df 100644
--- a/src/com/android/launcher3/views/FloatingIconView.java
+++ b/src/com/android/launcher3/views/FloatingIconView.java
@@ -572,6 +572,13 @@
     }
 
     /**
+     * Resets the static icon load result used for preloading the icon for a launching app.
+     */
+    public static void resetIconLoadResult() {
+        sIconLoadResult = null;
+    }
+
+    /**
      * Creates a floating icon view for {@param originalView}.
      * @param originalView The view to copy
      * @param visibilitySyncView A view whose visibility should update in sync with originalView.
@@ -608,7 +615,7 @@
             }
             view.setOriginalDrawableBackground(view.mIconLoadResult.btvDrawable);
         }
-        sIconLoadResult = null;
+        resetIconLoadResult();
 
         // Match the position of the original view.
         view.matchPositionOf(launcher, originalView, isOpening, positionOut);