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

Commit 94d1b4be authored by Tony Wickham's avatar Tony Wickham
Browse files

Fix RecentsView scroll linking

- Reverts change from ag/11900651 that deferred setting
  mRecentsViewScrollLinked = true
- Instead, setCurrentPage(mCurrentPage) after updating layout rotation
  to ensure we recompute page scrolls before using them

Test:
- Auto rotate on, home rotation off, open Calculator in landscape,
  swipe up slowly and ensure it never turns invisible
- Quick switch from Calculator to Clock, start swiping directly up
  immediately after settling on Clock, ensure Calculator window
  remains at its scroll position to the side (b/159461591)

Fixes: 159461591
Change-Id: Iab92963cc6c33df42b77f5ccfa3932382e8f869a
parent 9627bc46
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -121,10 +121,6 @@ public abstract class BaseSwipeUpHandler<T extends StatefulActivity<?>, Q extend
        });

        mRecentsView.setOnScrollChangeListener((v, scrollX, scrollY, oldScrollX, oldScrollY) -> {
            // Wait until the first scroll event before applying scroll to taskViewSimulator.
            // Since, by default the current/running task already centered, this ensures that we
            // do not move the running task, in case RecentsView has not yet laid out completely.
            mRecentsViewScrollLinked = true;
            if (moveWindowWithRecentsScroll()) {
                updateFinalShift();
            }
@@ -132,6 +128,7 @@ public abstract class BaseSwipeUpHandler<T extends StatefulActivity<?>, Q extend
        runOnRecentsAnimationStart(() ->
                mRecentsView.setRecentsAnimationTargets(mRecentsAnimationController,
                        mRecentsAnimationTargets));
        mRecentsViewScrollLinked = true;
    }

    protected void startNewTask(Consumer<Boolean> resultCallback) {
+2 −0
Original line number Diff line number Diff line
@@ -1656,6 +1656,8 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
                    !mOrientationState.canLauncherRotate() && isInLandscape);
            resetPaddingFromTaskSize();
            requestLayout();
            // Reapply the current page to update page scrolls.
            setCurrentPage(mCurrentPage);
        }
    }