Initialize SplitSelectStateController for 3P before setting content view
* RecentsView#onAttachedToWindow relies on splitSelectStateController
being initialized, so we now do it before RecentsActivity calls
setContentView()
Bug: 332643607
Test: Couldn't repro before or after :(
Flag: EXEMPT bugfix
Change-Id: Ic26460e08ca74adcf6dcf31abc956ad57f4061c2
diff --git a/quickstep/src/com/android/quickstep/RecentsActivity.java b/quickstep/src/com/android/quickstep/RecentsActivity.java
index 13e9844..18461a6 100644
--- a/quickstep/src/com/android/quickstep/RecentsActivity.java
+++ b/quickstep/src/com/android/quickstep/RecentsActivity.java
@@ -132,6 +132,13 @@
* Init drag layer and overview panel views.
*/
protected void setupViews() {
+ SystemUiProxy systemUiProxy = SystemUiProxy.INSTANCE.get(this);
+ // SplitSelectStateController needs to be created before setContentView()
+ mSplitSelectStateController =
+ new SplitSelectStateController(this, mHandler, getStateManager(),
+ null /* depthController */, getStatsLogManager(),
+ systemUiProxy, RecentsModel.INSTANCE.get(this),
+ null /*activityBackCallback*/);
inflateRootView(R.layout.fallback_recents_activity);
setContentView(getRootView());
mDragLayer = findViewById(R.id.drag_layer);
@@ -139,12 +146,6 @@
mFallbackRecentsView = findViewById(R.id.overview_panel);
mActionsView = findViewById(R.id.overview_actions_view);
getRootView().getSysUiScrim().getSysUIProgress().updateValue(0);
- SystemUiProxy systemUiProxy = SystemUiProxy.INSTANCE.get(this);
- mSplitSelectStateController =
- new SplitSelectStateController(this, mHandler, getStateManager(),
- null /* depthController */, getStatsLogManager(),
- systemUiProxy, RecentsModel.INSTANCE.get(this),
- null /*activityBackCallback*/);
mDragLayer.recreateControllers();
if (enableDesktopWindowingMode()) {
mDesktopRecentsTransitionController = new DesktopRecentsTransitionController(