Fix janky Alt+Tab through overview animation

Flag: not needed
Fixes: 282172884
Test: used alt+tab in overview; also launched overview through keyboard quick switch view
Change-Id: I3d1e54cda317ee8f8d2b2d698480cd3ca01dfc85
This commit is contained in:
Schneider Victor-tulias
2023-10-10 11:16:54 -04:00
parent 5bec1164b9
commit bdae57c157
2 changed files with 14 additions and 1 deletions

View File

@@ -5975,6 +5975,13 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
dispatchScrollChanged();
}
@Override
protected boolean shouldHandleRequestChildFocus() {
// If we are already scrolling to a task view, then the focus request has already been
// handled
return mScroller.isFinished();
}
private void dispatchScrollChanged() {
runActionOnRemoteHandles(remoteTargetHandle ->
remoteTargetHandle.getTaskViewSimulator().setScroll(getScrollOffset()));

View File

@@ -1573,7 +1573,9 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
@Override
public void requestChildFocus(View child, View focused) {
super.requestChildFocus(child, focused);
if (!shouldHandleRequestChildFocus()) {
return;
}
// In case the device is controlled by a controller, mCurrentPage isn't updated properly
// which results in incorrect navigation
int nextPage = getNextPage();
@@ -1587,6 +1589,10 @@ public abstract class PagedView<T extends View & PageIndicator> extends ViewGrou
}
}
protected boolean shouldHandleRequestChildFocus() {
return true;
}
public int getDestinationPage() {
return getDestinationPage(mOrientationHandler.getPrimaryScroll(this));
}