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

Commit bb937b25 authored by Luca Zuccarini's avatar Luca Zuccarini Committed by Android (Google) Code Review
Browse files

Merge "Introduce a new Home animation for workspace and the outgoing task." into main

parents 57645421 c9cbc9d5
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -90,6 +90,9 @@ flag {
    namespace: "launcher"
    description: "Enables full width two pane widget picker for tablets in landscape and portrait"
    bug: "315055849"
    metadata {
      purpose: PURPOSE_BUGFIX
    }
}

flag {
@@ -175,9 +178,6 @@ flag {
  namespace: "launcher"
  description: "When adding app widget through config activity, directly add it to workspace to reduce flicker"
  bug: "284236964"
  metadata {
    purpose: PURPOSE_BUGFIX
  }
}

flag {
@@ -206,3 +206,10 @@ flag {
      purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "enable_scaling_reveal_home_animation"
    namespace: "launcher"
    description: "Enables the Home gesture animation"
    bug: "308801666"
}
+11 −1
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import static com.android.launcher3.BaseActivity.INVISIBLE_ALL;
import static com.android.launcher3.BaseActivity.INVISIBLE_BY_APP_TRANSITIONS;
import static com.android.launcher3.BaseActivity.INVISIBLE_BY_PENDING_FLAGS;
import static com.android.launcher3.BaseActivity.PENDING_INVISIBLE_BY_WALLPAPER_ANIMATION;
import static com.android.launcher3.Flags.enableScalingRevealHomeAnimation;
import static com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY;
import static com.android.launcher3.LauncherAnimUtils.VIEW_BACKGROUND_COLOR;
import static com.android.launcher3.LauncherState.ALL_APPS;
@@ -215,7 +216,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
    public static final int TASKBAR_TO_APP_DURATION = 600;
    // TODO(b/236145847): Tune TASKBAR_TO_HOME_DURATION to 383 after conflict with unlock animation
    // is solved.
    public static final int TASKBAR_TO_HOME_DURATION = 300;
    private static final int TASKBAR_TO_HOME_DURATION_FAST = 300;
    private static final int TASKBAR_TO_HOME_DURATION_SLOW = 1000;
    protected static final int CONTENT_SCALE_DURATION = 350;
    protected static final int CONTENT_SCRIM_DURATION = 350;

@@ -1704,6 +1706,14 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
        return new Pair(rectFSpringAnim, anim);
    }

    public static int getTaskbarToHomeDuration() {
        if (enableScalingRevealHomeAnimation()) {
            return TASKBAR_TO_HOME_DURATION_SLOW;
        } else {
            return TASKBAR_TO_HOME_DURATION_FAST;
        }
    }

    /**
     * Remote animation runner for animation from the app to Launcher, including recents.
     */
+1 −1
Original line number Diff line number Diff line
@@ -191,7 +191,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
                        ? TRANSIENT_TASKBAR_TRANSITION_DURATION
                        : (!isVisible
                                ? QuickstepTransitionManager.TASKBAR_TO_APP_DURATION
                                : QuickstepTransitionManager.TASKBAR_TO_HOME_DURATION));
                                : QuickstepTransitionManager.getTaskbarToHomeDuration()));
    }

    @Nullable
+1 −1
Original line number Diff line number Diff line
@@ -193,7 +193,7 @@ public class TaskbarLauncherStateController {
                    updateStateForFlag(FLAG_LAUNCHER_IN_STATE_TRANSITION, true);
                    if (!mShouldDelayLauncherStateAnim) {
                        if (toState == LauncherState.NORMAL) {
                            applyState(QuickstepTransitionManager.TASKBAR_TO_HOME_DURATION);
                            applyState(QuickstepTransitionManager.getTaskbarToHomeDuration());
                        } else {
                            applyState();
                        }
+10 −2
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
package com.android.launcher3.uioverrides.states;

import static com.android.app.animation.Interpolators.DECELERATE_2;
import static com.android.launcher3.Flags.enableScalingRevealHomeAnimation;
import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_ALLAPPS;

import android.content.Context;
@@ -28,6 +29,7 @@ import com.android.launcher3.R;
import com.android.launcher3.config.FeatureFlags;
import com.android.launcher3.util.Themes;
import com.android.launcher3.views.ActivityContext;
import com.android.quickstep.util.BaseDepthController;
import com.android.systemui.shared.system.InteractionJankMonitorWrapper;

/**
@@ -105,10 +107,16 @@ public class AllAppsState extends LauncherState {
            return context.getDeviceProfile().bottomSheetDepth;
        } else {
            // The scrim fades in at approximately 50% of the swipe gesture.
            if (enableScalingRevealHomeAnimation()) {
                // This means that the depth should be twice of what we want, in order to fully zoom
                // out during the visible portion of the animation.
                return BaseDepthController.DEPTH_60_PERCENT;
            } else {
                // This means that the depth should be greater than 1, in order to fully zoom out.
                return 2f;
            }
        }
    }

    @Override
    public PageAlphaProvider getWorkspacePageAlphaProvider(Launcher launcher) {
Loading