Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d801f5d2 authored by Jon Miranda's avatar Jon Miranda
Browse files

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
parent ea29adfb
Loading
Loading
Loading
Loading
+9 −23
Original line number Diff line number Diff line
@@ -566,7 +566,6 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
        // 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 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
                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,8 +1208,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
            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());
@@ -1224,14 +1218,6 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener

            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());
            }

            cropWidthEnd = windowTargetBounds.width();
            cropHeightEnd = windowTargetBounds.height();