Page resets when scrolling slowly fix

Fix: 324071635
Flag: NONE
Test: Verified manually on RTL and non-RTL
Change-Id: Id778a0a01505d30bca4f216322f3ef3b951e63a7
(cherry picked from commit cae498032f)
This commit is contained in:
fbaron
2024-03-05 10:03:39 -08:00
committed by Federico Baron
parent d2f256f179
commit a7825a70e8
+4 -2
View File
@@ -826,7 +826,9 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
// or right edge for RTL.
final int pageScroll =
mIsRtl ? childPrimaryEnd - scrollOffsetEnd : childStart - scrollOffsetStart;
if (outPageScrolls[i] != pageScroll) {
// If there's more than one panel, only update scroll on leftmost panel.
if (outPageScrolls[i] != pageScroll
&& (panelCount <= 1 || i == getLeftmostVisiblePageForIndex(i))) {
pageScrollChanged = true;
outPageScrolls[i] = pageScroll;
}
@@ -842,7 +844,7 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
if (panelCount > 1) {
for (int i = 0; i < childCount; i++) {
// In case we have multiple panels, always use left most panel's page scroll for all
// In case we have multiple panels, always use leftmost panel's page scroll for all
// panels on the screen.
int adjustedScroll = outPageScrolls[getLeftmostVisiblePageForIndex(i)];
if (outPageScrolls[i] != adjustedScroll) {