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

Commit f4206381 authored by Jorge Ruesga's avatar Jorge Ruesga
Browse files

Trebuchet: Fix stack effect



Actually stack effect is broken. Dragging an item from the current page to other fails, because
the page has an alpha value of 0, and the dragged icon falls into a hidden state.

Patchset 2: Fixed the overlap of views of stack effect on tablets

Change-Id: I7c607eee29fbd82542b49d2c6bd50d7554e6d673
Signed-off-by: default avatarJorge Ruesga <jorge@ruesga.com>
parent 73c303e9
Loading
Loading
Loading
Loading
+19 −2
Original line number Diff line number Diff line
@@ -1566,16 +1566,17 @@ public class Workspace extends PagedView
                    // On large screens we need to fade the page as it nears its leftmost position
                    alpha = mLeftScreenAlphaInterpolator.getInterpolation(1 - scrollProgress);
                }

                cl.setTranslationX(translationX);
                cl.setScaleX(scale);
                cl.setScaleY(scale);
                cl.setAlpha(alpha);

                // If the view has 0 alpha, we set it to be invisible so as to prevent
                // it from accepting touches
                // it from accepting touches. Move the view to its original position to
                // prevent overlap between views
                if (alpha <= 0) {
                    cl.setVisibility(INVISIBLE);
                    cl.setTranslationX(0);
                } else if (cl.getVisibility() != VISIBLE) {
                    cl.setVisibility(VISIBLE);
                }
@@ -2231,8 +2232,16 @@ public class Workspace extends PagedView
                if (mTransitionEffect == TransitionEffect.Stack) {
                    if (i <= mCurrentPage) {
                        cl.setVisibility(VISIBLE);
                        cl.setAlpha(1.0f);
                        if (mFadeInAdjacentScreens) {
                            setCellLayoutFadeAdjacent(cl, 0.0f);
                        }
                    } else {
                        cl.setVisibility(INVISIBLE);
                        cl.setAlpha(0.0f);
                        if (mFadeInAdjacentScreens) {
                            setCellLayoutFadeAdjacent(cl, 1.0f);
                        }
                    }
                }

@@ -2294,6 +2303,14 @@ public class Workspace extends PagedView
                cl.setPivotX(cl.getMeasuredWidth() * 0.5f);
                cl.setPivotY(cl.getMeasuredHeight() * 0.5f);
                cl.setVisibility(VISIBLE);

                // Stack Effect
                if (mTransitionEffect == TransitionEffect.Stack) {
                    cl.setAlpha(1.0f);
                    if (mFadeInAdjacentScreens) {
                        setCellLayoutFadeAdjacent(cl, 0.0f);
                    }
                }
            }

            // Determine the pages alpha during the state transition