Complete removal of Task from DisplayContent.

Moved Tasks into TaskStacks.

Change-Id: I3478dab4eab3a68d4d71a7a5bb2e65ba2394f2d7
diff --git a/services/java/com/android/server/wm/DisplayContent.java b/services/java/com/android/server/wm/DisplayContent.java
index 548f8b9..0cd3136 100644
--- a/services/java/com/android/server/wm/DisplayContent.java
+++ b/services/java/com/android/server/wm/DisplayContent.java
@@ -85,7 +85,7 @@
     /**
      * Sorted most recent at top, oldest at [0].
      */
-    ArrayList<Task> mTasks = new ArrayList<Task>();
+    ArrayList<Task> mTmpTasks = new ArrayList<Task>();
 
     /**
      * @param display May not be null.
@@ -114,7 +114,12 @@
     }
 
     ArrayList<Task> getTasks() {
-        return mTasks;
+        mTmpTasks.clear();
+        int numBoxes = mStackBoxes.size();
+        for (int boxNdx = 0; boxNdx < numBoxes; ++boxNdx) {
+            mTmpTasks.addAll(mStackBoxes.get(boxNdx).getTasks());
+        }
+        return mTmpTasks;
     }
 
     public void updateDisplayInfo() {
@@ -122,9 +127,10 @@
     }
 
     int numTokens() {
+        getTasks();
         int count = 0;
-        for (int taskNdx = mTasks.size() - 1; taskNdx >= 0; --taskNdx) {
-            count += mTasks.get(taskNdx).mAppTokens.size();
+        for (int taskNdx = mTmpTasks.size() - 1; taskNdx >= 0; --taskNdx) {
+            count += mTmpTasks.get(taskNdx).mAppTokens.size();
         }
         return count;
     }
@@ -168,18 +174,6 @@
         return newStack;
     }
 
-    boolean addTaskToStack(Task task, int stackId, boolean toTop) {
-        int stackBoxNdx;
-        for (stackBoxNdx = mStackBoxes.size() - 1; stackBoxNdx >= 0; --stackBoxNdx) {
-            final StackBox box = mStackBoxes.get(stackBoxNdx);
-            if (box.addTaskToStack(task, stackId, toTop)) {
-                layoutNeeded = true;
-                break;
-            }
-        }
-        return false;
-    }
-
     boolean resizeStack(int stackId, float weight) {
         int stackBoxNdx;
         for (stackBoxNdx = mStackBoxes.size() - 1; stackBoxNdx >= 0; --stackBoxNdx) {
@@ -219,8 +213,9 @@
             if (ndx > 0) {
                 pw.println();
                 pw.println("  Application tokens in Z order:");
-                for (int taskNdx = mTasks.size() - 1; taskNdx >= 0; --taskNdx) {
-                    AppTokenList tokens = mTasks.get(taskNdx).mAppTokens;
+                getTasks();
+                for (int taskNdx = mTmpTasks.size() - 1; taskNdx >= 0; --taskNdx) {
+                    AppTokenList tokens = mTmpTasks.get(taskNdx).mAppTokens;
                     for (int tokenNdx = tokens.size() - 1; tokenNdx >= 0; --tokenNdx) {
                         final AppWindowToken wtoken = tokens.get(tokenNdx);
                         pw.print("  App #"); pw.print(ndx--);