From 4b9ae54e1c165bfbef5d3ead0cb3cc99b74b8a14 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Mon, 29 Jul 2024 16:28:04 -0700 Subject: [PATCH] Call FallbackRecentsView#init() before setContentView() * Init sets mSplitSelectStateController which RecentsView then uses in onAttachedToWindow(). That needs to be set before it gets attached to the window, which happens in RecentsActivity#setContentView() Fixes: 332643607 Test: Only presubmit, issue not reproducible Flag: EXEMPT bugfix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:aeecb1e8a5cabe9fc58af69f7b47764a96a08d76) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:eac1d34438209f266212b1bbe8c9704c2947dbcd) Merged-In: Icc555cad17b734e2a9c035991c19bbdc6b02de5d Change-Id: Icc555cad17b734e2a9c035991c19bbdc6b02de5d --- .../android/quickstep/RecentsActivity.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/quickstep/src/com/android/quickstep/RecentsActivity.java b/quickstep/src/com/android/quickstep/RecentsActivity.java index 18461a6440..d7f7a0748b 100644 --- a/quickstep/src/com/android/quickstep/RecentsActivity.java +++ b/quickstep/src/com/android/quickstep/RecentsActivity.java @@ -57,6 +57,7 @@ import com.android.launcher3.InvariantDeviceProfile; import com.android.launcher3.LauncherAnimationRunner; import com.android.launcher3.LauncherAnimationRunner.AnimationResult; import com.android.launcher3.LauncherAnimationRunner.RemoteAnimationFactory; +import com.android.launcher3.LauncherRootView; import com.android.launcher3.R; import com.android.launcher3.anim.AnimatorPlaybackController; import com.android.launcher3.anim.PendingAnimation; @@ -139,14 +140,14 @@ public final class RecentsActivity extends StatefulActivity implem null /* depthController */, getStatsLogManager(), systemUiProxy, RecentsModel.INSTANCE.get(this), null /*activityBackCallback*/); + // Setup root and child views inflateRootView(R.layout.fallback_recents_activity); - setContentView(getRootView()); - mDragLayer = findViewById(R.id.drag_layer); - mScrimView = findViewById(R.id.scrim_view); - mFallbackRecentsView = findViewById(R.id.overview_panel); - mActionsView = findViewById(R.id.overview_actions_view); - getRootView().getSysUiScrim().getSysUIProgress().updateValue(0); - mDragLayer.recreateControllers(); + LauncherRootView rootView = getRootView(); + mDragLayer = rootView.findViewById(R.id.drag_layer); + mScrimView = rootView.findViewById(R.id.scrim_view); + mFallbackRecentsView = rootView.findViewById(R.id.overview_panel); + mActionsView = rootView.findViewById(R.id.overview_actions_view); + if (enableDesktopWindowingMode()) { mDesktopRecentsTransitionController = new DesktopRecentsTransitionController( getStateManager(), systemUiProxy, getIApplicationThread(), @@ -156,6 +157,10 @@ public final class RecentsActivity extends StatefulActivity implem mFallbackRecentsView.init(mActionsView, mSplitSelectStateController, mDesktopRecentsTransitionController); + setContentView(rootView); + rootView.getSysUiScrim().getSysUIProgress().updateValue(0); + mDragLayer.recreateControllers(); + mTISBindHelper = new TISBindHelper(this, this::onTISConnected); }