Merge "Handle visibility of AddDesktopButton for overview/quickswitch" into main

This commit is contained in:
Treehugger Robot
2025-03-13 13:13:46 -07:00
committed by Android (Google) Code Review
3 changed files with 32 additions and 1 deletions
@@ -589,6 +589,8 @@ public abstract class RecentsView<
private final TaskOverlayFactory mTaskOverlayFactory;
protected boolean mDisallowScrollToClearAll;
// True if it is not allowed to scroll to [AddDesktopButton].
protected boolean mDisallowScrollToAddDesk;
private boolean mOverlayEnabled;
protected boolean mFreezeViewVisibility;
private boolean mOverviewGridEnabled;
@@ -6240,6 +6242,17 @@ public abstract class RecentsView<
updateMinAndMaxScrollX();
}
}
/**
* Update the value of [mDisallowScrollToAddDesk]
*/
public void setDisallowScrollToAddDesk(boolean disallowScrollToAddDesk) {
if (mDisallowScrollToAddDesk != disallowScrollToAddDesk) {
mDisallowScrollToAddDesk = disallowScrollToAddDesk;
updateMinAndMaxScrollX();
}
}
/**
* Updates page scroll synchronously after measure and layout child views.
@@ -6385,7 +6398,20 @@ public abstract class RecentsView<
if (addDesktopButtonIndex >= 0 && addDesktopButtonIndex < outPageScrolls.length) {
int firstViewIndex = getFirstViewIndex();
if (firstViewIndex >= 0 && firstViewIndex < outPageScrolls.length) {
outPageScrolls[addDesktopButtonIndex] = outPageScrolls[firstViewIndex];
// If we can scroll to [AddDesktopButton], make its page scroll equal to
// the first [TaskView]. Otherwise, make its page scroll out of range of
// [minScroll, maxScroll].
if (!mDisallowScrollToAddDesk) {
outPageScrolls[addDesktopButtonIndex] = outPageScrolls[firstViewIndex];
} else {
outPageScrolls[addDesktopButtonIndex] =
outPageScrolls[firstViewIndex] + (mIsRtl ? 1 : -1);
}
}
if (DEBUG) {
Log.d(TAG, "getPageScrolls - addDesktopButtonScroll: "
+ outPageScrolls[addDesktopButtonIndex]);
}
}
if (DEBUG) {