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

Commit 16284b95 authored by Sunny Goyal's avatar Sunny Goyal
Browse files

Fading out the home surface if home and recents are shown in separate surface

Bug: 134725160
Change-Id: Ia4c5e0eefc4d8b869840645f403d943831c471f1
parent 022b1826
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -192,6 +192,7 @@ public class ClipAnimationHelper {
            float cornerRadius = 0f;
            float scale = Math.max(params.currentRect.width(), mTargetRect.width()) / crop.width();
            if (app.mode == targetSet.targetMode) {
                alpha = mTaskAlphaCallback.apply(app, params.targetAlpha);
                if (app.activityType != RemoteAnimationTargetCompat.ACTIVITY_TYPE_HOME) {
                    mTmpMatrix.setRectToRect(mSourceRect, params.currentRect, ScaleToFit.FILL);
                    mTmpMatrix.postTranslate(app.position.x, app.position.y);
@@ -208,8 +209,11 @@ public class ClipAnimationHelper {
                        }
                        mCurrentCornerRadius = cornerRadius;
                    }
                } else if (targetSet.hasRecents) {
                    // If home has a different target then recents, reverse anim the
                    // home target.
                    alpha = 1 - (progress * params.targetAlpha);
                }
                alpha = mTaskAlphaCallback.apply(app, params.targetAlpha);
            } else if (ENABLE_QUICKSTEP_LIVE_TILE.get() && launcherOnTop) {
                crop = null;
                layer = Integer.MAX_VALUE;
+6 −0
Original line number Diff line number Diff line
@@ -33,20 +33,26 @@ public class RemoteAnimationTargetSet {
    public final RemoteAnimationTargetCompat[] unfilteredApps;
    public final RemoteAnimationTargetCompat[] apps;
    public final int targetMode;
    public final boolean hasRecents;

    public RemoteAnimationTargetSet(RemoteAnimationTargetCompat[] apps, int targetMode) {
        ArrayList<RemoteAnimationTargetCompat> filteredApps = new ArrayList<>();
        boolean hasRecents = false;
        if (apps != null) {
            for (RemoteAnimationTargetCompat target : apps) {
                if (target.mode == targetMode) {
                    filteredApps.add(target);
                }

                hasRecents |= target.activityType ==
                        RemoteAnimationTargetCompat.ACTIVITY_TYPE_RECENTS;
            }
        }

        this.unfilteredApps = apps;
        this.apps = filteredApps.toArray(new RemoteAnimationTargetCompat[filteredApps.size()]);
        this.targetMode = targetMode;
        this.hasRecents = hasRecents;
    }

    public RemoteAnimationTargetCompat findTask(int taskId) {