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

Commit 9903d8bf authored by Craig Mautner's avatar Craig Mautner Committed by Android (Google) Code Review
Browse files

Merge "Separate stacks into Home and others."

parents 8c176b25 9e4f28cf
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ import android.graphics.Rect;
import android.view.Display;
import android.view.DisplayInfo;

import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID;

import java.io.PrintWriter;
import java.util.ArrayList;

@@ -193,6 +195,15 @@ class DisplayContent {
        return false;
    }

    void removeStackBox(StackBox box) {
        final TaskStack stack = box.mStack;
        if (stack != null && stack.mStackId == HOME_STACK_ID) {
            // Never delete the home stack, even if it is empty.
            return;
        }
        mStackBoxes.remove(box);
    }

    /**
     * Reorder a StackBox within mStackBox. The StackBox to reorder is the one containing the
     * specified TaskStack.
+8 −2
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ package com.android.server.wm;

import android.graphics.Rect;

import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID;

import java.io.PrintWriter;
import java.util.ArrayList;

@@ -200,6 +202,10 @@ public class StackBox {
    /** Remove this box and propagate its sibling's content up to their parent.
     * @return The first stackId of the resulting StackBox. */
    int removeStack() {
        if (mParent == null) {
            mDisplayContent.removeStackBox(this);
            return HOME_STACK_ID;
        }
        if (mParent.mFirst == this) {
            mParent.absorb(mParent.mSecond);
        } else {
+6 −26
Original line number Diff line number Diff line
@@ -16,29 +16,9 @@

package com.android.server.wm;

import static android.view.WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW;
import static android.view.WindowManager.LayoutParams.FIRST_SUB_WINDOW;
import static android.view.WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
import static android.view.WindowManager.LayoutParams.FLAG_COMPATIBLE_WINDOW;
import static android.view.WindowManager.LayoutParams.FLAG_DIM_BEHIND;
import static android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
import static android.view.WindowManager.LayoutParams.LAST_APPLICATION_WINDOW;
import static android.view.WindowManager.LayoutParams.LAST_SUB_WINDOW;
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION;
import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_STARTING;
import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION;
import static android.view.WindowManager.LayoutParams.TYPE_BOOT_PROGRESS;
import static android.view.WindowManager.LayoutParams.TYPE_DREAM;
import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD;
import static android.view.WindowManager.LayoutParams.TYPE_INPUT_METHOD_DIALOG;
import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD;
import static android.view.WindowManager.LayoutParams.TYPE_RECENTS_OVERLAY;
import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG;
import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
import static android.view.WindowManager.LayoutParams.TYPE_UNIVERSE_BACKGROUND;
import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
import static android.view.WindowManager.LayoutParams.*;

import static com.android.server.am.ActivityStackSupervisor.HOME_STACK_ID;

import static android.view.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;

@@ -4711,7 +4691,7 @@ public class WindowManagerService extends IWindowManager.Stub
            mStackIdToStack.delete(stackId);
            return stack.remove();
        }
        return -1;
        return HOME_STACK_ID;
    }

    public void moveTaskToStack(int taskId, int stackId, boolean toTop) {
@@ -7708,8 +7688,8 @@ public class WindowManagerService extends IWindowManager.Stub

        i -= lastBelow;
        if (i != numRemoved) {
            Slog.w(TAG, "Rebuild removed " + numRemoved
                    + " windows but added " + i);
            Slog.w(TAG, "Rebuild removed " + numRemoved + " windows but added " + i,
                    new RuntimeException("here").fillInStackTrace());
            for (i=0; i<numRemoved; i++) {
                WindowState ws = mRebuildTmp[i];
                if (ws.mRebuilding) {