Some code clean-up in WindowManager.

- Renamed DisplayContent.findTaskForControlPoint to
DisplayContent.findTaskForResizePoint as it is trying to find a task
from the resize point.
- Renamed DisplayContent.checkForDeferredActions to
DisplayContent.onCompleteDeferredRemoval as the method removes containers
whose removal were deferred.
- Added methods TaskStack.hasMultipleTaskWithHomeTaskNotTop() and
topTaskIsOnTopLauncher()
- And some other minor clean-up relating to me trying to break-up a big CL.

Change-Id: I64d03cbd9ee69bf8fa0013a49283cd434b7c8fbe
diff --git a/services/core/java/com/android/server/wm/AppWindowAnimator.java b/services/core/java/com/android/server/wm/AppWindowAnimator.java
index 93e9559..af68137 100644
--- a/services/core/java/com/android/server/wm/AppWindowAnimator.java
+++ b/services/core/java/com/android/server/wm/AppWindowAnimator.java
@@ -383,8 +383,8 @@
             return false;
         }
 
-        mAnimator.setAppLayoutChanges(this, WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM,
-                "AppWindowToken", displayId);
+        mAppToken.setAppLayoutChanges(
+                WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM, "AppWindowToken", displayId);
 
         clearAnimation();
         animating = false;
@@ -397,8 +397,7 @@
             mService.moveInputMethodWindowsIfNeededLocked(true);
         }
 
-        if (DEBUG_ANIM) Slog.v(TAG,
-                "Animation done in " + mAppToken
+        if (DEBUG_ANIM) Slog.v(TAG, "Animation done in " + mAppToken
                 + ": reportedVisible=" + mAppToken.reportedVisible);
 
         transformation.clear();
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index e7a6747..3a3c017 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -331,7 +331,7 @@
      * Find the task whose outside touch area (for resizing) (x, y) falls within.
      * Returns null if the touch doesn't fall into a resizing area.
      */
-    Task findTaskForControlPoint(int x, int y) {
+    Task findTaskForResizePoint(int x, int y) {
         final int delta = mService.dipToPixel(RESIZE_HANDLE_WIDTH_IN_DP, mDisplayMetrics);
         for (int stackNdx = mStacks.size() - 1; stackNdx >= 0; --stackNdx) {
             TaskStack stack = mStacks.get(stackNdx);
@@ -498,7 +498,7 @@
         return false;
     }
 
-    void checkForDeferredActions() {
+    void onCompleteDeferredRemoval() {
         boolean animating = false;
         for (int stackNdx = mStacks.size() - 1; stackNdx >= 0; --stackNdx) {
             final TaskStack stack = mStacks.get(stackNdx);
diff --git a/services/core/java/com/android/server/wm/DockedStackDividerController.java b/services/core/java/com/android/server/wm/DockedStackDividerController.java
index de8e5ac..0f5b042 100644
--- a/services/core/java/com/android/server/wm/DockedStackDividerController.java
+++ b/services/core/java/com/android/server/wm/DockedStackDividerController.java
@@ -538,15 +538,13 @@
         }
         final TaskStack fullscreenStack
                 = mService.mStackIdToStack.get(FULLSCREEN_WORKSPACE_STACK_ID);
-        final ArrayList<Task> homeStackTasks = homeStack.getTasks();
-        final Task topHomeStackTask = homeStackTasks.get(homeStackTasks.size() - 1);
         final boolean homeVisible = homeTask.getTopVisibleAppToken() != null;
         final boolean homeBehind = (fullscreenStack != null && fullscreenStack.isVisible())
-                || (homeStackTasks.size() > 1 && topHomeStackTask != homeTask);
+                || (homeStack.hasMultipleTaskWithHomeTaskNotTop());
         // If the home task is an on-top launcher, we don't want to minimize the docked stack.
         // Instead we want everything underneath that was visible to remain visible.
         // See android.R.attr#onTopLauncher.
-        final boolean isOnTopLauncher = topHomeStackTask.isOnTopLauncher();
+        final boolean isOnTopLauncher = homeStack.topTaskIsOnTopLauncher();
         setMinimizedDockedStack(homeVisible && !homeBehind && !isOnTopLauncher, animate);
     }
 
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java
index 87ad639..cf31310 100644
--- a/services/core/java/com/android/server/wm/TaskStack.java
+++ b/services/core/java/com/android/server/wm/TaskStack.java
@@ -161,6 +161,14 @@
         return null;
     }
 
+    boolean hasMultipleTaskWithHomeTaskNotTop() {
+        return mTasks.size() > 1 && !mTasks.get(mTasks.size() - 1).isHomeTask();
+    }
+
+    boolean topTaskIsOnTopLauncher() {
+        return mTasks.get(mTasks.size() - 1).isOnTopLauncher();
+    }
+
     /**
      * Set the bounds of the stack and its containing tasks.
      * @param stackBounds New stack bounds. Passing in null sets the bounds to fullscreen.
diff --git a/services/core/java/com/android/server/wm/TaskTapPointerEventListener.java b/services/core/java/com/android/server/wm/TaskTapPointerEventListener.java
index 0310b97..dd9ba73 100644
--- a/services/core/java/com/android/server/wm/TaskTapPointerEventListener.java
+++ b/services/core/java/com/android/server/wm/TaskTapPointerEventListener.java
@@ -64,7 +64,7 @@
             case MotionEvent.ACTION_HOVER_MOVE: {
                 final int x = (int) motionEvent.getX();
                 final int y = (int) motionEvent.getY();
-                final Task task = mDisplayContent.findTaskForControlPoint(x, y);
+                final Task task = mDisplayContent.findTaskForResizePoint(x, y);
                 int iconType = TYPE_NOT_SPECIFIED;
                 if (task != null) {
                     task.getDimBounds(mTmpRect);
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index e45855a..1cc7dad 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -6699,7 +6699,7 @@
     private void handleTapOutsideTask(DisplayContent displayContent, int x, int y) {
         int taskId = -1;
         synchronized (mWindowMap) {
-            final Task task = displayContent.findTaskForControlPoint(x, y);
+            final Task task = displayContent.findTaskForResizePoint(x, y);
             if (task != null) {
                 if (!startPositioningLocked(
                         task.getTopVisibleAppMainWindow(), true /*resize*/, x, y)) {
diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
index 317bb35..22f39fb 100644
--- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
+++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java
@@ -560,7 +560,7 @@
 
         // Remove all deferred displays stacks, tasks, and activities.
         for (int displayNdx = mService.mDisplayContents.size() - 1; displayNdx >= 0; --displayNdx) {
-            mService.mDisplayContents.valueAt(displayNdx).checkForDeferredActions();
+            mService.mDisplayContents.valueAt(displayNdx).onCompleteDeferredRemoval();
         }
 
         if (updateInputWindowsNeeded) {
@@ -606,8 +606,6 @@
             final int displayId = displayContent.getDisplayId();
             final int dw = displayInfo.logicalWidth;
             final int dh = displayInfo.logicalHeight;
-            final int innerDw = displayInfo.appWidth;
-            final int innerDh = displayInfo.appHeight;
             final boolean isDefaultDisplay = (displayId == Display.DEFAULT_DISPLAY);
 
             // Reset for each display.
@@ -868,7 +866,7 @@
                     mPreferredModeId,
                     true /* inTraversal, must call performTraversalInTrans... below */);
 
-            mService.getDisplayContentLocked(displayId).stopDimmingIfNeeded();
+            displayContent.stopDimmingIfNeeded();
 
             if (updateAllDrawn) {
                 updateAllDrawnLocked(displayContent);