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

Commit 7d09c01d authored by Bryce Lee's avatar Bryce Lee Committed by Android (Google) Code Review
Browse files

Merge "Ensure activity stacks have unique ids."

parents 9e332899 d9cce2ca
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -65,6 +65,12 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> {
    static final int POSITION_TOP = Integer.MAX_VALUE;
    static final int POSITION_BOTTOM = Integer.MIN_VALUE;


    /**
     * Counter for next free stack ID to use for dynamic activity stacks. Unique across displays.
     */
    private static int sNextFreeStackId = 0;

    private ActivityStackSupervisor mSupervisor;
    /** Actual Display this object tracks. */
    int mDisplayId;
@@ -231,6 +237,10 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> {
        return getOrCreateStack(windowingMode, activityType, onTop);
    }

    private int getNextStackId() {
        return sNextFreeStackId++;
    }

    /**
     * Creates a stack matching the input windowing mode and activity type on this display.
     * @param windowingMode The windowing mode the stack should be created in. If
@@ -278,7 +288,7 @@ class ActivityDisplay extends ConfigurationContainer<ActivityStack> {
            }
        }

        final int stackId = mSupervisor.getNextStackId();
        final int stackId = getNextStackId();
        return createStackUnchecked(windowingMode, activityType, stackId, onTop);
    }

+0 −13
Original line number Diff line number Diff line
@@ -298,9 +298,6 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D

    private LaunchingBoundsController mLaunchingBoundsController;

    /** Counter for next free stack ID to use for dynamic activity stacks. */
    private int mNextFreeStackId = 0;

    /**
     * Maps the task identifier that activities are currently being started in to the userId of the
     * task. Each time a new task is created, the entry for the userId of the task is incremented
@@ -2904,16 +2901,6 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
        }
    }

    int getNextStackId() {
        while (true) {
            if (getStack(mNextFreeStackId) == null) {
                break;
            }
            mNextFreeStackId++;
        }
        return mNextFreeStackId;
    }

    /**
     * Called to restore the state of the task into the stack that it's supposed to go into.
     *