Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d18304ca authored by Vinit Nayak's avatar Vinit Nayak
Browse files

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
parent b751033f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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<RecentsState> {
    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;
+0 −4
Original line number Diff line number Diff line
@@ -1080,10 +1080,6 @@ public class Launcher extends StatefulActivity<LauncherState>
        }
        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
+6 −0
Original line number Diff line number Diff line
@@ -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<STATE_TYPE extends BaseState<STATE_TYPE>>
        if (mDeferredResumePending) {
            handleDeferredResume();
        }

        if (state.hasFlag(FLAG_CLOSE_POPUPS)) {
            AbstractFloatingView.closeAllOpenViews(this, !state.hasFlag(FLAG_NON_INTERACTIVE));
        }
    }

    /**