From 921da74c649084e5adec8b1c1ada7f20da517597 Mon Sep 17 00:00:00 2001 From: Tony Date: Fri, 17 May 2019 18:04:53 -0400 Subject: [PATCH] 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 --- .../quickstep/WindowTransformSwipeHandler.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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 f2260d6694..c647bb0911 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 @@ public class WindowTransformSwipeHandler 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); } }