Manually compute all apps cell height in multi-window mode.

The All Apps cell height is set to match the Workspace.
This causes a problem in multi-window mode because only the
Workspace items do not have labels.

Bug: 63933609
Change-Id: I13be6e50c12d50465be0555721f273abfc0d836a
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index 38011ea..cb4ad55 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -266,9 +266,7 @@
                 isLandscape);
 
         // Hide labels on the workspace.
-        profile.iconTextSizePx = 0;
-        profile.cellHeightPx = profile.iconSizePx + profile.iconDrawablePaddingPx
-                + Utilities.calculateTextHeight(profile.iconTextSizePx);
+        profile.adjustToHideWorkspaceLabels();
 
         // We use these scales to measure and layout the widgets using their full invariant profile
         // sizes and then draw them scaled and centered to fit in their multi-window mode cellspans.
@@ -292,6 +290,24 @@
     }
 
     /**
+     * Adjusts the profile so that the labels on the Workspace are hidden.
+     * It is important to call this method after the All Apps variables have been set.
+     */
+    private void adjustToHideWorkspaceLabels() {
+        iconTextSizePx = 0;
+        iconDrawablePaddingPx = 0;
+        cellHeightPx = iconSizePx;
+
+        // In normal cases, All Apps cell height should equal the Workspace cell height.
+        // Since we are removing labels from the Workspace, we need to manually compute the
+        // All Apps cell height.
+        allAppsCellHeightPx = allAppsIconSizePx + allAppsIconDrawablePaddingPx
+                + Utilities.calculateTextHeight(allAppsIconTextSizePx)
+                // Top and bottom padding is equal to the drawable padding
+                + allAppsIconDrawablePaddingPx * 2;
+    }
+
+    /**
      * Determine the exact visual footprint of the all apps button, taking into account scaling
      * and internal padding of the drawable.
      */
@@ -329,14 +345,7 @@
 
         if (isVerticalBarLayout()) {
             // Always hide the Workspace text with vertical bar layout.
-            iconTextSizePx = 0;
-            iconDrawablePaddingPx = 0;
-
-            // Manually compute all apps cell height since workspace cells have less content.
-            allAppsCellHeightPx = allAppsIconSizePx + allAppsIconDrawablePaddingPx
-                    + Utilities.calculateTextHeight(allAppsIconTextSizePx)
-                    // Top and bottom padding is equal to the drawable padding
-                    + allAppsIconDrawablePaddingPx * 2;
+            adjustToHideWorkspaceLabels();
         }
 
         cellWidthPx = iconSizePx + iconDrawablePaddingPx;