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

Commit ea29adfb authored by András Klöczl's avatar András Klöczl Committed by Android (Google) Code Review
Browse files

Merge "Launcher home currentpage refactoring" into sc-dev

parents 199c469e 7a1ca0b2
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -926,8 +926,7 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
        if (disallowIntercept) {
            // We need to make sure to cancel our long press if
            // a scrollable widget takes over touch events
            final View currentPage = getPageAt(mCurrentPage);
            currentPage.cancelLongPress();
            cancelCurrentPageLongPress();
        }
        super.requestDisallowInterceptTouchEvent(disallowIntercept);
    }
+19 −8
Original line number Diff line number Diff line
@@ -78,7 +78,6 @@ import com.android.launcher3.PagedView;
import com.android.launcher3.R;
import com.android.launcher3.ShortcutAndWidgetContainer;
import com.android.launcher3.Utilities;
import com.android.launcher3.Workspace;
import com.android.launcher3.Workspace.ItemOperator;
import com.android.launcher3.accessibility.AccessibleDragListenerAdapter;
import com.android.launcher3.accessibility.FolderAccessibilityHelper;
@@ -534,9 +533,25 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo
    }

    private void startAnimation(final AnimatorSet a) {
        final Workspace workspace = mLauncher.getWorkspace();
        final CellLayout currentCellLayout =
                (CellLayout) workspace.getChildAt(workspace.getCurrentPage());
        mLauncher.getWorkspace().getVisiblePages()
                .forEach(visiblePage -> addAnimatorListenerForPage(a, (CellLayout) visiblePage));

        a.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationStart(Animator animation) {
                mState = STATE_ANIMATING;
                mCurrentAnimator = a;
            }

            @Override
            public void onAnimationEnd(Animator animation) {
                mCurrentAnimator = null;
            }
        });
        a.start();
    }

    private void addAnimatorListenerForPage(AnimatorSet a, CellLayout currentCellLayout) {
        final boolean useHardware = shouldUseHardwareLayerForAnimation(currentCellLayout);
        final boolean wasHardwareAccelerated = currentCellLayout.isHardwareLayerEnabled();

@@ -546,8 +561,6 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo
                if (useHardware) {
                    currentCellLayout.enableHardwareLayer(true);
                }
                mState = STATE_ANIMATING;
                mCurrentAnimator = a;
            }

            @Override
@@ -555,10 +568,8 @@ public class Folder extends AbstractFloatingView implements ClipPathView, DragSo
                if (useHardware) {
                    currentCellLayout.enableHardwareLayer(wasHardwareAccelerated);
                }
                mCurrentAnimator = null;
            }
        });
        a.start();
    }

    private boolean shouldUseHardwareLayerForAnimation(CellLayout currentCellLayout) {