From d18304ca1538b215fdff143729be6004d25bbe53 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Wed, 15 Jun 2022 14:06:59 -0700 Subject: [PATCH] Close all open views for 1P and 3P launchers * Previously TaskView was closing task menu view, but that got removed since launcher was doing that on state transition. * Only 1P launcher was doing that and not 3P launcher, moved call to remove open views to parent class Test: Invoking split on 3P launcher doesn't result in a crash Bug: 199342537 Change-Id: I6afbe7640ede362a677e15a33409a7cabdb8cca9 --- .../src/com/android/quickstep/fallback/RecentsState.java | 3 ++- src/com/android/launcher3/Launcher.java | 4 ---- .../android/launcher3/statemanager/StatefulActivity.java | 6 ++++++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/quickstep/src/com/android/quickstep/fallback/RecentsState.java b/quickstep/src/com/android/quickstep/fallback/RecentsState.java index 77db6b79f4..af9d0cbb7a 100644 --- a/quickstep/src/com/android/quickstep/fallback/RecentsState.java +++ b/quickstep/src/com/android/quickstep/fallback/RecentsState.java @@ -15,6 +15,7 @@ */ package com.android.quickstep.fallback; +import static com.android.launcher3.LauncherState.FLAG_CLOSE_POPUPS; import static com.android.launcher3.uioverrides.states.BackgroundAppState.getOverviewScaleAndOffsetForBackgroundState; import static com.android.launcher3.uioverrides.states.OverviewModalTaskState.getOverviewScaleAndOffsetForModalState; @@ -52,7 +53,7 @@ public class RecentsState implements BaseState { public static final RecentsState HOME = new RecentsState(3, 0); public static final RecentsState BG_LAUNCHER = new LauncherState(4, 0); public static final RecentsState OVERVIEW_SPLIT_SELECT = new RecentsState(5, - FLAG_SHOW_AS_GRID | FLAG_SCRIM | FLAG_OVERVIEW_UI); + FLAG_SHOW_AS_GRID | FLAG_SCRIM | FLAG_OVERVIEW_UI | FLAG_CLOSE_POPUPS); public final int ordinal; private final int mFlags; diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index ebed31bd54..9a0bb5ccca 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1080,10 +1080,6 @@ public class Launcher extends StatefulActivity } addActivityFlags(ACTIVITY_STATE_TRANSITION_ACTIVE); - if (state.hasFlag(FLAG_CLOSE_POPUPS)) { - AbstractFloatingView.closeAllOpenViews(this, !state.hasFlag(FLAG_NON_INTERACTIVE)); - } - if (state == SPRING_LOADED) { // Prevent any Un/InstallShortcutReceivers from updating the db while we are // not on homescreen diff --git a/src/com/android/launcher3/statemanager/StatefulActivity.java b/src/com/android/launcher3/statemanager/StatefulActivity.java index c554d069f3..2158dea3fe 100644 --- a/src/com/android/launcher3/statemanager/StatefulActivity.java +++ b/src/com/android/launcher3/statemanager/StatefulActivity.java @@ -15,6 +15,7 @@ */ package com.android.launcher3.statemanager; +import static com.android.launcher3.LauncherState.FLAG_CLOSE_POPUPS; import static com.android.launcher3.LauncherState.FLAG_NON_INTERACTIVE; import android.os.Handler; @@ -23,6 +24,7 @@ import android.view.View; import androidx.annotation.CallSuper; +import com.android.launcher3.AbstractFloatingView; import com.android.launcher3.BaseDraggingActivity; import com.android.launcher3.LauncherRootView; import com.android.launcher3.Utilities; @@ -87,6 +89,10 @@ public abstract class StatefulActivity> if (mDeferredResumePending) { handleDeferredResume(); } + + if (state.hasFlag(FLAG_CLOSE_POPUPS)) { + AbstractFloatingView.closeAllOpenViews(this, !state.hasFlag(FLAG_NON_INTERACTIVE)); + } } /**