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

Commit a4edc07e authored by Tracy Zhou's avatar Tracy Zhou
Browse files

Refine when to move live tile app below recents view

- We will still need to figure out why, but currently the overview scrim blocks the cut out during transition. To go around this, we need to move live tile app after the overview transition animation is over
- Some of the logic in RecentsView is no longer necessary since we are no longer reusing live tile params and simulator, but assign new targets each time

Fixes: 205587164
Test: manual
Change-Id: Icadf26182112bba544a4103b626effa37d4028b5
parent b797ca77
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@
package com.android.quickstep.fallback;
package com.android.quickstep.fallback;


import static com.android.quickstep.GestureState.GestureEndTarget.RECENTS;
import static com.android.quickstep.GestureState.GestureEndTarget.RECENTS;
import static com.android.quickstep.ViewUtils.postFrameDrawn;
import static com.android.quickstep.fallback.RecentsState.DEFAULT;
import static com.android.quickstep.fallback.RecentsState.DEFAULT;
import static com.android.quickstep.fallback.RecentsState.HOME;
import static com.android.quickstep.fallback.RecentsState.HOME;
import static com.android.quickstep.fallback.RecentsState.MODAL_TASK;
import static com.android.quickstep.fallback.RecentsState.MODAL_TASK;
@@ -218,8 +219,14 @@ public class FallbackRecentsView extends RecentsView<RecentsActivity, RecentsSta


    @Override
    @Override
    public void onStateTransitionComplete(RecentsState finalState) {
    public void onStateTransitionComplete(RecentsState finalState) {
        setOverlayEnabled(finalState == DEFAULT || finalState == MODAL_TASK);
        boolean isOverlayEnabled = finalState == DEFAULT || finalState == MODAL_TASK;
        setOverlayEnabled(isOverlayEnabled);
        setFreezeViewVisibility(false);
        setFreezeViewVisibility(false);

        if (isOverlayEnabled) {
            postFrameDrawn(this, () -> runActionOnRemoteHandles(remoteTargetHandle ->
                    remoteTargetHandle.getTaskViewSimulator().setDrawsBelowRecents(true)));
        }
    }
    }


    @Override
    @Override
+8 −1
Original line number Original line Diff line number Diff line
@@ -21,6 +21,7 @@ import static com.android.launcher3.LauncherState.OVERVIEW;
import static com.android.launcher3.LauncherState.OVERVIEW_MODAL_TASK;
import static com.android.launcher3.LauncherState.OVERVIEW_MODAL_TASK;
import static com.android.launcher3.LauncherState.OVERVIEW_SPLIT_SELECT;
import static com.android.launcher3.LauncherState.OVERVIEW_SPLIT_SELECT;
import static com.android.launcher3.LauncherState.SPRING_LOADED;
import static com.android.launcher3.LauncherState.SPRING_LOADED;
import static com.android.quickstep.ViewUtils.postFrameDrawn;


import android.annotation.TargetApi;
import android.annotation.TargetApi;
import android.content.Context;
import android.content.Context;
@@ -104,8 +105,14 @@ public class LauncherRecentsView extends RecentsView<BaseQuickstepLauncher, Laun


    @Override
    @Override
    public void onStateTransitionComplete(LauncherState finalState) {
    public void onStateTransitionComplete(LauncherState finalState) {
        setOverlayEnabled(finalState == OVERVIEW || finalState == OVERVIEW_MODAL_TASK);
        boolean isOverlayEnabled = finalState == OVERVIEW || finalState == OVERVIEW_MODAL_TASK;
        setOverlayEnabled(isOverlayEnabled);
        setFreezeViewVisibility(false);
        setFreezeViewVisibility(false);

        if (isOverlayEnabled) {
            postFrameDrawn(this, () -> runActionOnRemoteHandles(remoteTargetHandle ->
                    remoteTargetHandle.getTaskViewSimulator().setDrawsBelowRecents(true)));
        }
    }
    }


    @Override
    @Override
+1 −13
Original line number Original line Diff line number Diff line
@@ -1506,17 +1506,6 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
            }
            }
        }
        }
        if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
        if (ENABLE_QUICKSTEP_LIVE_TILE.get()) {
            // Since we reuse the same mLiveTileTaskViewSimulator in the RecentsView, we need
            // to reset the params after it settles in Overview from swipe up so that we don't
            // render with obsolete param values.
            runActionOnRemoteHandles(remoteTargetHandle -> {
                TaskViewSimulator simulator = remoteTargetHandle.getTaskViewSimulator();
                simulator.taskPrimaryTranslation.value = 0;
                simulator.taskSecondaryTranslation.value = 0;
                simulator.fullScreenProgress.value = 0;
                simulator.recentsViewScale.value = 1;
            });

            // Similar to setRunningTaskHidden below, reapply the state before runningTaskView is
            // Similar to setRunningTaskHidden below, reapply the state before runningTaskView is
            // null.
            // null.
            if (!mRunningTaskShowScreenshot) {
            if (!mRunningTaskShowScreenshot) {
@@ -1904,7 +1893,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
        setEnableDrawingLiveTile(false);
        setEnableDrawingLiveTile(false);
        runActionOnRemoteHandles(remoteTargetHandle -> {
        runActionOnRemoteHandles(remoteTargetHandle -> {
            remoteTargetHandle.getTransformParams().setTargetSet(null);
            remoteTargetHandle.getTransformParams().setTargetSet(null);
            remoteTargetHandle.getTaskViewSimulator().setDrawsBelowRecents(true);
            remoteTargetHandle.getTaskViewSimulator().setDrawsBelowRecents(false);
        });
        });
        mSplitSelectStateController.resetState();
        mSplitSelectStateController.resetState();


@@ -4387,7 +4376,6 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
            TaskViewSimulator tvs = remoteTargetHandle.getTaskViewSimulator();
            TaskViewSimulator tvs = remoteTargetHandle.getTaskViewSimulator();
            tvs.setOrientationState(mOrientationState);
            tvs.setOrientationState(mOrientationState);
            tvs.setDp(mActivity.getDeviceProfile());
            tvs.setDp(mActivity.getDeviceProfile());
            tvs.setDrawsBelowRecents(true);
            tvs.recentsViewScale.value = 1;
            tvs.recentsViewScale.value = 1;
        }
        }
    }
    }
+0 −14
Original line number Original line Diff line number Diff line
@@ -647,22 +647,8 @@ public class TaskView extends FrameLayout implements Reusable {
                    mActivity.getStateManager(), recentsView,
                    mActivity.getStateManager(), recentsView,
                    recentsView.getDepthController());
                    recentsView.getDepthController());
            anim.addListener(new AnimatorListenerAdapter() {
            anim.addListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationStart(Animator animator) {
                    recentsView.runActionOnRemoteHandles(
                            (Consumer<RemoteTargetHandle>) remoteTargetHandle ->
                                    remoteTargetHandle
                                            .getTaskViewSimulator()
                                            .setDrawsBelowRecents(false));
                }

                @Override
                @Override
                public void onAnimationEnd(Animator animator) {
                public void onAnimationEnd(Animator animator) {
                    recentsView.runActionOnRemoteHandles(
                            (Consumer<RemoteTargetHandle>) remoteTargetHandle ->
                                    remoteTargetHandle
                                            .getTaskViewSimulator()
                                            .setDrawsBelowRecents(true));
                    mIsClickableAsLiveTile = true;
                    mIsClickableAsLiveTile = true;
                }
                }
            });
            });