Animate clear all button's alpha after last task has scrolled beyond its edge.

Test: manual
Fix: 208879377
Change-Id: Iad43abbe36d11317869a0c5aa6a8d59fd1fddb67
This commit is contained in:
Pat Manning
2022-04-04 16:08:52 +01:00
parent 4349d21246
commit 29fbab4ddd
2 changed files with 10 additions and 6 deletions
@@ -141,7 +141,10 @@ public class ClearAllButton extends Button {
}
applyPrimaryTranslation();
applySecondaryTranslation();
mScrollAlpha = 1 - shift / orientationSize;
float clearAllSpacing =
recentsView.getPageSpacing() + recentsView.getClearAllExtraPageSpacing();
clearAllSpacing = mIsRtl ? -clearAllSpacing : clearAllSpacing;
mScrollAlpha = Math.max((clearAllScroll + clearAllSpacing - scroll) / clearAllSpacing, 0);
updateAlpha();
}
@@ -1289,10 +1289,11 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
return;
}
TaskView taskView = getTaskViewAt(mNextPage);
// Only snap to fully visible focused task.
if (taskView == null
|| !taskView.isFocusedTask()
|| !isTaskViewFullyVisible(taskView)) {
// Snap to fully visible focused task and clear all button.
boolean shouldSnapToFocusedTask = taskView != null && taskView.isFocusedTask()
&& isTaskViewFullyVisible(taskView);
boolean shouldSnapToClearAll = mNextPage == indexOfChild(mClearAllButton);
if (!shouldSnapToFocusedTask && !shouldSnapToClearAll) {
return;
}
}
@@ -4535,7 +4536,7 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
? getClearAllExtraPageSpacing() : 0;
}
private int getClearAllExtraPageSpacing() {
protected int getClearAllExtraPageSpacing() {
return showAsGrid()
? Math.max(mActivity.getDeviceProfile().overviewGridSideMargin - mPageSpacing, 0)
: 0;