Reset state after split launch animation finishes
Previously we were clearing SplitSelectStateController
state too soon for fake landscape case where
as soon as the tasks launch the device does a rotation
animation since the new split tasks are in landscape.
Move restting state after animation finishes.
Fixes: 201980666
Change-Id: I23efd59fad444c47ae6c2048888a8570f22610fd
diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java
index e9a695d..1dae2c8 100644
--- a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java
+++ b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java
@@ -163,10 +163,8 @@
if (mSuccessCallback != null) {
mSuccessCallback.accept(true);
}
+ resetState();
}));
-
- // After successful launch, call resetState
- resetState();
}
@Override
@@ -175,9 +173,8 @@
if (mSuccessCallback != null) {
mSuccessCallback.accept(false);
}
+ resetState();
});
-
- resetState();
}
}
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index e1a3895..e9c669b 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -3918,7 +3918,6 @@
/** TODO(b/181707736) More gracefully handle exiting split selection state */
private void resetFromSplitSelectionState() {
- mSplitHiddenTaskView.setTranslationY(0);
if (!showAsGrid()) {
int pageToSnapTo = mCurrentPage;
if (mSplitHiddenTaskViewIndex <= pageToSnapTo) {
@@ -3930,9 +3929,12 @@
}
onLayout(false /* changed */, getLeft(), getTop(), getRight(), getBottom());
resetTaskVisuals();
- mSplitHiddenTaskView.setVisibility(VISIBLE);
- mSplitHiddenTaskView = null;
mSplitHiddenTaskViewIndex = -1;
+ if (mSplitHiddenTaskView != null) {
+ mSplitHiddenTaskView.setTranslationY(0);
+ mSplitHiddenTaskView.setVisibility(VISIBLE);
+ mSplitHiddenTaskView = null;
+ }
if (mFirstFloatingTaskView != null) {
mActivity.getRootView().removeView(mFirstFloatingTaskView);
mFirstFloatingTaskView = null;