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

Commit b3b8059b authored by Alex Chau's avatar Alex Chau
Browse files

Only return true in getPageScrolls if it actually changes

- This fixes unwanted setCurrentPage in PagedView.onLayout which is based on whether getPageScrolls return true, which cause RecentsView to scroll unnecessarily

Fixes: 186092823
Test: Manual
Change-Id: Ifa5d3b2918cc1876ac15834ce72b88ffc377f114
parent 3ee18bf5
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -3141,8 +3141,8 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
    @Override
    protected boolean getPageScrolls(int[] outPageScrolls, boolean layoutChildren,
            ComputePageScrollsLogic scrollLogic) {
        boolean pageScrollChanged = super.getPageScrolls(outPageScrolls, layoutChildren,
                scrollLogic);
        int[] newPageScrolls = new int[outPageScrolls.length];
        super.getPageScrolls(newPageScrolls, layoutChildren, scrollLogic);
        boolean showAsFullscreen = showAsFullscreen();
        boolean showAsGrid = showAsGrid();

@@ -3154,6 +3154,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
            mClearAllButton.setScrollOffsetPrimary(mIsRtl ? clearAllWidthDiff : -clearAllWidthDiff);
        }

        boolean pageScrollChanged = false;
        final int childCount = getChildCount();
        for (int i = 0; i < childCount; i++) {
            View child = getChildAt(i);
@@ -3165,9 +3166,10 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
                        showAsGrid);
            }

            if (scrollDiff != 0) {
                outPageScrolls[i] += scrollDiff;
            final int pageScroll = newPageScrolls[i] + (int) scrollDiff;
            if (outPageScrolls[i] != pageScroll) {
                pageScrollChanged = true;
                outPageScrolls[i] = pageScroll;
            }
        }
        return pageScrollChanged;