Continue using window's sysui flags if task thumbnail unavailable
If the centermost task is null or doesn't yet have thumbnail data,
don't use its sysui flags - continue using the window we're swiping
from instead.
Bug: 132898688
Change-Id: I202937d8aa01ee24ef01693d9594c4929e6bd314
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java
index f2260d6..c647bb0 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/WindowTransformSwipeHandler.java
@@ -706,12 +706,15 @@
private void updateSysUiFlags(float windowProgress) {
if (mRecentsView != null) {
+ TaskView centermostTask = mRecentsView.getTaskViewAt(mRecentsView
+ .getPageNearestToCenterOfScreen());
+ int centermostTaskFlags = centermostTask == null ? 0
+ : centermostTask.getThumbnail().getSysUiStatusNavFlags();
+ boolean useHomeScreenFlags = windowProgress > 1 - UPDATE_SYSUI_FLAGS_THRESHOLD;
// We will handle the sysui flags based on the centermost task view.
- mRecentsAnimationWrapper.setWindowThresholdCrossed(true);
- int sysuiFlags = windowProgress > 1 - UPDATE_SYSUI_FLAGS_THRESHOLD
- ? 0
- : mRecentsView.getTaskViewAt(mRecentsView.getPageNearestToCenterOfScreen())
- .getThumbnail().getSysUiStatusNavFlags();
+ mRecentsAnimationWrapper.setWindowThresholdCrossed(centermostTaskFlags != 0
+ || useHomeScreenFlags);
+ int sysuiFlags = useHomeScreenFlags ? 0 : centermostTaskFlags;
mActivity.getSystemUiController().updateUiState(UI_STATE_OVERVIEW, sysuiFlags);
}
}