Fixing crash when enforcing top stack.

- When updating the stack list, the insert index should take the
  always-on-top stacks when calculating the stack index to insert into.

Test: android.server.cts.ActivityManagerAssistantStackTests
Change-Id: I30aee7395a12c983fe9b778ef57dea9f76008dde
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 2ae815e30..42efe0b 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -4654,14 +4654,10 @@
             mDisplayId = display.getDisplayId();
         }
 
-        void attachStack(ActivityStack stack, boolean onTop) {
+        void attachStack(ActivityStack stack, int position) {
             if (DEBUG_STACK) Slog.v(TAG_STACK, "attachStack: attaching " + stack
-                    + " to displayId=" + mDisplayId + " onTop=" + onTop);
-            if (onTop) {
-                mStacks.add(stack);
-            } else {
-                mStacks.add(0, stack);
-            }
+                    + " to displayId=" + mDisplayId + " position=" + position);
+            mStacks.add(position, stack);
         }
 
         void detachStack(ActivityStack stack) {