From b4b79142d8fd5200191039138ac28617807a090d Mon Sep 17 00:00:00 2001 From: Jeremy Sim Date: Mon, 7 Mar 2022 15:45:40 -0800 Subject: [PATCH] Fix UI overlap when rotating in split select mode Fixes an issue where you could trigger a UI overlap by rotating the phone during split select. The issue occurred because devices with insets were calling TaskView#resetViewTransforms during rotation, and not accounting for the fact that an extra transform was applied for split staging. Fixes: 220998096 Test: Manual test on inset and non-inset devices Change-Id: I2d6c969231127aa16c9eae39cf69e08ceb96c44b (cherry picked from commit 51bfabf8b796c88d5053ef1a658a29d4037d13e4) --- quickstep/src/com/android/quickstep/views/TaskView.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index 1d621dc740..bf817ec6c4 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -1008,8 +1008,11 @@ public class TaskView extends FrameLayout implements Reusable { // resetViewTransforms is called during Quickswitch scrolling. mDismissTranslationX = mTaskOffsetTranslationX = mTaskResistanceTranslationX = mSplitSelectTranslationX = mGridEndTranslationX = 0f; - mDismissTranslationY = mTaskOffsetTranslationY = mTaskResistanceTranslationY = - mSplitSelectTranslationY = 0f; + mDismissTranslationY = mTaskOffsetTranslationY = mTaskResistanceTranslationY = 0f; + if (getRecentsView() == null || !getRecentsView().isSplitSelectionActive()) { + mSplitSelectTranslationY = 0f; + } + setSnapshotScale(1f); applyTranslationX(); applyTranslationY();