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

Commit 9f8ebbe7 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix hotseat translated upwards when dragging from all apps" into ub-launcher3-master

parents 84eb812b 57e489c8
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -187,11 +187,9 @@ public class LauncherState {
        return new float[] {1, 0, 0};
    }

    /**
     * @return Whether we should scale the hotseat as if it were part of the workspace.
     */
    public boolean scaleHotseatWithWorkspace() {
        return true;
    public float[] getHotseatScaleAndTranslation(Launcher launcher) {
        // For most states, treat the hotseat as if it were part of the workspace.
        return getWorkspaceScaleAndTranslation(launcher);
    }

    /**
+16 −16
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ public class WorkspaceStateTransitionAnimation {
    private void setWorkspaceProperty(LauncherState state, PropertySetter propertySetter,
            AnimatorSetBuilder builder, AnimationConfig config) {
        float[] scaleAndTranslation = state.getWorkspaceScaleAndTranslation(mLauncher);
        float[] hotseatScaleAndTranslation = state.getHotseatScaleAndTranslation(mLauncher);
        mNewScale = scaleAndTranslation[0];
        PageAlphaProvider pageAlphaProvider = state.getWorkspacePageAlphaProvider(mLauncher);
        final int childCount = mWorkspace.getChildCount();
@@ -89,7 +90,7 @@ public class WorkspaceStateTransitionAnimation {
            Interpolator scaleInterpolator = builder.getInterpolator(ANIM_WORKSPACE_SCALE, ZOOM_OUT);
            propertySetter.setFloat(mWorkspace, SCALE_PROPERTY, mNewScale, scaleInterpolator);

            if (state.scaleHotseatWithWorkspace()) {
            // Set the hotseat's pivot point to match the workspace's, so that it scales together.
            DragLayer dragLayer = mLauncher.getDragLayer();
            int[] workspacePivot = new int[]{(int) mWorkspace.getPivotX(),
                    (int) mWorkspace.getPivotY()};
@@ -97,8 +98,8 @@ public class WorkspaceStateTransitionAnimation {
            dragLayer.mapCoordInSelfToDescendant(hotseat, workspacePivot);
            hotseat.setPivotX(workspacePivot[0]);
            hotseat.setPivotY(workspacePivot[1]);
                propertySetter.setFloat(hotseat, SCALE_PROPERTY, mNewScale, scaleInterpolator);
            }
            float hotseatScale = hotseatScaleAndTranslation[0];
            propertySetter.setFloat(hotseat, SCALE_PROPERTY, hotseatScale, scaleInterpolator);

            float hotseatIconsAlpha = (elements & HOTSEAT_ICONS) != 0 ? 1 : 0;
            propertySetter.setViewAlpha(hotseat, hotseatIconsAlpha, fadeInterpolator);
@@ -116,12 +117,11 @@ public class WorkspaceStateTransitionAnimation {
                scaleAndTranslation[1], translationInterpolator);
        propertySetter.setFloat(mWorkspace, View.TRANSLATION_Y,
                scaleAndTranslation[2], translationInterpolator);
        if (state.scaleHotseatWithWorkspace()) {

        propertySetter.setFloat(hotseat, View.TRANSLATION_Y,
                    scaleAndTranslation[2], translationInterpolator);
                hotseatScaleAndTranslation[2], translationInterpolator);
        propertySetter.setFloat(mWorkspace.getPageIndicator(), View.TRANSLATION_Y,
                    scaleAndTranslation[2], translationInterpolator);
        }
                hotseatScaleAndTranslation[2], translationInterpolator);

        // Set scrim
        WorkspaceAndHotseatScrim scrim = mLauncher.getDragLayer().getScrim();
+2 −2
Original line number Diff line number Diff line
@@ -73,8 +73,8 @@ public class SpringLoadedState extends LauncherState {
    }

    @Override
    public boolean scaleHotseatWithWorkspace() {
        return false;
    public float[] getHotseatScaleAndTranslation(Launcher launcher) {
        return new float[] {1, 0, 0};
    }

    @Override