Have one app open animation properties for both cold/start app launch.

If cold start, shell draws icon.
If warm start, launcher draws the icon.

In both cases, the app window scale/crop/position is the
same.

This helps the case where shell does not notify launcher
whether the preview window is drawn before launcher starts the
animation.

Bug: 177264697
Test: manual, cold/warm app launches
Change-Id: I88bff607f68042ebc8230bd9fbaf983fe1f0afac
diff --git a/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java b/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
index 009ca27..7da6f60 100644
--- a/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
+++ b/quickstep/src/com/android/launcher3/QuickstepTransitionManager.java
@@ -566,7 +566,6 @@
         // Set the crop here so we can calculate the corner radius below.
         crop.set(left, top, right, bottom);
 
-        RectF targetBounds = new RectF(windowTargetBounds);
         RectF floatingIconBounds = new RectF();
         RectF tmpRectF = new RectF();
         Point tmpPos = new Point();
@@ -655,12 +654,8 @@
                 tmpRectF.offset(dragLayerBounds[0], dragLayerBounds[1]);
                 tmpRectF.offset(mDx.value, mDy.value);
                 Utilities.scaleRectFAboutCenter(tmpRectF, mIconScaleToFitScreen.value);
-                float windowTransX0 = tmpRectF.left - offsetX;
-                float windowTransY0 = tmpRectF.top - offsetY;
-                if (hasSplashScreen) {
-                    windowTransX0 -= crop.left * scale;
-                    windowTransY0 -= crop.top * scale;
-                }
+                float windowTransX0 = tmpRectF.left - offsetX - crop.left * scale;
+                float windowTransY0 = tmpRectF.top - offsetY - crop.top * scale;
 
                 // Calculate the icon position.
                 floatingIconBounds.set(launcherIconBounds);
@@ -1213,25 +1208,16 @@
             alphaDuration = useUpwardAnimation ? APP_LAUNCH_ALPHA_DURATION
                     : APP_LAUNCH_ALPHA_DOWN_DURATION;
 
-            if (hasSplashScreen) {
-                iconAlphaStart = 0;
+            iconAlphaStart = hasSplashScreen ? 0 : 1f;
 
-                // TOOD: Share value from shell when available.
-                final float windowIconSize = Utilities.pxFromSp(108, r.getDisplayMetrics());
+            // TOOD: Share value from shell when available.
+            final float windowIconSize = Utilities.pxFromSp(108, r.getDisplayMetrics());
 
-                cropCenterXStart = windowTargetBounds.centerX();
-                cropCenterYStart = windowTargetBounds.centerY();
+            cropCenterXStart = windowTargetBounds.centerX();
+            cropCenterYStart = windowTargetBounds.centerY();
 
-                cropWidthStart = (int) windowIconSize;
-                cropHeightStart = (int) windowIconSize;
-            } else {
-                iconAlphaStart = 1;
-
-                cropWidthStart = cropHeightStart =
-                        Math.min(windowTargetBounds.width(), windowTargetBounds.height());
-                cropCenterXStart = cropCenterYStart =
-                        Math.min(windowTargetBounds.centerX(), windowTargetBounds.centerY());
-            }
+            cropWidthStart = (int) windowIconSize;
+            cropHeightStart = (int) windowIconSize;
 
             cropWidthEnd = windowTargetBounds.width();
             cropHeightEnd = windowTargetBounds.height();